]> Cypherpunks repositories - gostls13.git/commit
runtime: give nosplit functions 32 more bytes of headroom
authorRuss Cox <rsc@golang.org>
Wed, 27 Aug 2014 18:08:26 +0000 (14:08 -0400)
committerRuss Cox <rsc@golang.org>
Wed, 27 Aug 2014 18:08:26 +0000 (14:08 -0400)
commitfe91006a02b4892d95d1625889632aa4e0fe2b58
treeb47072b97b0cc713b958d8c2f98fc1d3ad582f1c
parent9a5654abeff85c8ac9b1b43bf7da9aa9f4bdfa15
runtime: give nosplit functions 32 more bytes of headroom

The Go calling convention uses more stack space than C.
On 64-bit systems we've been right up against the limit
(128 bytes, so only 16 words) and doing awful things to
our source code to work around it. Instead of continuing
to do awful things, raise the limit to 160 bytes.
I am prepared to raise the limit to 192 bytes if necessary,
but I think this will be enough.

Should fix current link-time stack overflow errors on
        - nacl/arm
        - netbsd/amd64
        - openbsd/amd64
        - solaris/amd64
        - windows/amd64

TBR=r
CC=golang-codereviews, iant
https://golang.org/cl/131450043
src/pkg/runtime/stack.h
src/pkg/runtime/stack_test.go
test/nosplit.go