diff options
Diffstat (limited to 'runtime/method_handles.cc')
| -rw-r--r-- | runtime/method_handles.cc | 12 |
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; } |