Visit all roots in the UnreachableObjectsFilter.
authormikhail.naganov@gmail.com <mikhail.naganov@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 11 Jan 2011 12:38:19 +0000 (12:38 +0000)
committermikhail.naganov@gmail.com <mikhail.naganov@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 11 Jan 2011 12:38:19 +0000 (12:38 +0000)
If an object is only referenced from DOM wrappers, it can only
be seen if all roots are visited.

Review URL: http://codereview.chromium.org/6226004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/heap.cc
src/profile-generator.cc

index 5832ccbb3900a7a9227397bdad8c3cd1032b15ec..156e38318078cf0a22f01373cf07746323c730fc 100644 (file)
@@ -5029,7 +5029,7 @@ class UnreachableObjectsFilter : public HeapObjectsFilter {
       obj->SetMark();
     }
     UnmarkingVisitor visitor;
-    Heap::IterateRoots(&visitor, VISIT_ONLY_STRONG);
+    Heap::IterateRoots(&visitor, VISIT_ALL);
     while (visitor.can_process())
       visitor.ProcessNext();
   }
index 34d18771cf1f0664acf09511fa93bd115d446a20..4476cb876c16a303596cdba83bce39e6d05e4b38 100644 (file)
@@ -2385,7 +2385,7 @@ bool HeapSnapshotGenerator::IterateAndExtractReferences() {
   if (interrupted) return false;
   SetRootGcRootsReference();
   RootsReferencesExtractor extractor(this);
-  Heap::IterateRoots(&extractor, VISIT_ONLY_STRONG);
+  Heap::IterateRoots(&extractor, VISIT_ALL);
   return ReportProgress();
 }