Commit 9b4f8d19 authored by bjaideep's avatar bjaideep Committed by Commit bot

PPC: Set CodeRange constants correctly for PPC Linux

The OS page size for PPC linux is 64KB. The page size for
paged spaces on PPC linux is set to 4MB. kCodeRangeAreaAlignment
is set to OS page size(64KB) and kMinimumCodeRangeSize is set to the
size of 3 pages (12MB). This issue was exposed with testcase
test-spaces/Regress3540 which used kMinimumCodeRangeSize.

R=jochen@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=
LOG=N

Review-Url: https://codereview.chromium.org/2187833002
Cr-Commit-Position: refs/heads/master@{#38180}
parent 24451aa2
......@@ -151,6 +151,9 @@ const bool kRequiresCodeRange = true;
// region. Used only for large object space.
const size_t kMaximalCodeRangeSize = 256 * MB;
const size_t kCodeRangeAreaAlignment = 256 * MB;
#elif V8_HOST_ARCH_PPC && V8_TARGET_ARCH_PPC && V8_OS_LINUX
const size_t kMaximalCodeRangeSize = 512 * MB;
const size_t kCodeRangeAreaAlignment = 64 * KB; // OS page on PPC Linux
#else
const size_t kMaximalCodeRangeSize = 512 * MB;
const size_t kCodeRangeAreaAlignment = 4 * KB; // OS page.
......@@ -158,6 +161,10 @@ const size_t kCodeRangeAreaAlignment = 4 * KB; // OS page.
#if V8_OS_WIN
const size_t kMinimumCodeRangeSize = 4 * MB;
const size_t kReservedCodeRangePages = 1;
// On PPC Linux PageSize is 4MB
#elif V8_HOST_ARCH_PPC && V8_TARGET_ARCH_PPC && V8_OS_LINUX
const size_t kMinimumCodeRangeSize = 12 * MB;
const size_t kReservedCodeRangePages = 0;
#else
const size_t kMinimumCodeRangeSize = 3 * MB;
const size_t kReservedCodeRangePages = 0;
......@@ -171,15 +178,19 @@ const uintptr_t kUintptrAllBitsSet = 0xFFFFFFFFu;
const bool kRequiresCodeRange = true;
const size_t kMaximalCodeRangeSize = 256 * MB;
const size_t kMinimumCodeRangeSize = 3 * MB;
const size_t kReservedCodeRangePages = 0;
const size_t kCodeRangeAreaAlignment = 4 * KB; // OS page.
#elif V8_HOST_ARCH_PPC && V8_TARGET_ARCH_PPC && V8_OS_LINUX
const bool kRequiresCodeRange = false;
const size_t kMaximalCodeRangeSize = 0 * MB;
const size_t kMinimumCodeRangeSize = 0 * MB;
const size_t kCodeRangeAreaAlignment = 64 * KB; // OS page on PPC Linux
#else
const bool kRequiresCodeRange = false;
const size_t kMaximalCodeRangeSize = 0 * MB;
const size_t kMinimumCodeRangeSize = 0 * MB;
const size_t kReservedCodeRangePages = 0;
const size_t kCodeRangeAreaAlignment = 4 * KB; // OS page.
#endif
const size_t kReservedCodeRangePages = 0;
#endif
// The external allocation limit should be below 256 MB on all architectures
......
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