summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.cc
diff options
context:
space:
mode:
author Calin Juravle <calin@google.com> 2015-10-06 16:38:30 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-10-06 16:38:30 +0000
commit92c4fc2518b582b8c28c32d53ca5c1738b4eb37a (patch)
treee66e85c7c58fbe08bdd7f87cca884553e7c06447 /compiler/optimizing/code_generator.cc
parent6e3a83880045aae045e9a3689244be12b680063a (diff)
parent580b609cd6cfef46108156457df42254d11e72a7 (diff)
Merge "Fix location summary for LoadClass"
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r--compiler/optimizing/code_generator.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc
index 00f316cf98..1da2a07462 100644
--- a/compiler/optimizing/code_generator.cc
+++ b/compiler/optimizing/code_generator.cc
@@ -547,11 +547,12 @@ void CodeGenerator::CreateLoadClassLocationSummary(HLoadClass* cls,
? LocationSummary::kCallOnSlowPath
: LocationSummary::kNoCall);
LocationSummary* locations = new (allocator) LocationSummary(cls, call_kind);
- locations->SetInAt(0, Location::RequiresRegister());
if (cls->NeedsAccessCheck()) {
+ locations->SetInAt(0, Location::NoLocation());
locations->AddTemp(runtime_type_index_location);
locations->SetOut(runtime_return_location);
} else {
+ locations->SetInAt(0, Location::RequiresRegister());
locations->SetOut(Location::RequiresRegister());
}
}