From db14fcf45effb7dd4b3febd697ff5f0541119835 Mon Sep 17 00:00:00 2001 From: Aart Bik Date: Tue, 25 Apr 2017 15:53:58 -0700 Subject: Pack booleans in the already existing bit field. Also adds is_string_char_at boolean in preparation of [un]compressed string vectorization support. Test: test-art-target, test-art-host Change-Id: Ia99b28564727bf91b3d5cfc49f6d40a4dd1ffd3b --- compiler/optimizing/loop_optimization.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'compiler/optimizing/loop_optimization.cc') 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); -- cgit v1.2.3-59-g8ed1b