Fix cases where we miss instrumentation changes
Moved allocation stack push to after we record the allocation since it can cause thread suspension. Added handling in entrypoint utils for thread suspension cases. Keep the AllocRecordObjectMap around since we do not want to delete it if there are any threads waiting on new_record_condition_. The condition guards adding stack traces while the GC is running. If we delete the map and there are still waiters that did not resume, it caused a CHECK failure. This could happen in cases where one thread disables allocation tracking while other threads are about to resume from the condition. Bug: 27506909 (cherry picked from commit 0f394021) Change-Id: I1dc51e9f000684b4032b57beab59d317ece26f06
Loading
Please sign in to comment