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}
This commit is contained in:
parent
24451aa2d5
commit
9b4f8d1951
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user