| Index: src/global-handles.h
|
| diff --git a/src/global-handles.h b/src/global-handles.h
|
| index c89a2aacdd18ab6c4c7f23c8e073d6b989446f52..3477bcaaa9504d2fd370d6a253487ff32e9581ab 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);
|
|
|
| @@ -154,11 +157,14 @@ class GlobalHandles {
|
|
|
| // Process pending weak handles.
|
| // Returns true if next major GC is likely to collect more garbage.
|
| - bool PostGarbageCollectionProcessing();
|
| + bool PostGarbageCollectionProcessing(GarbageCollector collector);
|
|
|
| // 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.
|
|
|