summaryrefslogtreecommitdiff
path: root/runtime/method_handles.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/method_handles.cc')
-rw-r--r--runtime/method_handles.cc12
1 files changed, 3 insertions, 9 deletions
diff --git a/runtime/method_handles.cc b/runtime/method_handles.cc
index 19f43f97a9..76ad139da9 100644
--- a/runtime/method_handles.cc
+++ b/runtime/method_handles.cc
@@ -514,15 +514,13 @@ static inline bool MethodHandleInvokeMethod(ArtMethod* called_method,
}
}
- 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 @@ static inline bool MethodHandleInvokeTransform(ArtMethod* called_method,
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 @@ static inline bool MethodHandleInvokeExactInternal(
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;
}