For data and pointer space we have a small number of buckets and discard the
very small free areas. This is done for speed and in the hope that we will
get
larger contiguous areas later if we don't fill the gaps with new objects.
To
get rid of long lived small free areas we rely on compaction.
For map and cell space these considerations may not make sense - we don't
need
bucket sizes in the free lists and there is no fragmentation. There is
also no
compaction at the moment. Perhaps we should look at the free list
implementation for those spaces, which is currently shared with the pointer
and
data spaces.
That would be for another change list though. This one LGTM.
http://codereview.chromium.org/7784001/diff/2001/src/mark-compact.cc
File src/mark-compact.cc (right):
http://codereview.chromium.org/7784001/diff/2001/src/mark-compact.cc#newcode2695
src/mark-compact.cc:2695: printf("cell:0x%08x mask:0x%08x, idx=%d\n",
mark_bits, mark_mask, cell_index);
You don't want this printf.
http://codereview.chromium.org/7784001/
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev