Index: runtime/vm/isolate.cc |
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc |
index b59ca99f21d3913e0b446898db01c995e8665c95..4bbb45a935c052ef3beea010b75db4c467231cc1 100644 |
--- a/runtime/vm/isolate.cc |
+++ b/runtime/vm/isolate.cc |
@@ -334,6 +334,13 @@ RawObject* Isolate::StandardRunLoop() { |
void Isolate::VisitObjectPointers(ObjectPointerVisitor* visitor, |
bool validate_frames) { |
+ VisitStrongObjectPointers(visitor, validate_frames); |
+ VisitWeakObjectPointers(visitor); |
+} |
+ |
+ |
+void Isolate::VisitStrongObjectPointers(ObjectPointerVisitor* visitor, |
+ bool validate_frames) { |
ASSERT(visitor != NULL); |
// Visit objects in the object store. |
@@ -355,7 +362,7 @@ void Isolate::VisitObjectPointers(ObjectPointerVisitor* visitor, |
// Visit the dart api state for all local and persistent handles. |
if (api_state() != NULL) { |
- api_state()->VisitObjectPointers(visitor); |
+ api_state()->VisitStrongObjectPointers(visitor); |
} |
// Visit all objects in the code index table. |
@@ -370,4 +377,11 @@ void Isolate::VisitObjectPointers(ObjectPointerVisitor* visitor, |
debugger()->VisitObjectPointers(visitor); |
} |
+ |
+void Isolate::VisitWeakObjectPointers(ObjectPointerVisitor* visitor) { |
+ if (api_state() != NULL) { |
+ api_state()->VisitWeakObjectPointers(visitor); |
+ } |
+} |
+ |
} // namespace dart |