]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: collapse runs of string constants in walkprint
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 22 May 2017 13:40:06 +0000 (06:40 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 15 Aug 2017 21:54:48 +0000 (21:54 +0000)
commita14a8a3eb99658b6a0856b664cf900c861a2e306
tree1bc76ed58ab096eb5b3664dcdc8ad5e32244399f
parent9de7990054184381f1c520563d60175f821e7d7f
cmd/compile: collapse runs of string constants in walkprint

This reduces the code footprint of code like:

println("foo=", foo, "bar=", bar)

which is fairly common in the runtime.

Prior to this change, this makes function calls to print each of:

"foo=", " ", foo, " ", "bar=", " ", bar, "\n"

After this change, this prints:

"foo= ", foo, " bar= ", bar, "\n"

This shrinks the hello world binary by 0.4%.
More importantly, this improves the instruction
density of important runtime routines.

Change-Id: I8971bdf5382fbaaf4a82bad4442f9da07c28d395
Reviewed-on: https://go-review.googlesource.com/55098
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/gc/walk.go