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:37:01, Vyacheslav Egorov wrote:
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].
You're right, I forgot that additional padding was only for ia32. 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:37:01, Vyacheslav Egorov wrote:
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?
Nope, just wanted to double check if it's fine :) http://codereview.chromium.org/2101002/show -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
