1
0
mirror of https://github.com/golang/go synced 2024-10-04 13:21:22 -06:00
go/src/cmd
Josh Bleecher Snyder d1faf3879e cmd/compile: don’t generate pointless gotos during inlining
Their only purpose in life was to suppress an error.
Suppress that error explicitly instead by reusing
an existing, aptly named Node field.

This generates fewer blocks during ssa construction.

name       old alloc/op     new alloc/op     delta
Template       47.5MB ± 0%      47.2MB ± 0%  -0.72%        (p=0.000 n=15+15)
Unicode        36.8MB ± 0%      36.8MB ± 0%    ~           (p=0.775 n=15+15)
GoTypes         143MB ± 0%       142MB ± 0%  -1.03%        (p=0.000 n=15+14)
Compiler        686MB ± 0%       674MB ± 0%  -1.75%        (p=0.000 n=15+15)

name       old allocs/op    new allocs/op    delta
Template         446k ± 0%        445k ± 0%  -0.20%        (p=0.000 n=15+15)
Unicode          355k ± 0%        355k ± 0%    ~           (p=0.235 n=13+15)
GoTypes         1.36M ± 0%       1.36M ± 0%  -0.41%        (p=0.000 n=13+15)
Compiler        5.77M ± 0%       5.70M ± 0%  -1.16%        (p=0.000 n=15+15)


Change-Id: I5f14afb833c9d355688d9a229eb820e95c7657bf
Reviewed-on: https://go-review.googlesource.com/27461
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-08-21 23:18:33 +00:00
..
addr2line
api all: rename vendored golang.org/x/net packages to golang_org 2016-07-13 18:35:40 +00:00
asm cmd/internal/obj: convert Aconv to a stringer 2016-08-16 15:03:07 +00:00
cgo cmd/cgo: error, not panic, if not enough arguments to function 2016-06-21 04:32:04 +00:00
compile cmd/compile: don’t generate pointless gotos during inlining 2016-08-21 23:18:33 +00:00
cover cmd: fixed certain vet warnings 2016-05-12 15:58:30 +00:00
dist cmd/dist: build cmd/compile/internal/syntax 2016-08-18 21:33:53 +00:00
doc cmd/doc: ensure functions with unexported return values are shown 2016-08-02 03:24:48 +00:00
fix all: single space after period. 2016-03-02 00:13:47 +00:00
go cmd/yacc: remove go tool yacc 2016-08-18 16:15:23 +00:00
gofmt gofmt: remove unneeded call to os.Exit 2016-07-11 18:37:12 +00:00
internal cmd/internal/obj: update Bool2int to the form optimized by the compiler 2016-08-19 03:33:36 +00:00
link cmd/link/internal/ld: rename pobj.go to main.go 2016-08-21 23:00:44 +00:00
nm all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
objdump cmd/objdump: skip TestDisasm* on s390x 2016-04-12 18:10:47 +00:00
pack all: use SeekStart, SeekCurrent, SeekEnd 2016-05-06 00:10:41 +00:00
pprof cmd/pprof: don't use local symbolization for remote source 2016-06-25 00:36:40 +00:00
trace cmd/trace: split large traces into parts 2016-05-12 17:53:59 +00:00
vendor cmd/objdump: fix disassembly suffixes 2016-06-23 02:28:18 +00:00
vet cmd/vet: re-quote struct tags when printing errors 2016-08-21 22:47:03 +00:00