summaryrefslogtreecommitdiffstats
path: root/runtime/runtime.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-03-25 09:29:43 -0700
committerMathieu Chartier <mathieuc@google.com>2014-03-25 13:56:58 -0700
commit3b05e9ba874449dbff65b01b8781001f7d93eea6 (patch)
treef341766bff83ebea510344c4857af493725d3f58 /runtime/runtime.cc
parent027f7fa539514d2a50b448de1de39ac307087483 (diff)
downloadart-3b05e9ba874449dbff65b01b8781001f7d93eea6.zip
art-3b05e9ba874449dbff65b01b8781001f7d93eea6.tar.gz
art-3b05e9ba874449dbff65b01b8781001f7d93eea6.tar.bz2
Add missing debugger root visiting.
Bug: 13634574 Change-Id: I2a76f6c43f1d0ad1922f06deb40a71ff651129fd
Diffstat (limited to 'runtime/runtime.cc')
-rw-r--r--runtime/runtime.cc4
1 files changed, 3 insertions, 1 deletions
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) {