| Index: src/heap/incremental-marking.cc
|
| diff --git a/src/heap/incremental-marking.cc b/src/heap/incremental-marking.cc
|
| index c4a037d0bcbb6d96010b13bbb45fa24297323d9d..e01c50b849a0bb99053fa4f0b57f635280ae755c 100644
|
| --- a/src/heap/incremental-marking.cc
|
| +++ b/src/heap/incremental-marking.cc
|
| @@ -302,6 +302,10 @@
|
| chunk->size() > static_cast<size_t>(Page::kPageSize) && is_compacting) {
|
| chunk->SetFlag(MemoryChunk::RESCAN_ON_EVACUATION);
|
| }
|
| + } else if (chunk->owner()->identity() == CELL_SPACE ||
|
| + chunk->scan_on_scavenge()) {
|
| + chunk->ClearFlag(MemoryChunk::POINTERS_TO_HERE_ARE_INTERESTING);
|
| + chunk->ClearFlag(MemoryChunk::POINTERS_FROM_HERE_ARE_INTERESTING);
|
| } else {
|
| chunk->ClearFlag(MemoryChunk::POINTERS_TO_HERE_ARE_INTERESTING);
|
| chunk->SetFlag(MemoryChunk::POINTERS_FROM_HERE_ARE_INTERESTING);
|
| @@ -343,6 +347,7 @@
|
|
|
| void IncrementalMarking::DeactivateIncrementalWriteBarrier() {
|
| DeactivateIncrementalWriteBarrierForSpace(heap_->old_space());
|
| + DeactivateIncrementalWriteBarrierForSpace(heap_->cell_space());
|
| DeactivateIncrementalWriteBarrierForSpace(heap_->map_space());
|
| DeactivateIncrementalWriteBarrierForSpace(heap_->code_space());
|
| DeactivateIncrementalWriteBarrierForSpace(heap_->new_space());
|
| @@ -375,6 +380,7 @@
|
|
|
| void IncrementalMarking::ActivateIncrementalWriteBarrier() {
|
| ActivateIncrementalWriteBarrier(heap_->old_space());
|
| + ActivateIncrementalWriteBarrier(heap_->cell_space());
|
| ActivateIncrementalWriteBarrier(heap_->map_space());
|
| ActivateIncrementalWriteBarrier(heap_->code_space());
|
| ActivateIncrementalWriteBarrier(heap_->new_space());
|
|
|