aboutsummaryrefslogtreecommitdiff
path: root/test/live_syscall.go
diff options
context:
space:
mode:
authorDavid Chase <drchase@google.com>2016-10-28 13:33:57 -0400
committerDavid Chase <drchase@google.com>2016-10-31 19:38:50 +0000
commit9c066bab643a0224decdd71813096e0d1df0624c (patch)
tree9e7ff445d12d53a581f5f1306510e9bb5e879893 /test/live_syscall.go
parenteec1e5d9c6d00fc493714a09b71e2bca2d7e7fa4 (diff)
downloadgo-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/live_syscall.go')
-rw-r--r--test/live_syscall.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/live_syscall.go b/test/live_syscall.go
index 8aaa691187..f693e9357a 100644
--- a/test/live_syscall.go
+++ b/test/live_syscall.go
@@ -19,10 +19,10 @@ func f(uintptr) // ERROR "f assuming arg#1 is unsafe uintptr"
func g() {
var t int
- f(uintptr(unsafe.Pointer(&t))) // ERROR "live at call to f: autotmp" "g &t does not escape"
+ f(uintptr(unsafe.Pointer(&t))) // ERROR "live at call to f: .?autotmp" "g &t does not escape"
}
func h() {
var v int
- syscall.Syscall(0, 1, uintptr(unsafe.Pointer(&v)), 2) // ERROR "live at call to Syscall: autotmp" "h &v does not escape"
+ syscall.Syscall(0, 1, uintptr(unsafe.Pointer(&v)), 2) // ERROR "live at call to Syscall: .?autotmp" "h &v does not escape"
}