summaryrefslogtreecommitdiff
path: root/runtime/stack.cc
diff options
context:
space:
mode:
author Mingyao Yang <mingyao@google.com> 2017-06-05 20:15:51 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-06-05 20:15:53 +0000
commit82c6933a59b7d9fcc211ed8ef56a6c7eefa61dfc (patch)
treedc4e163316591ea1ff3984bcd119b4de73a2e33f /runtime/stack.cc
parent81c769436a89b25c781eb2da882f11fd8d11f84d (diff)
parent88ca8ba34bbf9d355035330572cc1c3624de022c (diff)
Merge "Relax an assert in AssertPcIsWithinQuickCode()"
Diffstat (limited to 'runtime/stack.cc')
-rw-r--r--runtime/stack.cc9
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;
}