[vm] Limit heap size to 15GB on 64-bit systems to avoid fatal errors on page table exhaustion.
Compare 2d22b6ee6b.
Change-Id: I67c25030fca1aca144d6affb3108f10d20de5b6f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99092
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
This commit is contained in:
committed by
commit-bot@chromium.org
parent
fd10fa1b1d
commit
13005eec86
@@ -36,7 +36,11 @@ const intptr_t kSmiMin32 = -(static_cast<intptr_t>(1) << kSmiBits32);
|
||||
const intptr_t kBytesPerBigIntDigit = 4;
|
||||
|
||||
// The default old gen heap size in MB, where 0 == unlimited.
|
||||
const intptr_t kDefaultMaxOldGenHeapSize = (kWordSize <= 4) ? 1536 : 0;
|
||||
// 32-bit: OS limit is 2 or 3 GB
|
||||
// 64-bit: OS limit is 2^16 page table entries * 256 KB HeapPages = 16 GB
|
||||
// Set the VM limit below the OS limit to increase the likelihood of failing
|
||||
// gracefully with a Dart OutOfMemory exception instead of SIGABORT.
|
||||
const intptr_t kDefaultMaxOldGenHeapSize = (kWordSize <= 4) ? 1536 : 15360;
|
||||
|
||||
#define kPosInfinity bit_cast<double>(DART_UINT64_C(0x7ff0000000000000))
|
||||
#define kNegInfinity bit_cast<double>(DART_UINT64_C(0xfff0000000000000))
|
||||
|
||||
Reference in New Issue
Block a user