Index: src/heap/incremental-marking.cc |
diff --git a/src/heap/incremental-marking.cc b/src/heap/incremental-marking.cc |
index 856819d37df7a40b5dea7dc79b65bbf18e2ecab7..b5d023512f2c62609862ea02c2c84af4753fe9b8 100644 |
--- a/src/heap/incremental-marking.cc |
+++ b/src/heap/incremental-marking.cc |
@@ -573,6 +573,19 @@ void IncrementalMarking::StartBlackAllocation() { |
} |
} |
+void IncrementalMarking::PauseBlackAllocation() { |
+ DCHECK(FLAG_black_allocation); |
+ DCHECK(IsMarking()); |
+ heap()->old_space()->UnmarkAllocationInfo(); |
+ heap()->map_space()->UnmarkAllocationInfo(); |
+ heap()->code_space()->UnmarkAllocationInfo(); |
+ if (FLAG_trace_incremental_marking) { |
+ heap()->isolate()->PrintWithTimestamp( |
+ "[IncrementalMarking] Black allocation paused\n"); |
+ } |
+ black_allocation_ = false; |
+} |
+ |
void IncrementalMarking::FinishBlackAllocation() { |
if (black_allocation_) { |
black_allocation_ = false; |