Commit d62b71e9 authored by rmcilroy@chromium.org's avatar rmcilroy@chromium.org

Modify SizeOfFirstPage to take ool constant pool into account.

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
parent 16c2c72a
...@@ -990,10 +990,13 @@ bool PagedSpace::Expand() { ...@@ -990,10 +990,13 @@ bool PagedSpace::Expand() {
intptr_t PagedSpace::SizeOfFirstPage() { 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; int size = 0;
switch (identity()) { switch (identity()) {
case OLD_POINTER_SPACE: case OLD_POINTER_SPACE:
size = 112 * kPointerSize * KB; size = (96 + constant_pool_delta) * kPointerSize * KB;
break; break;
case OLD_DATA_SPACE: case OLD_DATA_SPACE:
size = 192 * KB; size = 192 * KB;
...@@ -1015,9 +1018,9 @@ intptr_t PagedSpace::SizeOfFirstPage() { ...@@ -1015,9 +1018,9 @@ intptr_t PagedSpace::SizeOfFirstPage() {
// upgraded to handle small pages. // upgraded to handle small pages.
size = AreaSize(); size = AreaSize();
} else { } else {
size = size = RoundUp((480 - constant_pool_delta) * KB *
RoundUp(480 * KB * FullCodeGenerator::kBootCodeSizeMultiplier / 100, FullCodeGenerator::kBootCodeSizeMultiplier / 100,
kPointerSize); kPointerSize);
} }
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment