Revert "Set the state of a swept page after being done with sweeping."
This reverts commit r22514, it broke the GC stress builder. TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/405373003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
e01c396226
commit
837b758b5f
@ -3267,6 +3267,12 @@ static int SweepPrecisely(PagedSpace* space,
|
||||
start_time = base::OS::TimeCurrentMillis();
|
||||
}
|
||||
|
||||
if (parallelism == MarkCompactCollector::SWEEP_IN_PARALLEL) {
|
||||
p->set_parallel_sweeping(MemoryChunk::SWEEPING_FINALIZE);
|
||||
} else {
|
||||
p->MarkSweptPrecisely();
|
||||
}
|
||||
|
||||
Address free_start = p->area_start();
|
||||
ASSERT(reinterpret_cast<intptr_t>(free_start) % (32 * kPointerSize) == 0);
|
||||
int offsets[16];
|
||||
@ -3340,14 +3346,6 @@ static int SweepPrecisely(PagedSpace* space,
|
||||
if (FLAG_print_cumulative_gc_stat) {
|
||||
space->heap()->AddSweepingTime(base::OS::TimeCurrentMillis() - start_time);
|
||||
}
|
||||
|
||||
if (parallelism == MarkCompactCollector::SWEEP_IN_PARALLEL) {
|
||||
// When concurrent sweeping is active, the page will be marked after
|
||||
// sweeping by the main thread.
|
||||
p->set_parallel_sweeping(MemoryChunk::SWEEPING_FINALIZE);
|
||||
} else {
|
||||
p->MarkSweptPrecisely();
|
||||
}
|
||||
return FreeList::GuaranteedAllocatable(static_cast<int>(max_freed_bytes));
|
||||
}
|
||||
|
||||
@ -4001,6 +3999,14 @@ int MarkCompactCollector::SweepConservatively(PagedSpace* space,
|
||||
(mode == MarkCompactCollector::SWEEP_ON_MAIN_THREAD &&
|
||||
free_list == NULL));
|
||||
|
||||
// When parallel sweeping is active, the page will be marked after
|
||||
// sweeping by the main thread.
|
||||
if (mode == MarkCompactCollector::SWEEP_IN_PARALLEL) {
|
||||
p->set_parallel_sweeping(MemoryChunk::SWEEPING_FINALIZE);
|
||||
} else {
|
||||
p->MarkSweptConservatively();
|
||||
}
|
||||
|
||||
intptr_t freed_bytes = 0;
|
||||
intptr_t max_freed_bytes = 0;
|
||||
size_t size = 0;
|
||||
@ -4021,13 +4027,6 @@ int MarkCompactCollector::SweepConservatively(PagedSpace* space,
|
||||
static_cast<int>(size));
|
||||
max_freed_bytes = Max(freed_bytes, max_freed_bytes);
|
||||
ASSERT_EQ(0, p->LiveBytes());
|
||||
if (mode == MarkCompactCollector::SWEEP_IN_PARALLEL) {
|
||||
// When concurrent sweeping is active, the page will be marked after
|
||||
// sweeping by the main thread.
|
||||
p->set_parallel_sweeping(MemoryChunk::SWEEPING_FINALIZE);
|
||||
} else {
|
||||
p->MarkSweptConservatively();
|
||||
}
|
||||
return FreeList::GuaranteedAllocatable(static_cast<int>(max_freed_bytes));
|
||||
}
|
||||
|
||||
@ -4085,13 +4084,6 @@ int MarkCompactCollector::SweepConservatively(PagedSpace* space,
|
||||
}
|
||||
|
||||
p->ResetLiveBytes();
|
||||
if (mode == MarkCompactCollector::SWEEP_IN_PARALLEL) {
|
||||
// When concurrent sweeping is active, the page will be marked after
|
||||
// sweeping by the main thread.
|
||||
p->set_parallel_sweeping(MemoryChunk::SWEEPING_FINALIZE);
|
||||
} else {
|
||||
p->MarkSweptConservatively();
|
||||
}
|
||||
return FreeList::GuaranteedAllocatable(static_cast<int>(max_freed_bytes));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user