From 3b05e9ba874449dbff65b01b8781001f7d93eea6 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Tue, 25 Mar 2014 09:29:43 -0700 Subject: Add missing debugger root visiting. Bug: 13634574 Change-Id: I2a76f6c43f1d0ad1922f06deb40a71ff651129fd --- runtime/runtime.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'runtime/runtime.cc') diff --git a/runtime/runtime.cc b/runtime/runtime.cc index 21d79c3..a8da2f8 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -839,7 +839,7 @@ void Runtime::DetachCurrentThread() { void Runtime::VisitConstantRoots(RootCallback* callback, void* arg) { // Visit the classes held as static in mirror classes, these can be visited concurrently and only - // need to be visited once since they never change. + // need to be visited once per GC since they never change. mirror::ArtField::VisitRoots(callback, arg); mirror::ArtMethod::VisitRoots(callback, arg); mirror::Class::VisitRoots(callback, arg); @@ -860,6 +860,7 @@ void Runtime::VisitConstantRoots(RootCallback* callback, void* arg) { void Runtime::VisitConcurrentRoots(RootCallback* callback, void* arg, VisitRootFlags flags) { intern_table_->VisitRoots(callback, arg, flags); class_linker_->VisitRoots(callback, arg, flags); + Dbg::VisitRoots(callback, arg); if ((flags & kVisitRootFlagNewRoots) == 0) { // Guaranteed to have no new roots in the constant roots. VisitConstantRoots(callback, arg); @@ -896,6 +897,7 @@ void Runtime::VisitNonThreadRoots(RootCallback* callback, void* arg) { if (preinitialization_transaction != nullptr) { preinitialization_transaction->VisitRoots(callback, arg); } + instrumentation_.VisitRoots(callback, arg); } void Runtime::VisitNonConcurrentRoots(RootCallback* callback, void* arg) { -- cgit v1.1