| 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
|
|
|