diff options
| -rw-r--r-- | runtime/jit/jit_code_cache.cc | 5 | ||||
| -rw-r--r-- | runtime/jit/jit_instrumentation.cc | 10 |
2 files changed, 4 insertions, 11 deletions
diff --git a/runtime/jit/jit_code_cache.cc b/runtime/jit/jit_code_cache.cc index 9aaef658a5..4500dbdf67 100644 --- a/runtime/jit/jit_code_cache.cc +++ b/runtime/jit/jit_code_cache.cc @@ -622,10 +622,7 @@ void JitCodeCache::GarbageCollectCache(Thread* self) { bool next_collection_will_be_full = ShouldDoFullCollection(); // Start polling the liveness of compiled code to prepare for the next full collection. - // We avoid doing this if exit stubs are installed to not mess with the instrumentation. - // TODO(ngeoffray): Clean up instrumentation and code cache interactions. - if (!Runtime::Current()->GetInstrumentation()->AreExitStubsInstalled() && - next_collection_will_be_full) { + if (next_collection_will_be_full) { // Save the entry point of methods we have compiled, and update the entry // point of those methods to the interpreter. If the method is invoked, the // interpreter will update its entry point to the compiled code and call it. diff --git a/runtime/jit/jit_instrumentation.cc b/runtime/jit/jit_instrumentation.cc index f2ced18c9b..86761e402f 100644 --- a/runtime/jit/jit_instrumentation.cc +++ b/runtime/jit/jit_instrumentation.cc @@ -184,13 +184,9 @@ void JitInstrumentationListener::MethodEntered(Thread* thread, } ProfilingInfo* profiling_info = method->GetProfilingInfo(sizeof(void*)); - // Update the entrypoint if the ProfilingInfo has one. The interpreter will call it - // instead of interpreting the method. - // We avoid doing this if exit stubs are installed to not mess with the instrumentation. - // TODO(ngeoffray): Clean up instrumentation and code cache interactions. - if ((profiling_info != nullptr) && - (profiling_info->GetSavedEntryPoint() != nullptr) && - !Runtime::Current()->GetInstrumentation()->AreExitStubsInstalled()) { + if ((profiling_info != nullptr) && (profiling_info->GetSavedEntryPoint() != nullptr)) { + // Update the entrypoint if the ProfilingInfo has one. The interpreter will call it + // instead of interpreting the method. method->SetEntryPointFromQuickCompiledCode(profiling_info->GetSavedEntryPoint()); } else { instrumentation_cache_->AddSamples(thread, method, 1); |