Index: runtime/vm/isolate.h |
diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h |
index 2b1256f4c6abe6fffe68ccfb2f5cf3a60d5a18db..447afac5e65b6edc6cbe59d56ebfbc624028796a 100644 |
--- a/runtime/vm/isolate.h |
+++ b/runtime/vm/isolate.h |
@@ -133,9 +133,9 @@ class Isolate : public BaseIsolate { |
void ValidateClassTable(); |
// Visit all object pointers. |
- void VisitObjectPointers(ObjectPointerVisitor* visitor, |
- bool visit_prologue_weak_persistent_handles, |
- bool validate_frames); |
+ void IterateObjectPointers(ObjectPointerVisitor* visitor, |
+ bool visit_prologue_weak_persistent_handles, |
+ bool validate_frames); |
// Visits weak object pointers. |
void VisitWeakPersistentHandles(HandleVisitor* visitor, |
@@ -727,6 +727,12 @@ class Isolate : public BaseIsolate { |
void ProfileIdle(); |
+ // Visit all object pointers. Caller must ensure concurrent sweeper is not |
+ // running, and the visitor must not allocate. |
+ void VisitObjectPointers(ObjectPointerVisitor* visitor, |
+ bool visit_prologue_weak_persistent_handles, |
+ bool validate_frames); |
+ |
void set_user_tag(uword tag) { |
user_tag_ = tag; |
} |
@@ -882,6 +888,8 @@ class Isolate : public BaseIsolate { |
REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) |
#undef REUSABLE_FRIEND_DECLARATION |
+ friend class GCMarker; // VisitObjectPointers |
+ friend class Scavenger; // VisitObjectPointers |
friend class ServiceIsolate; |
friend class Thread; |