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

Reply via email to