diff options
Diffstat (limited to 'runtime/mirror/abstract_method-inl.h')
-rw-r--r-- | runtime/mirror/abstract_method-inl.h | 12 |
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(); } |