summaryrefslogtreecommitdiffstats
path: root/runtime/debugger.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2015-03-13 17:21:25 -0700
committerMathieu Chartier <mathieuc@google.com>2015-03-13 17:32:48 -0700
commitbf9fc581e8870faddbd320a935f9a627da724c48 (patch)
tree0a4a6c21fbd4c771b06fac186d32efa6722605b2 /runtime/debugger.cc
parent3d96846b6adedf57be64eb3873de0ca58ec4b827 (diff)
downloadandroid_art-bf9fc581e8870faddbd320a935f9a627da724c48.tar.gz
android_art-bf9fc581e8870faddbd320a935f9a627da724c48.tar.bz2
android_art-bf9fc581e8870faddbd320a935f9a627da724c48.zip
Add more info to who called SuspendAll
Helps diagnose related jank. Change-Id: I38191cdda723c6f0355d0197c494a3dff2b6653c
Diffstat (limited to 'runtime/debugger.cc')
-rw-r--r--runtime/debugger.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/runtime/debugger.cc b/runtime/debugger.cc
index 9f2a09bf22..6296cf5c68 100644
--- a/runtime/debugger.cc
+++ b/runtime/debugger.cc
@@ -644,7 +644,7 @@ void Dbg::GoActive() {
}
Runtime* runtime = Runtime::Current();
- runtime->GetThreadList()->SuspendAll();
+ runtime->GetThreadList()->SuspendAll(__FUNCTION__);
Thread* self = Thread::Current();
ThreadState old_state = self->SetStateUnsafe(kRunnable);
CHECK_NE(old_state, kRunnable);
@@ -668,7 +668,7 @@ void Dbg::Disconnected() {
// to kRunnable to avoid scoped object access transitions. Remove the debugger as a listener
// and clear the object registry.
Runtime* runtime = Runtime::Current();
- runtime->GetThreadList()->SuspendAll();
+ runtime->GetThreadList()->SuspendAll(__FUNCTION__);
Thread* self = Thread::Current();
ThreadState old_state = self->SetStateUnsafe(kRunnable);
@@ -819,7 +819,7 @@ JDWP::JdwpError Dbg::GetMonitorInfo(JDWP::ObjectId object_id, JDWP::ExpandBuf* r
Thread* self = Thread::Current();
CHECK_EQ(self->GetState(), kRunnable);
self->TransitionFromRunnableToSuspended(kSuspended);
- Runtime::Current()->GetThreadList()->SuspendAll();
+ Runtime::Current()->GetThreadList()->SuspendAll(__FUNCTION__);
MonitorInfo monitor_info(o);
@@ -3135,7 +3135,7 @@ void Dbg::ManageDeoptimization() {
self->TransitionFromRunnableToSuspended(kWaitingForDeoptimization);
// We need to suspend mutator threads first.
Runtime* const runtime = Runtime::Current();
- runtime->GetThreadList()->SuspendAll();
+ runtime->GetThreadList()->SuspendAll(__FUNCTION__);
const ThreadState old_state = self->SetStateUnsafe(kRunnable);
{
MutexLock mu(self, *Locks::deoptimization_lock_);
@@ -4436,7 +4436,7 @@ void Dbg::DdmSendHeapSegments(bool native) {
// RosAlloc's internal logic doesn't know to release and reacquire the heap bitmap lock.
self->TransitionFromRunnableToSuspended(kSuspended);
ThreadList* tl = Runtime::Current()->GetThreadList();
- tl->SuspendAll();
+ tl->SuspendAll(__FUNCTION__);
{
ReaderMutexLock mu(self, *Locks::heap_bitmap_lock_);
space->AsRosAllocSpace()->Walk(HeapChunkContext::HeapChunkJavaCallback, &context);
@@ -4452,7 +4452,7 @@ void Dbg::DdmSendHeapSegments(bool native) {
heap->IncrementDisableMovingGC(self);
self->TransitionFromRunnableToSuspended(kSuspended);
ThreadList* tl = Runtime::Current()->GetThreadList();
- tl->SuspendAll();
+ tl->SuspendAll(__FUNCTION__);
ReaderMutexLock mu(self, *Locks::heap_bitmap_lock_);
context.SetChunkOverhead(0);
space->AsRegionSpace()->Walk(BumpPointerSpaceCallback, &context);