LGTM

http://codereview.chromium.org/151148/diff/1/2
File src/spaces-inl.h (right):

http://codereview.chromium.org/151148/diff/1/2#newcode107
Line 107: // The reset address is computed as:
reset -> rset (or RSet?)

http://codereview.chromium.org/151148/diff/1/2#newcode108
Line 108: //    page_address + words * 4 + kRSetOffset.
words -> quadwords

http://codereview.chromium.org/151148/diff/1/2#newcode110
Line 110: // even on the X64 architecture.
We could probably speed up a little by loading 64 bits at a time when
scanning for non-null bits.

http://codereview.chromium.org/151148/diff/1/3
File src/spaces.h (right):

http://codereview.chromium.org/151148/diff/1/3#newcode224
Line 224: static const int kRSetOffset = 2 * kPointerSize;  // Room for
two pointers.
Since we have room for it, we might want the RSet to be 32-bit aligned.
Since we don't use the initial part of the Rset (the RSet of the RSet
itself), the actually used part starts 4 bytes later than this, so we
could change kRSetOffset to 28.
But see comment below on lowering the 256 byte object start, which also
changes how many bits we don't use.

http://codereview.chromium.org/151148/diff/1/3#newcode234
Line 234: static const int kObjectStartOffset = 256;
We should be able to lower this to 160 and still work.
That requires 126 bytes of RSet, which can fit at position 32 and still
be 32-bit aligned.
If we don't care about 32-bit alignment, we can even go down to 144.
Suggested constants:
kObjectStartOffset = 160;
kRsetOffset = 32;  // size 125 (== (8192 - 160) >> 6 )
We can still use the first 2.5 bytes of this RSet for something else if
we want.

http://codereview.chromium.org/151148

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

Reply via email to