Store method as ArtMethod* instead of jmethodId in Breakpoint
Previously we needed a ScopedObjectAccess for Dbg::VisitRoots, this could cause deadlocks in the following scenario: GC: Goes to runnable state while holding mutator lock as shared held. This occurred in Dbg::VisitRoots when calling Breakpoint::Method. Other thread: Calls SuspendAll and suspends the GC thread before it can go back to suspended thread state. This thread then attempts to exclusive lock mutator lock, but the GC is suspended while holding it in a shared state. Bug: 25336094 Change-Id: Idcb8d34c314b1d6951abe533a0cfa586cc07d7d6
Loading
Please sign in to comment