aboutsummaryrefslogtreecommitdiff
path: root/test/codegen
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2018-10-05 08:54:50 -0700
committerKeith Randall <khr@golang.org>2018-10-14 05:21:00 +0000
commit389e942745ddd7eef44b71571c463b0dfc3dcac2 (patch)
tree85787f61381c1f4a546c79f7732f02e106c857a6 /test/codegen
parent0e9f8a21f8b6534931f1ab50909161a289a0da3c (diff)
downloadgo-389e942745ddd7eef44b71571c463b0dfc3dcac2.tar.xz
cmd/compile: reuse temporaries in order pass
Instead of allocating a new temporary each time one is needed, keep a list of temporaries which are free (have already been VARKILLed on every path) and use one of them. Should save a lot of stack space. In a function like this: func main() { fmt.Printf("%d %d\n", 2, 3) fmt.Printf("%d %d\n", 4, 5) fmt.Printf("%d %d\n", 6, 7) } The three [2]interface{} arrays used to hold the ... args all use the same autotmp, instead of 3 different autotmps as happened previous to this CL. Change-Id: I2d728e226f81e05ae68ca8247af62014a1b032d3 Reviewed-on: https://go-review.googlesource.com/c/140301 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'test/codegen')
0 files changed, 0 insertions, 0 deletions