summaryrefslogtreecommitdiff
path: root/compiler/optimizing/loop_optimization.cc
diff options
context:
space:
mode:
author Aart Bik <ajcbik@google.com> 2017-04-27 20:59:14 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-04-27 20:59:16 +0000
commitec0c057557836d2848399f43908d1e1e4977f355 (patch)
treec09b8bf84d26be2975a9215036794ddfecc95ce6 /compiler/optimizing/loop_optimization.cc
parent04471122e705aba2b3b30651457097a8f3ac97b6 (diff)
parentdb14fcf45effb7dd4b3febd697ff5f0541119835 (diff)
Merge "Pack booleans in the already existing bit field."
Diffstat (limited to 'compiler/optimizing/loop_optimization.cc')
-rw-r--r--compiler/optimizing/loop_optimization.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc
index 5a95abdb50..da2acd1fd3 100644
--- a/compiler/optimizing/loop_optimization.cc
+++ b/compiler/optimizing/loop_optimization.cc
@@ -1001,8 +1001,9 @@ void HLoopOptimization::GenerateVecMem(HInstruction* org,
vector = new (global_allocator_) HVecStore(
global_allocator_, org->InputAt(0), opa, opb, type, vector_length_);
} else {
+ bool is_string_char_at = org->AsArrayGet()->IsStringCharAt();
vector = new (global_allocator_) HVecLoad(
- global_allocator_, org->InputAt(0), opa, type, vector_length_);
+ global_allocator_, org->InputAt(0), opa, type, vector_length_, is_string_char_at);
}
} else {
// Scalar store or load.
@@ -1010,7 +1011,9 @@ void HLoopOptimization::GenerateVecMem(HInstruction* org,
if (opb != nullptr) {
vector = new (global_allocator_) HArraySet(org->InputAt(0), opa, opb, type, kNoDexPc);
} else {
- vector = new (global_allocator_) HArrayGet(org->InputAt(0), opa, type, kNoDexPc);
+ bool is_string_char_at = org->AsArrayGet()->IsStringCharAt();
+ vector = new (global_allocator_) HArrayGet(
+ org->InputAt(0), opa, type, kNoDexPc, is_string_char_at);
}
}
vector_map_->Put(org, vector);