The scavenger now reports survival and promotion statistics.
The statistics for the large free list are now reported. Previously,
only information about the small free list was printed. Each report
indicates whether the data is from before or after a garbage collection,
each row of a report is preceded by the free list type (small or large),
and cumulative bytes are reported for the free list type.
Review URL: https://codereview.chromium.org//11416384
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16074 260f80e4-7a28-3924-810f-c04153c831b5
This change improves the utilization of the smallest size classes on
benchmarks performing old space allocations including Splay, Box2D,
and Dart2JSCompileAll.
Initial measurements showed that free list allocation was slightly
slower than bump pointer allocation. Profiling identified that free
list allocation spent most of its time searching for a matching size
class. To eliminate this overhead, a bitmap index has been added
resulting in no appreciable difference in running time between either
method.
Review URL: https://chromiumcodereview.appspot.com//10807031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9773 260f80e4-7a28-3924-810f-c04153c831b5
Removed initializations of class_ field done in runtime and generated code on ia32/x64.
Changed forwarding address encoding used by scavenger: kFreeBit is now used to distinguish evacuated objects from not evacuated because scavenger will never encounter real FreeListElement.
Changed FreeListElement layout to match RawObject layout.
R=iposva@google.com
Review URL: https://chromiumcodereview.appspot.com//10521004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8336 260f80e4-7a28-3924-810f-c04153c831b5