diff options
| -rw-r--r-- | runtime/stack.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/runtime/stack.cc b/runtime/stack.cc index 8fcac1ea7f..aedcc1eb03 100644 --- a/runtime/stack.cc +++ b/runtime/stack.cc @@ -621,6 +621,12 @@ static void AssertPcIsWithinQuickCode(ArtMethod* method, uintptr_t pc) return; } + Runtime* runtime = Runtime::Current(); + if (runtime->UseJitCompilation() && + runtime->GetJit()->GetCodeCache()->ContainsPc(reinterpret_cast<const void*>(pc))) { + return; + } + const void* code = method->GetEntryPointFromQuickCompiledCode(); if (code == GetQuickInstrumentationEntryPoint() || code == GetInvokeObsoleteMethodStub()) { return; @@ -632,9 +638,6 @@ static void AssertPcIsWithinQuickCode(ArtMethod* method, uintptr_t pc) return; } - // If we are the JIT then we may have just compiled the method after the - // IsQuickToInterpreterBridge check. - Runtime* runtime = Runtime::Current(); if (runtime->UseJitCompilation() && runtime->GetJit()->GetCodeCache()->ContainsPc(code)) { return; } |