--- a/Source/JavaScriptCore/runtime/MachineContext.h +++ b/Source/JavaScriptCore/runtime/MachineContext.h @@ -196,7 +196,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext) #error Unknown Architecture #endif -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) #if CPU(X86) return reinterpret_cast((uintptr_t&) machineContext.gregs[REG_ESP]); @@ -347,7 +347,7 @@ static inline void*& framePointerImpl(mcontext_t& machineContext) #error Unknown Architecture #endif -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) @@ -498,7 +498,7 @@ static inline void*& instructionPointerImpl(mcontext_t& machineContext) #error Unknown Architecture #endif -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) @@ -656,7 +656,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext) #error Unknown Architecture #endif -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) @@ -773,7 +773,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext) #error Unknown Architecture #endif -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) --- a/Source/JavaScriptCore/runtime/OptionsList.h +++ b/Source/JavaScriptCore/runtime/OptionsList.h @@ -43,6 +43,16 @@ constexpr bool enableWebAssemblyStreamingApi = true; constexpr bool enableWebAssemblyStreamingApi = false; #endif +#if defined(__GLIBC__) +constexpr unsigned jscMaxPerThreadStack = 5 * 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 FOR_EACH_JSC_OPTION() macro below defines a list of all JSC options in use, @@ -90,9 +100,9 @@ constexpr bool enableWebAssemblyStreamingApi = false; \ v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \ \ - v(Unsigned, maxPerThreadStackUsage, 5 * MB, Normal, "Max allowed stack usage by the VM") \ - v(Unsigned, softReservedZoneSize, 128 * KB, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \ - v(Unsigned, reservedZoneSize, 64 * KB, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \ + v(Unsigned, maxPerThreadStackUsage, jscMaxPerThreadStack, Normal, "Max allowed stack usage by the VM") \ + v(Unsigned, softReservedZoneSize, jscSoftReservedZoneSize, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \ + v(Unsigned, reservedZoneSize, jscReservedZoneSize, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \ \ v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \ v(Unsigned, jitMemoryReservationSize, 0, Normal, "Set this number to change the executable allocation size in ExecutableAllocatorFixedVMPool. (In bytes.)") \ --- a/Source/WebCore/xml/XPathGrammar.cpp +++ b/Source/WebCore/xml/XPathGrammar.cpp @@ -966,7 +966,7 @@ int yydebug; #if YYERROR_VERBOSE # ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H +# if defined __linux__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ @@ -989,7 +989,7 @@ yystrlen (yystr) # endif # ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in