• Josh Bleecher Snyder's avatar
    cmd/compile: collapse runs of string constants in walkprint · a14a8a3e
    Josh Bleecher Snyder authored
    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: 's avatarMatthew Dempsky <mdempsky@google.com>
    a14a8a3e
walk.go 94.4 KB