summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2015-06-04 17:17:45 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-06-04 17:17:45 +0000
commit6a1c92f1e4a455d802ab0d0ac47504cdd7c12f0f (patch)
tree4804c678aecf7be4e77b4fa4adaddebe421095f3 /compiler/optimizing/code_generator.cc
parent8a9fba9154310ddc8024150ca8cd5a7c4b76b71b (diff)
parentc345f141f11faad177aa9635a78088d00cf66086 (diff)
Merge "Revert "Use HCurrentMethod in HInvokeStaticOrDirect.""
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r--compiler/optimizing/code_generator.cc15
1 files changed, 1 insertions, 14 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc
index 049b3e3a40..08c0351eab 100644
--- a/compiler/optimizing/code_generator.cc
+++ b/compiler/optimizing/code_generator.cc
@@ -292,6 +292,7 @@ void CodeGenerator::CreateCommonInvokeLocationSummary(
HInvoke* invoke, InvokeDexCallingConventionVisitor* visitor) {
ArenaAllocator* allocator = invoke->GetBlock()->GetGraph()->GetArena();
LocationSummary* locations = new (allocator) LocationSummary(invoke, LocationSummary::kCall);
+ locations->AddTemp(visitor->GetMethodLocation());
for (size_t i = 0; i < invoke->GetNumberOfArguments(); i++) {
HInstruction* input = invoke->InputAt(i);
@@ -299,20 +300,6 @@ void CodeGenerator::CreateCommonInvokeLocationSummary(
}
locations->SetOut(visitor->GetReturnLocation(invoke->GetType()));
-
- if (invoke->IsInvokeStaticOrDirect()) {
- HInvokeStaticOrDirect* call = invoke->AsInvokeStaticOrDirect();
- if (call->IsStringInit()) {
- locations->AddTemp(visitor->GetMethodLocation());
- } else if (call->IsRecursive()) {
- locations->SetInAt(call->GetCurrentMethodInputIndex(), visitor->GetMethodLocation());
- } else {
- locations->AddTemp(visitor->GetMethodLocation());
- locations->SetInAt(call->GetCurrentMethodInputIndex(), Location::RequiresRegister());
- }
- } else {
- locations->AddTemp(visitor->GetMethodLocation());
- }
}
void CodeGenerator::BlockIfInRegister(Location location, bool is_out) const {