summaryrefslogtreecommitdiffstats
path: root/compiler/dex
diff options
context:
space:
mode:
authorbuzbee <buzbee@google.com>2015-02-27 21:29:54 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-02-27 21:29:55 +0000
commit8376830b762fbe974a9ddd2d43c640655883c7ab (patch)
tree213f427d1c6c291340693c0e4f6b6a746d47277b /compiler/dex
parent02abb5075f3085e69c0c81fb5724c066f6c845b7 (diff)
parent4de86d0987139153ae0e2d50dbbefde2ce34ee87 (diff)
downloadart-8376830b762fbe974a9ddd2d43c640655883c7ab.zip
art-8376830b762fbe974a9ddd2d43c640655883c7ab.tar.gz
art-8376830b762fbe974a9ddd2d43c640655883c7ab.tar.bz2
Merge "Handle another untyped dex CONST issue"
Diffstat (limited to 'compiler/dex')
-rw-r--r--compiler/dex/quick/mir_to_lir.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/dex/quick/mir_to_lir.cc b/compiler/dex/quick/mir_to_lir.cc
index 966a92d..8348626 100644
--- a/compiler/dex/quick/mir_to_lir.cc
+++ b/compiler/dex/quick/mir_to_lir.cc
@@ -587,6 +587,9 @@ void Mir2Lir::CompileDalvikInstruction(MIR* mir, BasicBlock* bb, LIR* label_list
case Instruction::MOVE_FROM16:
case Instruction::MOVE_OBJECT_FROM16:
StoreValue(rl_dest, rl_src[0]);
+ if (rl_src[0].is_const && (mir_graph_->ConstantValue(rl_src[0]) == 0)) {
+ Workaround7250540(rl_dest, RegStorage::InvalidReg());
+ }
break;
case Instruction::MOVE_WIDE: