summaryrefslogtreecommitdiff
path: root/compiler/optimizing
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2016-11-02 12:29:36 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-11-02 12:29:37 +0000
commit845c84823f3516ffa53f3ca6e679b3354c046eca (patch)
tree46a59ea3e9032b35d34e475510579699950df723 /compiler/optimizing
parent6409f588d144d5c564dbb2e3658b8622f81230c6 (diff)
parentbb51df8ae540347e4d2cbaa2d7def950dd11fe61 (diff)
Merge "MIPS32: Fix string loads that use kDexCacheViaMethod."
Diffstat (limited to 'compiler/optimizing')
-rw-r--r--compiler/optimizing/code_generator_mips.cc7
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) {