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 -~----------~----~----~----~------~----~------~--~---
