Index: src/global-handles.h |
diff --git a/src/global-handles.h b/src/global-handles.h |
index 6724847303d4188ffdab4fb31c859a9b85d2a410..0ee8c20a375adaea6803c11034686b08d806f9d8 100644 |
--- a/src/global-handles.h |
+++ b/src/global-handles.h |
@@ -181,7 +181,8 @@ class GlobalHandles { |
// Process pending weak handles. |
// Returns the number of freed nodes. |
- int PostGarbageCollectionProcessing(GarbageCollector collector); |
+ int PostGarbageCollectionProcessing( |
+ GarbageCollector collector, const v8::GCCallbackFlags gc_callback_flags); |
// Iterates over all strong handles. |
void IterateStrongRoots(ObjectVisitor* v); |
@@ -287,17 +288,21 @@ class GlobalHandles { |
// don't assign any initial capacity. |
static const int kObjectGroupConnectionsCapacity = 20; |
+ class PendingPhantomCallback; |
+ |
// Helpers for PostGarbageCollectionProcessing. |
+ static void InvokeSecondPassPhantomCallbacks( |
+ List<PendingPhantomCallback>* callbacks, Isolate* isolate); |
int PostScavengeProcessing(int initial_post_gc_processing_count); |
int PostMarkSweepProcessing(int initial_post_gc_processing_count); |
- int DispatchPendingPhantomCallbacks(); |
+ int DispatchPendingPhantomCallbacks(bool synchronous_second_pass); |
void UpdateListOfNewSpaceNodes(); |
// Internal node structures. |
class Node; |
class NodeBlock; |
class NodeIterator; |
- class PendingPhantomCallback; |
+ class PendingPhantomCallbacksSecondPassTask; |
Isolate* isolate_; |