]> Cypherpunks repositories - gostls13.git/commit
cmd/8g: import componentgen from 6g.
authorRémy Oudompheng <oudomphe@phare.normalesup.org>
Sun, 9 Sep 2012 18:30:08 +0000 (20:30 +0200)
committerRémy Oudompheng <oudomphe@phare.normalesup.org>
Sun, 9 Sep 2012 18:30:08 +0000 (20:30 +0200)
commitae0862c1ec6850035bbb89aa6274392de1020039
tree5cd8ae857614c2d6e1b448528edad16e73fa87af
parentb7376442669a0ea48e06bd98a3350c33cefe1113
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
src/cmd/8g/cgen.c
src/cmd/8g/gg.h
src/cmd/8g/ggen.c