Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(900)

Unified Diff: runtime/vm/isolate.h

Issue 1212943010: Safer interface for heap iteration. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fix release mode. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/heap.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « runtime/vm/heap.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698