https://chromiumcodereview.appspot.com/11782028/diff/19002/src/flag-definitions.h File src/flag-definitions.h (right):
https://chromiumcodereview.appspot.com/11782028/diff/19002/src/flag-definitions.h#newcode416 src/flag-definitions.h:416: DEFINE_bool(concurrent_sweeping, false, "enable concurrent sweeping") On 2013/01/24 17:15:54, Michael Starzinger wrote:
As discussed offline, for now it makes sense to have both flags until
we
stabilize the implementation. Later we should unify them into one.
Done. https://chromiumcodereview.appspot.com/11782028/diff/19002/src/heap.h File src/heap.h (right): https://chromiumcodereview.appspot.com/11782028/diff/19002/src/heap.h#newcode1091 src/heap.h:1091: bool IsConcurrentSweepingPending(); On 2013/01/24 17:15:54, Michael Starzinger wrote:
We should try to move most of that functionality into MarkCompact and
minimize
the entry points in Heap. IMHO parallel sweeping should be considered
a
subsystem of MarkCompact.
Done. https://chromiumcodereview.appspot.com/11782028/diff/19002/src/heap.h#newcode1578 src/heap.h:1578: void SweepInParallel(PagedSpace* paged_space, On 2013/01/24 17:15:54, Michael Starzinger wrote:
This dispatcher should not be necessary.
Done. https://chromiumcodereview.appspot.com/11782028/diff/19002/src/heap.h#newcode1588 src/heap.h:1588: bool AdvanceSweepers(int step_size) { On 2013/01/24 17:15:54, Michael Starzinger wrote:
This is still being called from the idle notification. For both modes
it should
be a NOP.
Done. https://chromiumcodereview.appspot.com/11782028/diff/19002/src/isolate.cc File src/isolate.cc (right): https://chromiumcodereview.appspot.com/11782028/diff/19002/src/isolate.cc#newcode1733 src/isolate.cc:1733: if (FLAG_concurrent_sweeping || FLAG_parallel_sweeping) { On 2013/01/24 17:15:54, Michael Starzinger wrote:
Move this above the stopping of the optimizing compiler so that
de-init order is
the reverse of init order.
Done. https://chromiumcodereview.appspot.com/11782028/diff/19002/src/isolate.cc#newcode2106 src/isolate.cc:2106: if (FLAG_sweeper_threads < 1) { On 2013/01/24 17:15:54, Michael Starzinger wrote:
Just set it to one if it's smaller than one.
Done. https://chromiumcodereview.appspot.com/11782028/diff/19002/src/mark-compact.cc File src/mark-compact.cc (right): https://chromiumcodereview.appspot.com/11782028/diff/19002/src/mark-compact.cc#newcode385 src/mark-compact.cc:385: heap_->WaitUntilParallelSweepingCompleted(); On 2013/01/24 17:28:57, Michael Starzinger wrote:
This should be moved into MarkCompact::Prepare, before the lazy swept
pages are
abandoned. As discussed offline, let's for now stick with the "waiting
on the
threads" and maybe later try to "abort sweeping threads" if needed.
Done. https://chromiumcodereview.appspot.com/11782028/diff/19002/src/spaces.cc File src/spaces.cc (right): https://chromiumcodereview.appspot.com/11782028/diff/19002/src/spaces.cc#newcode2464 src/spaces.cc:2464: if (heap()->IsConcurrentSweepingActivated()) { On 2013/01/24 17:15:54, Michael Starzinger wrote:
The SlowAllocateRaw() function is getting too complicated. Would it be
possible
to move all the sweeper-related code into a separate
EnsureSweeperProgress()
function and basically keep the original implementation of
SlowAllocateRaw()
almost untouched?
Done. https://chromiumcodereview.appspot.com/11782028/ -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
