The OOL constant pool places constants in the old pointer space rather than the code space
which makes test-heap/ReleaseOverReservedPages fail. Modify SizeOfFirstPage to
increase the initial size of old-pointer space by the size of the constant pool and
decrease the code space by a corresponding amount.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
479553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
intptr_t PagedSpace::SizeOfFirstPage() {
+ // If using an ool constant pool then transfer the constant pool allowance
+ // from the code space to the old pointer space.
+ static const int constant_pool_delta = FLAG_enable_ool_constant_pool ? 48 : 0;
int size = 0;
switch (identity()) {
case OLD_POINTER_SPACE:
- size = 112 * kPointerSize * KB;
+ size = (96 + constant_pool_delta) * kPointerSize * KB;
break;
case OLD_DATA_SPACE:
size = 192 * KB;
// upgraded to handle small pages.
size = AreaSize();
} else {
- size =
- RoundUp(480 * KB * FullCodeGenerator::kBootCodeSizeMultiplier / 100,
- kPointerSize);
+ size = RoundUp((480 - constant_pool_delta) * KB *
+ FullCodeGenerator::kBootCodeSizeMultiplier / 100,
+ kPointerSize);
}
break;
}