diff options
author | 2016-11-02 12:29:36 +0000 | |
---|---|---|
committer | 2016-11-02 12:29:37 +0000 | |
commit | 845c84823f3516ffa53f3ca6e679b3354c046eca (patch) | |
tree | 46a59ea3e9032b35d34e475510579699950df723 /compiler/optimizing | |
parent | 6409f588d144d5c564dbb2e3658b8622f81230c6 (diff) | |
parent | bb51df8ae540347e4d2cbaa2d7def950dd11fe61 (diff) |
Merge "MIPS32: Fix string loads that use kDexCacheViaMethod."
Diffstat (limited to 'compiler/optimizing')
-rw-r--r-- | compiler/optimizing/code_generator_mips.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_mips.cc b/compiler/optimizing/code_generator_mips.cc index f4a804f70c..12b1ab9abb 100644 --- a/compiler/optimizing/code_generator_mips.cc +++ b/compiler/optimizing/code_generator_mips.cc @@ -5695,7 +5695,12 @@ void LocationsBuilderMIPS::VisitLoadString(HLoadString* load) { default: break; } - locations->SetOut(Location::RequiresRegister()); + if (load_kind == HLoadString::LoadKind::kDexCacheViaMethod) { + InvokeRuntimeCallingConvention calling_convention; + locations->SetOut(calling_convention.GetReturnLocation(load->GetType())); + } else { + locations->SetOut(Location::RequiresRegister()); + } } void InstructionCodeGeneratorMIPS::VisitLoadString(HLoadString* load) { |