--- a/Source/JavaScriptCore/runtime/Options.h 2020-04-14 00:51:51.000000000 +0200 +++ b/Source/JavaScriptCore/runtime/Options.h 2020-04-14 00:51:51.000000000 +0200 @@ -40,6 +40,16 @@ namespace JSC { +#if defined(__GLIBC__) +constexpr unsigned jscMaxPerThreadStack = 4 * MB; +constexpr unsigned jscSoftReservedZoneSize = 128 * KB; +constexpr unsigned jscReservedZoneSize = 64 * KB; +#else +constexpr unsigned jscMaxPerThreadStack = 80 * KB; +constexpr unsigned jscSoftReservedZoneSize = 32 * KB; +constexpr unsigned jscReservedZoneSize = 16 * KB; +#endif + // How do JSC VM options work? // =========================== // The JSC_OPTIONS() macro below defines a list of all JSC options in use, @@ -112,9 +122,9 @@ \ v(bool, reportMustSucceedExecutableAllocations, false, nullptr) \ \ - v(unsigned, maxPerThreadStackUsage, 4 * MB, nullptr) \ - v(unsigned, reservedZoneSize, 128 * KB, nullptr) \ - v(unsigned, errorModeReservedZoneSize, 64 * KB, nullptr) \ + v(unsigned, maxPerThreadStackUsage, jscMaxPerThreadStack, nullptr) \ + v(unsigned, reservedZoneSize, jscSoftReservedZoneSize, nullptr) \ + v(unsigned, errorModeReservedZoneSize, jscReservedZoneSize, nullptr) \ \ v(bool, crashIfCantAllocateJITMemory, false, nullptr) \ v(unsigned, jitMemoryReservationSize, 0, "Set this number to change the executable allocation size in ExecutableAllocatorFixedVMPool. (In bytes.)") \