go /
go /
ae0862c1ec6850035bbb89aa6274392de1020039 cmd/8g: import componentgen from 6g.
This makes the compilers code more similar and improves
code generation a lot.
The number of LEAL instructions generated for cmd/go drops
by 60%.
% GOARCH=386 go build -gcflags -S -a cmd/go | grep LEAL | wc -l
Before: 89774
After: 47548
benchmark old ns/op new ns/op delta
BenchmarkAppendFloatDecimal 540 444 -17.78%
BenchmarkAppendFloat 1160 1035 -10.78%
BenchmarkAppendFloatExp 1060 922 -13.02%
BenchmarkAppendFloatNegExp 1053 920 -12.63%
BenchmarkAppendFloatBig 1773 1558 -12.13%
BenchmarkFormatInt 13065 12481 -4.47%
BenchmarkAppendInt 10981 9900 -9.84%
BenchmarkFormatUint 3804 3650 -4.05%
BenchmarkAppendUint 3506 3303 -5.79%
BenchmarkUnquoteEasy 714 683 -4.34%
BenchmarkUnquoteHard 5117 2915 -43.03%
Update #1914.
R=nigeltao, rsc, golang-dev
CC=golang-dev, remy
https://golang.org/cl/6489067
3 files changed