diff options
author | 2015-11-06 14:18:27 +0000 | |
---|---|---|
committer | 2015-11-06 16:05:42 +0000 | |
commit | a5891e81a2fb833307cf7c7e7267070dc0223dc8 (patch) | |
tree | a7acb2a0f2836fee2729db2b795d15bb3f586863 /compiler/jit/jit_compiler.cc | |
parent | 2fa684206b0a8bd203d07e1edf74a839b498f74f (diff) |
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
Diffstat (limited to 'compiler/jit/jit_compiler.cc')
-rw-r--r-- | compiler/jit/jit_compiler.cc | 3 |
1 files changed, 2 insertions, 1 deletions
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; } |