Reviewers: Michael Achenbach,

Description:
Version 3.28.71.11 (merged r24079)

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

BUG=chromium:405338
LOG=Y
[email protected]

Please review this at https://codereview.chromium.org/594033003/

SVN Base: https://v8.googlecode.com/svn/branches/3.28

Affected files (+14, -4 lines):
  M src/flag-definitions.h
  M src/globals.h
  M src/version.cc


Index: src/flag-definitions.h
diff --git a/src/flag-definitions.h b/src/flag-definitions.h
index 55af2e67400a02ddac108865583a0855f7945aab..591fd4f1104e3825a124d7cbfb479bcc55b5af96 100644
--- a/src/flag-definitions.h
+++ b/src/flag-definitions.h
@@ -460,9 +460,7 @@ DEFINE_BOOL(enable_liveedit, true, "enable liveedit experimental feature")
 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
Index: src/globals.h
diff --git a/src/globals.h b/src/globals.h
index 889822f918129b5cd4c67df4bb278417196d2927..89940ccaeeae20b2556fcad30f9426d3f868a18f 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -69,6 +69,18 @@ namespace internal {
 // 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
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 2d5f48a0faa394d0fa90ce89c80e43a966a712c1..16eefdbf81806de422adda940c9f30e8f4f51c06 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


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to