diff options
| author | 2015-11-04 09:29:53 +0000 | |
|---|---|---|
| committer | 2015-11-04 09:29:53 +0000 | |
| commit | 147bc832ca81c4297c38c14eb7d5a8e281d4483d (patch) | |
| tree | 242caa3275a0f191f21bbdb71430e140a79d9b94 /compiler/optimizing | |
| parent | f33ea7911dadab2e49c4634cb1763f0526047e89 (diff) | |
| parent | 934808feba1a56114cb48ee71c4ad1b9a63a3f84 (diff) | |
Merge "Fix mips32oc ArraySet null constant assignment"
Diffstat (limited to 'compiler/optimizing')
| -rw-r--r-- | compiler/optimizing/code_generator_mips.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/compiler/optimizing/code_generator_mips.cc b/compiler/optimizing/code_generator_mips.cc index 29d08beb97..8106499c02 100644 --- a/compiler/optimizing/code_generator_mips.cc +++ b/compiler/optimizing/code_generator_mips.cc @@ -1732,12 +1732,11 @@ void InstructionCodeGeneratorMIPS::VisitArrayLength(HArrayLength* instruction) { } void LocationsBuilderMIPS::VisitArraySet(HArraySet* instruction) { - Primitive::Type value_type = instruction->GetComponentType(); - bool is_object = value_type == Primitive::kPrimNot; + bool needs_runtime_call = instruction->NeedsTypeCheck(); LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary( instruction, - is_object ? LocationSummary::kCall : LocationSummary::kNoCall); - if (is_object) { + needs_runtime_call ? LocationSummary::kCall : LocationSummary::kNoCall); + if (needs_runtime_call) { InvokeRuntimeCallingConvention calling_convention; locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetRegisterAt(0))); locations->SetInAt(1, Location::RegisterLocation(calling_convention.GetRegisterAt(1))); |