Index: src/heap/mark-compact.cc |
diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc |
index c56d3fbd01906639661171df9d6a072c408b12a3..25c4dd1fcf9d0b687f5b297056ca9846bfcae8f6 100644 |
--- a/src/heap/mark-compact.cc |
+++ b/src/heap/mark-compact.cc |
@@ -15,6 +15,7 @@ |
#include "src/gdb-jit.h" |
#include "src/global-handles.h" |
#include "src/heap/array-buffer-tracker.h" |
+#include "src/heap/concurrent-marking.h" |
#include "src/heap/gc-tracer.h" |
#include "src/heap/incremental-marking.h" |
#include "src/heap/mark-compact-inl.h" |
@@ -780,6 +781,11 @@ void MarkCompactCollector::Prepare() { |
// them here. |
heap()->memory_allocator()->unmapper()->WaitUntilCompleted(); |
+ if (FLAG_concurrent_marking && |
Hannes Payer (out of office)
2017/03/08 12:58:50
Maybe we should have an EnsureMarkingCompleted() m
ulan
2017/03/10 16:45:27
Done.
|
+ heap()->concurrent_marking()->IsMarkingInProgress()) { |
+ heap()->concurrent_marking()->WaitForTaskToComplete(); |
+ } |
+ |
// Clear marking bits if incremental marking is aborted. |
if (was_marked_incrementally_ && heap_->ShouldAbortIncrementalMarking()) { |
heap()->incremental_marking()->Stop(); |