| Index: src/global-handles.h
|
| diff --git a/src/global-handles.h b/src/global-handles.h
|
| index c89a2aacdd18ab6c4c7f23c8e073d6b989446f52..4a61fc8761ae07c14cf9bba237ea1ff57e6e434d 100644
|
| --- a/src/global-handles.h
|
| +++ b/src/global-handles.h
|
| @@ -146,6 +146,9 @@ class GlobalHandles {
|
| // Clear the weakness of a global handle.
|
| void ClearWeakness(Object** location);
|
|
|
| + // Clear the weakness of a global handle.
|
| + void MarkIndependent(Object** location);
|
| +
|
| // Tells whether global handle is near death.
|
| static bool IsNearDeath(Object** location);
|
|
|
| @@ -159,6 +162,9 @@ class GlobalHandles {
|
| // Iterates over all strong handles.
|
| void IterateStrongRoots(ObjectVisitor* v);
|
|
|
| + // Iterates over all strong and dependent handles.
|
| + void IterateStrongAndDependentRoots(ObjectVisitor* v);
|
| +
|
| // Iterates over all handles.
|
| void IterateAllRoots(ObjectVisitor* v);
|
|
|
| @@ -168,6 +174,9 @@ class GlobalHandles {
|
| // Iterates over all weak roots in heap.
|
| void IterateWeakRoots(ObjectVisitor* v);
|
|
|
| + // Iterates over all weak independent roots in heap.
|
| + void IterateWeakIndependentRoots(ObjectVisitor* v);
|
| +
|
| // Iterates over weak roots that are bound to a given callback.
|
| void IterateWeakRoots(WeakReferenceGuest f,
|
| WeakReferenceCallback callback);
|
| @@ -176,6 +185,10 @@ class GlobalHandles {
|
| // them as pending.
|
| void IdentifyWeakHandles(WeakSlotCallback f);
|
|
|
| + // Find all weak independent handles satisfying the callback predicate, mark
|
| + // them as pending.
|
| + void IdentifyWeakIndependentHandles(WeakSlotCallbackWithHeap f);
|
| +
|
| // Add an object group.
|
| // Should be only used in GC callback function before a collection.
|
| // All groups are destroyed after a mark-compact collection.
|
|
|