Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index 0d753e2227654db5244900aeb958802cf242201e..de142fbdb774a4bf1f74769d334a376d5be340c7 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -903,13 +903,13 @@ void Heap::CollectAllAvailableGarbage(const char* gc_reason) { |
void Heap::ReportExternalMemoryPressure(const char* gc_reason) { |
if (incremental_marking()->IsStopped()) { |
+ v8::GCCallbackFlags flags = static_cast<v8::GCCallbackFlags>( |
+ kGCCallbackFlagSynchronousPhantomCallbackProcessing | |
+ kGCCallbackFlagCollectAllExternalMemory); |
if (incremental_marking()->CanBeActivated()) { |
- StartIncrementalMarking( |
- i::Heap::kNoGCFlags, |
- kGCCallbackFlagSynchronousPhantomCallbackProcessing, gc_reason); |
+ StartIncrementalMarking(i::Heap::kNoGCFlags, flags, gc_reason); |
} else { |
- CollectAllGarbage(i::Heap::kNoGCFlags, gc_reason, |
- kGCCallbackFlagSynchronousPhantomCallbackProcessing); |
+ CollectAllGarbage(i::Heap::kNoGCFlags, gc_reason, flags); |
} |
} else { |
// Incremental marking is turned on an has already been started. |