Bug 256180 build config part - Increase the max size for the runtime stack on Windows. draft
authorHenri Sivonen <hsivonen@hsivonen.fi>
Thu, 14 Sep 2017 11:39:43 +0300
changeset 676673 0508eb4fa1b443afa029523331c0b29931f5e5fa
parent 676654 daf2afb7a40b2238125ac02acc0791a3676f5538
child 676674 5d407b66d6bef5f380d3cc03e528f5d53c22dc49
push id83579
push userbmo:hsivonen@hsivonen.fi
push dateMon, 09 Oct 2017 09:11:23 +0000
bugs256180
milestone58.0a1
Bug 256180 build config part - Increase the max size for the runtime stack on Windows. MozReview-Commit-ID: JhWucajuuFz
config/config.mk
--- a/config/config.mk
+++ b/config/config.mk
@@ -393,23 +393,32 @@ endif
 else
 # For setting subsystem version
 WIN32_EXE_LDFLAGS	+= $(WIN32_CONSOLE_EXE_LDFLAGS)
 endif
 endif # WINNT
 
 ifdef _MSC_VER
 ifeq ($(CPU_ARCH),x86_64)
-ifdef MOZ_ASAN
-# ASan could have 3x stack memory usage of normal builds.
-WIN32_EXE_LDFLAGS	+= -STACK:6291456
+# Normal operation on 64-bit Windows needs 2 MB of stack. (Bug 582910)
+# ASAN requires 6 MB of stack.
+# Setting the stack to 8 MB to match the capability of other systems
+# to deal with frame construction for unreasonably deep DOM trees
+# with worst-case styling. This uses address space unnecessarily for
+# non-main threads, but that should be tolerable on 64-bit systems.
+# (Bug 256180)
+WIN32_EXE_LDFLAGS	+= -STACK:8388608
 else
-# set stack to 2MB on x64 build.  See bug 582910
-WIN32_EXE_LDFLAGS	+= -STACK:2097152
-endif
+# Since this setting affects the default stack size for non-main
+# threads, too, to avoid burning the address space, increase only
+# 256 KB over the default. Just enough to be able to deal with
+# reasonable styling applied to DOM trees whose depth is near what
+# Blink's HTML parser can output, esp.
+# layout/base/crashtests/507119.html (Bug 256180)
+WIN32_EXE_LDFLAGS	+= -STACK:1310720
 endif
 endif
 
 #
 # Include any personal overrides the user might think are needed.
 #
 -include $(topsrcdir)/$(MOZ_BUILD_APP)/app-config.mk
 -include $(MY_CONFIG)