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

Unified Diff: runtime/vm/isolate.cc

Issue 8984006: Implement weak persistent handles in the Dart API. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address review comments Created 9 years 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
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
« runtime/include/dart_api.h ('K') | « runtime/vm/isolate.h ('k') | runtime/vm/scavenger.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698