From 262e5ffa1d4b23f23af3dea762a71a0af4bfd4a9 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Fri, 1 Jun 2012 17:35:38 -0700 Subject: Enable card cleaning Cards which do not map to image spaces are now cleared at the start of GC. Cards which map to image spaces are now processed when we go through all the dirty cards after recursive mark. Dirty cards are handled based on if they are either image space cards or cards invalidated by mutators during CMS. Change-Id: I6c2dc177ebd3f7dc7bbbbd19ae67221371851ebe --- src/class_linker.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/class_linker.cc') diff --git a/src/class_linker.cc b/src/class_linker.cc index 000e2a5280..98d5fe0c9d 100644 --- a/src/class_linker.cc +++ b/src/class_linker.cc @@ -939,7 +939,9 @@ void ClassLinker::VisitRoots(Heap::RootVisitor* visitor, void* arg) const { for (It it = classes_.begin(), end = classes_.end(); it != end; ++it) { visitor(it->second, arg); } - // Note. we deliberately ignore the class roots in the image (held in image_classes_) + + // We deliberately ignore the class roots in the image since we + // handle image roots by using the MS/CMS rescanning of dirty cards. } visitor(array_iftable_, arg); -- cgit v1.2.3-59-g8ed1b