aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/stack.h
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-09-06 21:16:13 -0400
committerRuss Cox <rsc@golang.org>2014-09-06 21:16:13 -0400
commitb6951bcc0bb081bdd46e3509bd5d4e2c1fa87323 (patch)
treee0889a5f4b958ec87bc482427deafb495ff9de71 /src/pkg/runtime/stack.h
parent7230db9ef8f0bcf69d5ca5743c2177e795f0cbe1 (diff)
downloadgo-b6951bcc0bb081bdd46e3509bd5d4e2c1fa87323.tar.xz
runtime: increase stack split limit again
Increase NOSPLIT reservation from 192 to 384 bytes. The problem is that the non-Unix systems (Solaris and Windows) just can't make system calls in a small amount of space, and then worse they do things that are complex enough to warrant calling runtime.throw on failure. We don't have time to rewrite the code to use less stack. I'm not happy about this, but it's still a small amount. The good news is that we're doing this to get to only using copying stacks for stack growth. Once that is true, we can drop the default stack size from 8k to 4k, which should more than make up for the bytes we're losing here. LGTM=r R=iant, r, bradfitz, aram.h CC=golang-codereviews https://golang.org/cl/140350043
Diffstat (limited to 'src/pkg/runtime/stack.h')
-rw-r--r--src/pkg/runtime/stack.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/pkg/runtime/stack.h b/src/pkg/runtime/stack.h
index dc9da74887..7f8c43ee54 100644
--- a/src/pkg/runtime/stack.h
+++ b/src/pkg/runtime/stack.h
@@ -89,12 +89,12 @@ enum {
// The stack guard is a pointer this many bytes above the
// bottom of the stack.
- StackGuard = 256 + StackSystem,
+ StackGuard = 512 + StackSystem,
// After a stack split check the SP is allowed to be this
// many bytes below the stack guard. This saves an instruction
// in the checking sequence for tiny frames.
- StackSmall = 64,
+ StackSmall = 128,
// The maximum number of bytes that a chain of NOSPLIT
// functions can use.