Harmonize V8 stack sizes on ARM architectures to match almost all other architectures
authorJames Addison <jay@jp-hosting.net>
Mon, 10 Feb 2025 14:45:36 +0000 (15:45 +0100)
committerJérémy Lal <kapouer@melix.org>
Mon, 10 Feb 2025 14:45:36 +0000 (15:45 +0100)
Last-Update: 2023-02-28
Forwarded: https://github.com/nodejs/node/issues/41163

Gbp-Pq: Topic arm64
Gbp-Pq: Name stacksize.patch

deps/v8/src/common/globals.h

index 17057b4c5fc07847c364954c585ced48ccea45e0..92b0047b2397bad34e817edef8d2a11024184c9c 100644 (file)
@@ -152,26 +152,9 @@ namespace internal {
 
 #define ENABLE_SPARKPLUG true
 
-#if V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_ARM64
-// Set stack limit lower for ARM and ARM64 than for other architectures because:
-//  - on Arm stack allocating MacroAssembler takes 120K bytes.
-//    See issue crbug.com/405338
-//  - on Arm64 when running in single-process mode for Android WebView, when
-//    initializing V8 we already have a large stack and so have to set the
-//    limit lower. See issue crbug.com/v8/10575
-#define V8_DEFAULT_STACK_SIZE_KB 864
-#elif V8_TARGET_ARCH_IA32
-// In mid-2022, we're observing an increase in stack overflow crashes on
-// 32-bit Windows; the suspicion is that some third-party software suddenly
-// started to consume a lot more stack memory (before V8 is even initialized).
-// So we speculatively lower the ia32 limit to the ARM limit for the time
-// being. See crbug.com/1346791.
-#define V8_DEFAULT_STACK_SIZE_KB 864
-#else
 // Slightly less than 1MB, since Windows' default stack size for
 // the main execution thread is 1MB.
 #define V8_DEFAULT_STACK_SIZE_KB 984
-#endif
 
 // Helper macros to enable handling of direct C calls in the simulator.
 #if defined(USE_SIMULATOR) &&                                           \