LGTM

http://codereview.chromium.org/7635014/diff/1/src/mark-compact.cc
File src/mark-compact.cc (right):

http://codereview.chromium.org/7635014/diff/1/src/mark-compact.cc#newcode2373
src/mark-compact.cc:2373: // with NULL. In this case we do not need to
transfer this entry to
Does this mean we store NULL in the heap? We should probably call it
something else (Smi::ValueOf(0)) just for precission.

http://codereview.chromium.org/7635014/diff/1/src/mark-compact.cc#newcode2381
src/mark-compact.cc:2381: *p =
reinterpret_cast<HeapObject*>(Smi::FromInt(0));
So we are not assuming that the value is HeapObject tagged anywhere?
(Quite possible, since we can't use it as such anyway).
It seems to end up in NewSpace::Contains which just uses address
arithmetic, so it should be safe (but that probably should take a
HeapObject and filter out smis earler).
Maybe make StoreBuffer::Uniq and similar functions filter out the smis.

http://codereview.chromium.org/7635014/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to