• Ian Lance Taylor's avatar
    cmd/compile: don't create 2 Sym's and 2 Node's for every string · 65b40204
    Ian Lance Taylor authored
    For every string constant the compiler was creating 2 Sym's and 2
    Node's.  It would never refer to them again, but would keep them alive
    in gostringpkg.  This changes the code to just use obj.LSym's instead.
    
    When compiling x/tools/go/types, this yields about a 15% reduction in
    the number of calls to newname and a 3% reduction in the total number of
    Node objects.  Unfortunately I couldn't see any change in compile time,
    but reducing memory usage is desirable anyhow.
    
    Passes toolstash -cmp.
    
    Change-Id: I24f1cb1e6cff0a3afba4ca66f7166874917a036b
    Reviewed-on: https://go-review.googlesource.com/20792Reviewed-by: default avatarDavid Crawshaw <crawshaw@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    65b40204
reflect.go 36.9 KB