From a5891e81a2fb833307cf7c7e7267070dc0223dc8 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Fri, 6 Nov 2015 14:18:27 +0000 Subject: Fix interaction between JIT and instrumentation. - The JIT needs to go through the instrumentation to update entry points. - The instrumention needs to know if a method got JITted to know if needs to deoptimize. bug:25438583 Change-Id: I4b186a1da9f4a3fb329efd052a774d5502a902a1 --- compiler/jit/jit_compiler.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compiler/jit/jit_compiler.cc') diff --git a/compiler/jit/jit_compiler.cc b/compiler/jit/jit_compiler.cc index 5f4f47292b..2125c9a26a 100644 --- a/compiler/jit/jit_compiler.cc +++ b/compiler/jit/jit_compiler.cc @@ -177,7 +177,8 @@ bool JitCompiler::CompileMethod(Thread* self, ArtMethod* method) { } // Don't compile the method if we are supposed to be deoptimized. - if (runtime->GetInstrumentation()->AreAllMethodsDeoptimized()) { + instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); + if (instrumentation->AreAllMethodsDeoptimized() || instrumentation->IsDeoptimized(method)) { return false; } -- cgit v1.2.3-59-g8ed1b