diff options
author | David Chase <drchase@google.com> | 2016-10-28 13:33:57 -0400 |
---|---|---|
committer | David Chase <drchase@google.com> | 2016-10-31 19:38:50 +0000 |
commit | 9c066bab643a0224decdd71813096e0d1df0624c (patch) | |
tree | 9e7ff445d12d53a581f5f1306510e9bb5e879893 /test/live2.go | |
parent | eec1e5d9c6d00fc493714a09b71e2bca2d7e7fa4 (diff) | |
download | go-9c066bab643a0224decdd71813096e0d1df0624c.tar.gz go-9c066bab643a0224decdd71813096e0d1df0624c.zip |
cmd/compile: mark temps with new AutoTemp flag, and use it.
This is an extension of
https://go-review.googlesource.com/c/31662/
to mark all the temporaries, not just the ssa-generated ones.
Before-and-after ls -l `go tool -n compile` shows a 3%
reduction in size (or rather, a prior 3% inflation for
failing to filter temps out properly.)
Replaced name-dependent "is it a temp?" tests with calls to
*Node.IsAutoTmp(), which depends on AutoTemp. Also replace
calls to istemp(n) with n.IsAutoTmp(), to reduce duplication
and clean up function name space. Generated temporaries
now come with a "." prefix to avoid (apparently harmless)
clashes with legal Go variable names.
Fixes #17644.
Fixes #17240.
Change-Id: If1417f29c79a7275d7303ddf859b51472890fd43
Reviewed-on: https://go-review.googlesource.com/32255
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'test/live2.go')
-rw-r--r-- | test/live2.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/test/live2.go b/test/live2.go index 4ae60cdf3a..6138d369c9 100644 --- a/test/live2.go +++ b/test/live2.go @@ -20,20 +20,20 @@ type T40 struct { func newT40() *T40 { ret := T40{} - ret.m = make(map[int]int) // ERROR "live at call to makemap: &ret" + ret.m = make(map[int]int) // ERROR "live at call to makemap: &ret$" return &ret } func bad40() { - t := newT40() // ERROR "live at call to makemap: autotmp_.* ret" - printnl() // ERROR "live at call to printnl: autotmp_.* ret" + t := newT40() // ERROR "live at call to makemap: .autotmp_[0-9]+ ret$" + printnl() // ERROR "live at call to printnl: .autotmp_[0-9]+ ret$" _ = t } func good40() { ret := T40{} - ret.m = make(map[int]int) // ERROR "live at call to makemap: autotmp_.* ret" + ret.m = make(map[int]int) // ERROR "live at call to makemap: .autotmp_[0-9]+ ret$" t := &ret - printnl() // ERROR "live at call to printnl: autotmp_.* ret" + printnl() // ERROR "live at call to printnl: .autotmp_[0-9]+ ret$" _ = t } |