Commit 6431c393 authored by ulan's avatar ulan Committed by Commit bot

Revert "Reland "Allow compaction when incremental marking is on.""

This reverts commit 89ba65fd.

Reason: crash in v8.detached_context_age_in_gc benchmark.

BUG=chromium:450824
LOG=NO
NOTRY=true
NOTREECHECKS=true
TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/1034203002

Cr-Commit-Position: refs/heads/master@{#27483}
parent a45a1de7
......@@ -468,7 +468,7 @@ static void PatchIncrementalMarkingRecordWriteStubs(
}
void IncrementalMarking::Start() {
void IncrementalMarking::Start(CompactionFlag flag) {
if (FLAG_trace_incremental_marking) {
PrintF("[IncrementalMarking] Start\n");
}
......@@ -483,7 +483,7 @@ void IncrementalMarking::Start() {
was_activated_ = true;
if (!heap_->mark_compact_collector()->sweeping_in_progress()) {
StartMarking();
StartMarking(flag);
} else {
if (FLAG_trace_incremental_marking) {
PrintF("[IncrementalMarking] Start sweeping.\n");
......@@ -495,12 +495,12 @@ void IncrementalMarking::Start() {
}
void IncrementalMarking::StartMarking() {
void IncrementalMarking::StartMarking(CompactionFlag flag) {
if (FLAG_trace_incremental_marking) {
PrintF("[IncrementalMarking] Start marking\n");
}
is_compacting_ = !FLAG_never_compact &&
is_compacting_ = !FLAG_never_compact && (flag == ALLOW_COMPACTION) &&
heap_->mark_compact_collector()->StartCompaction(
MarkCompactCollector::INCREMENTAL_COMPACTION);
......@@ -834,7 +834,9 @@ void IncrementalMarking::Epilogue() {
void IncrementalMarking::OldSpaceStep(intptr_t allocated) {
if (IsStopped() && ShouldActivate()) {
Start();
// TODO(hpayer): Let's play safe for now, but compaction should be
// in principle possible.
Start(PREVENT_COMPACTION);
} else {
Step(allocated * kFastMarking / kInitialMarkingSpeed, GC_VIA_STACK_GUARD);
}
......@@ -963,7 +965,7 @@ intptr_t IncrementalMarking::Step(intptr_t allocated_bytes,
}
if (!heap_->mark_compact_collector()->sweeping_in_progress()) {
bytes_scanned_ = 0;
StartMarking();
StartMarking(PREVENT_COMPACTION);
}
} else if (state_ == MARKING) {
bytes_processed = ProcessMarkingDeque(bytes_to_process);
......
......@@ -67,7 +67,9 @@ class IncrementalMarking {
bool WasActivated();
void Start();
enum CompactionFlag { ALLOW_COMPACTION, PREVENT_COMPACTION };
void Start(CompactionFlag flag = ALLOW_COMPACTION);
void Stop();
......@@ -206,7 +208,7 @@ class IncrementalMarking {
void ResetStepCounters();
void StartMarking();
void StartMarking(CompactionFlag flag);
void ActivateIncrementalWriteBarrier(PagedSpace* space);
static void ActivateIncrementalWriteBarrier(NewSpace* space);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment