Thanks for your comments, Anton!
This change is large and employs some dirty tricks so the more eyes the
better!
http://codereview.chromium.org/2101002/diff/2001/3009
File src/heap.cc (right):
http://codereview.chromium.org/2101002/diff/2001/3009#newcode3389
src/heap.cc:3389: return page + (((addr - page) + (Map::kSize -
1))/Map::kSize * Map::kSize);
On 2010/05/17 15:14:23, antonm wrote:
Map::kSize should be a power of two, no? Maybe use bit masking then?
It is 32 on ia32 but unfortunately it is 48 bytes on x64.
And that is exactly the reason why I had to do some black magic here
[region size is not divisible by 48].
http://codereview.chromium.org/2101002/diff/2001/3027
File src/spaces.h (right):
http://codereview.chromium.org/2101002/diff/2001/3027#newcode230
src/spaces.h:230: static const int kPageHeaderSize = kPointerSize +
kPointerSize + kIntSize +
On 2010/05/17 15:14:23, antonm wrote:
do we want to check/ensure it is properly aligned?
Well kHeaderSize is not necessary aligned.
But kObjectStartOffset is aligned.
Do you propose to rename these constants?
http://codereview.chromium.org/2101002/show
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev