summaryrefslogtreecommitdiffstats
path: root/runtime/mirror/abstract_method-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/mirror/abstract_method-inl.h')
-rw-r--r--runtime/mirror/abstract_method-inl.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/runtime/mirror/abstract_method-inl.h b/runtime/mirror/abstract_method-inl.h
index a823886..39fc89e 100644
--- a/runtime/mirror/abstract_method-inl.h
+++ b/runtime/mirror/abstract_method-inl.h
@@ -114,17 +114,21 @@ inline void AbstractMethod::AssertPcIsWithinCode(uintptr_t pc) const {
if (IsNative() || IsRuntimeMethod() || IsProxyMethod()) {
return;
}
- if (GetEntryPointFromCompiledCode() == GetInterpreterEntryPoint()) {
+ if (pc == GetInstrumentationExitPc()) {
+ return;
+ }
+ const void* code = GetEntryPointFromCompiledCode();
+ if (code == GetInterpreterEntryPoint() || code == GetInstrumentationEntryPoint()) {
return;
}
ClassLinker* class_linker = Runtime::Current()->GetClassLinker();
- if (GetEntryPointFromCompiledCode() == GetResolutionTrampoline(class_linker)) {
- return;
+ if (code == GetResolutionTrampoline(class_linker)) {
+ return;
}
DCHECK(IsWithinCode(pc))
<< PrettyMethod(this)
<< " pc=" << std::hex << pc
- << " code=" << GetEntryPointFromCompiledCode()
+ << " code=" << code
<< " size=" << GetCodeSize();
}