diff options
Diffstat (limited to 'runtime/fault_handler.cc')
-rw-r--r-- | runtime/fault_handler.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/fault_handler.cc b/runtime/fault_handler.cc index 94753d4..83f3ae1 100644 --- a/runtime/fault_handler.cc +++ b/runtime/fault_handler.cc @@ -340,7 +340,8 @@ bool FaultManager::IsInGeneratedCode(siginfo_t* siginfo, void* context, bool che // TODO: check the GC maps to make sure it's an object. // Check that the class pointer inside the object is not null and is aligned. // TODO: Method might be not a heap address, and GetClass could fault. - mirror::Class* cls = method_obj->GetClass<kVerifyNone>(); + // No read barrier because method_obj may not be a real object. + mirror::Class* cls = method_obj->GetClass<kVerifyNone, kWithoutReadBarrier>(); if (cls == nullptr) { VLOG(signals) << "not a class"; return false; @@ -440,4 +441,3 @@ bool JavaStackTraceHandler::Action(int sig, siginfo_t* siginfo, void* context) { } } // namespace art - |