| Index: src/incremental-marking.cc
|
| diff --git a/src/incremental-marking.cc b/src/incremental-marking.cc
|
| index c3fc2fb3bf318dd2432af945ea4f319e7fa02232..814091acdcc4b50158d0eb18d00e84c365776502 100644
|
| --- a/src/incremental-marking.cc
|
| +++ b/src/incremental-marking.cc
|
| @@ -205,6 +205,7 @@ void IncrementalMarking::ClearMarkbits() {
|
| ClearMarkbits(heap_->cell_space());
|
| ClearMarkbits(heap_->map_space());
|
| ClearMarkbits(heap_->code_space());
|
| + heap_->new_space()->ActivePage()->markbits()->Clear();
|
|
|
| SetNewSpacePageFlags(heap_->new_space()->ActivePage(), true);
|
|
|
| @@ -233,6 +234,7 @@ void IncrementalMarking::VerifyMarkbitsAreClean() {
|
| VerifyMarkbitsAreClean(heap_->code_space());
|
| VerifyMarkbitsAreClean(heap_->cell_space());
|
| VerifyMarkbitsAreClean(heap_->map_space());
|
| + ASSERT(heap_->new_space()->ActivePage()->markbits()->IsClean());
|
| }
|
| #endif
|
|
|
| @@ -327,11 +329,6 @@ void IncrementalMarking::StartMarking() {
|
| addr + marking_deque_memory->size());
|
|
|
| // Clear markbits.
|
| - Address new_space_low = heap_->new_space()->ToSpaceLow();
|
| - Address new_space_high = heap_->new_space()->ToSpaceHigh();
|
| - heap_->marking()->ClearRange(
|
| - new_space_low, static_cast<int>(new_space_high - new_space_low));
|
| -
|
| ClearMarkbits();
|
|
|
| #ifdef DEBUG
|
| @@ -351,11 +348,7 @@ void IncrementalMarking::StartMarking() {
|
|
|
| void IncrementalMarking::PrepareForScavenge() {
|
| if (!IsMarking()) return;
|
| -
|
| - Address new_space_low = heap_->new_space()->FromSpaceLow();
|
| - Address new_space_high = heap_->new_space()->FromSpaceHigh();
|
| - heap_->marking()->ClearRange(
|
| - new_space_low, static_cast<int>(new_space_high - new_space_low));
|
| + heap_->new_space()->InactivePage()->markbits()->Clear();
|
| }
|
|
|
|
|
| @@ -502,7 +495,7 @@ void IncrementalMarking::Step(intptr_t allocated_bytes) {
|
| ASSERT(IsGrey(marking->MarkBitFrom(obj)));
|
| int size = obj->SizeFromMap(map);
|
| bytes_to_process -= size;
|
| - MarkBit map_mark_bit = marking->MarkBitFromOldSpace(map);
|
| + MarkBit map_mark_bit = marking->MarkBitFrom(map);
|
| if (IsWhite(map_mark_bit)) WhiteToGreyAndPush(map, map_mark_bit);
|
| // TODO(gc) switch to static visitor instead of normal visitor.
|
| obj->IterateBody(map->instance_type(), size, &marking_visitor);
|
|
|