summaryrefslogtreecommitdiff
path: root/compiler/optimizing/builder.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-10-31 14:24:05 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-10-31 14:24:06 +0000
commita9014f977ae90373f5bad4cf812c2bda810b10f8 (patch)
tree40f4bc76cb5e7cf9c95fced70b1ad5c2c2d39f4e /compiler/optimizing/builder.cc
parent8b557af85871e5086589afd2b3a17089d0f67df8 (diff)
parentb5f62b3dc5ac2731ba8ad53cdf3d9bdb14fbf86b (diff)
Merge "Support for CONST_STRING in optimizing compiler."
Diffstat (limited to 'compiler/optimizing/builder.cc')
-rw-r--r--compiler/optimizing/builder.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc
index e4ccd9651b..434d9efbcf 100644
--- a/compiler/optimizing/builder.cc
+++ b/compiler/optimizing/builder.cc
@@ -1173,6 +1173,18 @@ bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction, uint32
break;
}
+ case Instruction::CONST_STRING: {
+ current_block_->AddInstruction(new (arena_) HLoadString(instruction.VRegB_21c(), dex_offset));
+ UpdateLocal(instruction.VRegA_21c(), current_block_->GetLastInstruction());
+ break;
+ }
+
+ case Instruction::CONST_STRING_JUMBO: {
+ current_block_->AddInstruction(new (arena_) HLoadString(instruction.VRegB_31c(), dex_offset));
+ UpdateLocal(instruction.VRegA_31c(), current_block_->GetLastInstruction());
+ break;
+ }
+
default:
return false;
}