Version 3.28.71.11 (merged r24079)

ARM: Make stack limit stricter to account for large buffers in MacroAssembler.

BUG=chromium:405338
LOG=Y
R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/594033003

git-svn-id: https://v8.googlecode.com/svn/branches/3.28@24131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/flag-definitions.h b/src/flag-definitions.h
index 55af2e6..591fd4f 100644
--- a/src/flag-definitions.h
+++ b/src/flag-definitions.h
@@ -460,9 +460,7 @@
 DEFINE_BOOL(hard_abort, true, "abort by crashing")
 
 // execution.cc
-// Slightly less than 1MB, since Windows' default stack size for
-// the main execution thread is 1MB for both 32 and 64-bit.
-DEFINE_INT(stack_size, 984,
+DEFINE_INT(stack_size, V8_DEFAULT_STACK_SIZE_KB,
            "default size of stack region v8 is allowed to use (in kBytes)")
 
 // frames.cc
diff --git a/src/globals.h b/src/globals.h
index 889822f..89940cc 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -69,6 +69,18 @@
 // Determine whether the architecture uses an out-of-line constant pool.
 #define V8_OOL_CONSTANT_POOL 0
 
+#ifdef V8_TARGET_ARCH_ARM
+// Set stack limit lower for ARM than for other architectures because
+// stack allocating MacroAssembler takes 120K bytes.
+// See issue crbug.com/405338
+#define V8_DEFAULT_STACK_SIZE_KB 864
+#else
+// Slightly less than 1MB, since Windows' default stack size for
+// the main execution thread is 1MB for both 32 and 64-bit.
+#define V8_DEFAULT_STACK_SIZE_KB 984
+#endif
+
+
 // Support for alternative bool type. This is only enabled if the code is
 // compiled with USE_MYBOOL defined. This catches some nasty type bugs.
 // For instance, 'bool b = "false";' results in b == true! This is a hidden
diff --git a/src/version.cc b/src/version.cc
index 2d5f48a..16eefdb 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     28
 #define BUILD_NUMBER      71
-#define PATCH_LEVEL 10
+#define PATCH_LEVEL 11
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0