diff options
author | Keith Randall <khr@golang.org> | 2015-09-19 12:01:39 -0700 |
---|---|---|
committer | Keith Randall <khr@golang.org> | 2015-09-20 07:10:05 +0000 |
commit | d29e92be523efd8270c0e7ca0eaa6afa86bbedca (patch) | |
tree | 1e3d4fc7bad664b3d8bc441f1966dd09be116be5 /test/nosplit.go | |
parent | 37590bddc417c2675f4979a9467edc1961f88b61 (diff) | |
download | go-d29e92be523efd8270c0e7ca0eaa6afa86bbedca.tar.gz go-d29e92be523efd8270c0e7ca0eaa6afa86bbedca.zip |
[dev.ssa] cmd/compile: Use varkill only for non-SSAable vars
For variables which get SSA'd, SSA keeps track of all the def/kill.
It is only for on-stack variables that we need them.
This reduces stack frame sizes significantly because often the
only use of a variable was a varkill, and without that last use
the variable doesn't get allocated in the frame at all.
Fixes #12602
Change-Id: I3f00a768aa5ddd8d7772f375b25f846086a3e689
Reviewed-on: https://go-review.googlesource.com/14758
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'test/nosplit.go')
-rw-r--r-- | test/nosplit.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/nosplit.go b/test/nosplit.go index e7c00f5783..e5c2a9f30e 100644 --- a/test/nosplit.go +++ b/test/nosplit.go @@ -285,12 +285,12 @@ TestCases: // Instead of rewriting the test cases above, adjust // the first stack frame to use up the extra bytes. if i == 0 { - size += 832 - 128 + size += 512 - 128 // Noopt builds have a larger stackguard. // See ../cmd/dist/buildruntime.go:stackGuardMultiplier for _, s := range strings.Split(os.Getenv("GO_GCFLAGS"), " ") { if s == "-N" { - size += 960 + size += 640 } } } |