Index: src/global-handles.h |
diff --git a/src/global-handles.h b/src/global-handles.h |
index 9e63ba7a9730fa146780b7dc85f2a59b355b8b17..feb95bf2a3dfe7d73ecd4d2e1e401d07c22e3e90 100644 |
--- a/src/global-handles.h |
+++ b/src/global-handles.h |
@@ -54,6 +54,8 @@ class ObjectGroup : public Malloced { |
}; |
+typedef void (*WeakReferenceGuest)(Object* object, void* parameter); |
+ |
class GlobalHandles : public AllStatic { |
public: |
// Creates a new global handle that is alive until Destroy is called. |
@@ -99,6 +101,10 @@ class GlobalHandles : public AllStatic { |
// Iterates over all weak roots in heap. |
static void IterateWeakRoots(ObjectVisitor* v); |
+ // Iterates over weak roots that are bound to a given callback. |
+ static void IterateWeakRoots(WeakReferenceGuest f, |
+ WeakReferenceCallback callback); |
+ |
// Find all weak handles satisfying the callback predicate, mark |
// them as pending. |
static void IdentifyWeakHandles(WeakSlotCallback f); |