diff options
Diffstat (limited to 'runtime/instrumentation.cc')
| -rw-r--r-- | runtime/instrumentation.cc | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/runtime/instrumentation.cc b/runtime/instrumentation.cc index d25893f4c9..4196e19383 100644 --- a/runtime/instrumentation.cc +++ b/runtime/instrumentation.cc @@ -162,7 +162,7 @@ Instrumentation::Instrumentation() have_branch_listeners_(false), have_invoke_virtual_or_interface_listeners_(false), have_exception_handled_listeners_(false), - deoptimized_methods_lock_("deoptimized methods lock", kDeoptimizedMethodsLock), + deoptimized_methods_lock_("deoptimized methods lock", kGenericBottomLock), deoptimization_enabled_(false), interpreter_handler_table_(kMainHandlerTable), quick_alloc_entry_points_instrumentation_counter_(0), @@ -225,14 +225,7 @@ void Instrumentation::InstallStubsForMethod(ArtMethod* method) { if ((forced_interpret_only_ || IsDeoptimized(method)) && !method->IsNative()) { new_quick_code = GetQuickToInterpreterBridge(); } else if (is_class_initialized || !method->IsStatic() || method->IsConstructor()) { - // It would be great to search the JIT for its implementation here but we cannot due to the - // locks we hold. Instead just set to the interpreter bridge and that code will search the JIT - // when it gets called and replace the entrypoint then. - if (NeedDebugVersionFor(method)) { - new_quick_code = GetQuickToInterpreterBridge(); - } else { - new_quick_code = class_linker->GetQuickOatCodeFor(method); - } + new_quick_code = GetCodeForInvoke(method); } else { new_quick_code = GetQuickResolutionStub(); } |