Reland "More entrypoint handling cleanup."
This reverts commit 8cedd8b45854cb971510a435909573a5855092d2.
Reason for revert: Fixed test
Change-Id: I551912891b65cac9927dcdb89033113f290d913c
diff --git a/runtime/method_handles.cc b/runtime/method_handles.cc
index 19f43f9..76ad139 100644
--- a/runtime/method_handles.cc
+++ b/runtime/method_handles.cc
@@ -514,15 +514,13 @@
}
}
- bool use_interpreter_entrypoint = ClassLinker::ShouldUseInterpreterEntrypoint(
- called_method, called_method->GetEntryPointFromQuickCompiledCode());
PerformCall(self,
accessor,
shadow_frame.GetMethod(),
first_dest_reg,
new_shadow_frame,
result,
- use_interpreter_entrypoint);
+ interpreter::ShouldStayInSwitchInterpreter(called_method));
if (self->IsExceptionPending()) {
return false;
}
@@ -611,15 +609,13 @@
new_shadow_frame->SetVRegReference(0, receiver.Get());
new_shadow_frame->SetVRegReference(1, sf.Get());
- bool use_interpreter_entrypoint = ClassLinker::ShouldUseInterpreterEntrypoint(
- called_method, called_method->GetEntryPointFromQuickCompiledCode());
PerformCall(self,
accessor,
shadow_frame.GetMethod(),
0 /* first destination register */,
new_shadow_frame,
result,
- use_interpreter_entrypoint);
+ interpreter::ShouldStayInSwitchInterpreter(called_method));
if (self->IsExceptionPending()) {
return false;
}
@@ -1232,15 +1228,13 @@
first_dest_reg);
self->EndAssertNoThreadSuspension(old_cause);
- bool use_interpreter_entrypoint = ClassLinker::ShouldUseInterpreterEntrypoint(
- called_method, called_method->GetEntryPointFromQuickCompiledCode());
PerformCall(self,
accessor,
called_method,
first_dest_reg,
new_shadow_frame,
result,
- use_interpreter_entrypoint);
+ interpreter::ShouldStayInSwitchInterpreter(called_method));
if (self->IsExceptionPending()) {
return false;
}