| Index: src/heap/incremental-marking.cc
|
| diff --git a/src/heap/incremental-marking.cc b/src/heap/incremental-marking.cc
|
| index 0a7e9c9584db27f6783e66f918eba88c3bb233a3..22051eaab2d5793681dbd6ba3df3ccfd1495dfec 100644
|
| --- a/src/heap/incremental-marking.cc
|
| +++ b/src/heap/incremental-marking.cc
|
| @@ -825,16 +825,10 @@
|
|
|
|
|
| void IncrementalMarking::OldSpaceStep(intptr_t allocated) {
|
| - // If we are stressing the GC, then always return the bump allocation area to
|
| - // the free list here, which will cause a crash if the top and limit are not
|
| - // up to date.
|
| - if (FLAG_gc_interval != -1) {
|
| - heap()->old_space()->ReturnLinearAllocationAreaToFreeList();
|
| - }
|
| if (IsStopped() && ShouldActivateEvenWithoutIdleNotification()) {
|
| Start(Heap::kNoGCFlags);
|
| } else {
|
| - Step(allocated * kOldSpaceAllocationMarkingFactor, GC_VIA_STACK_GUARD);
|
| + Step(allocated * kFastMarking / kInitialMarkingSpeed, GC_VIA_STACK_GUARD);
|
| }
|
| }
|
|
|
| @@ -916,7 +910,8 @@
|
| ForceMarkingAction marking,
|
| ForceCompletionAction completion) {
|
| if (heap_->gc_state() != Heap::NOT_IN_GC || !FLAG_incremental_marking ||
|
| - !CanDoSteps()) {
|
| + !FLAG_incremental_marking_steps ||
|
| + (state_ != SWEEPING && state_ != MARKING)) {
|
| return 0;
|
| }
|
|
|
|
|