Commit b9af1ef1 authored by hpayer@chromium.org's avatar hpayer@chromium.org

Reduces memory consumption for parallel sweeping.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 5f1a4e3f
......@@ -3854,22 +3854,21 @@ void MarkCompactCollector::SweepSpaces() {
SweepSpace(heap()->old_pointer_space(), how_to_sweep);
SweepSpace(heap()->old_data_space(), how_to_sweep);
RemoveDeadInvalidatedCode();
SweepSpace(heap()->code_space(), PRECISE);
SweepSpace(heap()->cell_space(), PRECISE);
EvacuateNewSpaceAndCandidates();
if (how_to_sweep == PARALLEL_CONSERVATIVE) {
// TODO(hpayer): The starting of the sweeper threads should be after
// SweepSpace old data space.
// TODO(hpayer): fix race with concurrent sweeper
StartSweeperThreads();
if (FLAG_parallel_sweeping && !FLAG_concurrent_sweeping) {
WaitUntilSweepingCompleted();
}
}
RemoveDeadInvalidatedCode();
SweepSpace(heap()->code_space(), PRECISE);
SweepSpace(heap()->cell_space(), PRECISE);
EvacuateNewSpaceAndCandidates();
// ClearNonLiveTransitions depends on precise sweeping of map space to
// detect whether unmarked map became dead in this collection or in one
// of the previous ones.
......
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