Commit ed5d288a authored by danno@chromium.org's avatar danno@chromium.org

Adjust stack limit again to avoid overflow on 64 bit windows

Also add additional stack check.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10006010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 38610630
......@@ -2295,6 +2295,12 @@ Genesis::Genesis(Isolate* isolate,
HandleScope scope;
SaveContext saved_context(isolate);
// During genesis, the boilerplate for stack overflow won't work until the
// environment has been at least partially initialized. Add a stack check
// before entering JS code to catch overflow early.
StackLimitCheck check(Isolate::Current());
if (check.HasOverflowed()) return;
Handle<Context> new_context = Snapshot::NewContextFromSnapshot();
if (!new_context.is_null()) {
global_context_ =
......
......@@ -312,7 +312,7 @@ DEFINE_bool(break_on_abort, true, "always cause a debug break before aborting")
// execution.cc
// Slightly less than 1MB on 64-bit, since Windows' default stack size for
// the main execution thread is 1MB for both 32 and 64-bit.
DEFINE_int(stack_size, kPointerSize * 125,
DEFINE_int(stack_size, kPointerSize * 123,
"default size of stack region v8 is allowed to use (in kBytes)")
// frames.cc
......
......@@ -29,7 +29,7 @@
var d = 0;
function recurse() {
if (++d == 25515) { // A magic number just below stack overflow on ia32
if (++d == 25135) { // A magic number just below stack overflow on ia32
%DebugBreak();
}
recurse();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment