LGTM. "But I still think Carthage should be sacked!"
http://codereview.chromium.org/151198/diff/1/2 File src/spaces.h (right): http://codereview.chromium.org/151198/diff/1/2#newcode233 Line 233: // This needs to be at least 32 * kBitsPerPointer, to align start of rset. Should probably be 32 (kBitsPerWord) * kBytesPerPointer. It's not entirely true. What we align is the start of the part of the RSet that is actively being used. Coneceptually, we have a remembered set for the entire page, including the part before the object start. In 32-bit mode we know that the first 64 bits of those are not used, so we can reuse them for something else, effecitvely making the RSet start at offset 8. Starting objects at offset 256 will mean that we don't use the first 32 bits of the RSet, so we can reuse the space. But we don't need that space for anything else anyway, so we could start the object at byte 160 and the RSet at byte 32, and just know that we never set the first 20 bits of the RSet. The RSet is still aligned, we just have 20 more zero bits at the beginning to ignore. On the other hand, it leaves 96 more bytes in the page - room enough for six HeapNumbers. http://codereview.chromium.org/151198 --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
