• Rémy Oudompheng's avatar
    cmd/8g: import componentgen from 6g. · ae0862c1
    Rémy Oudompheng authored
    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
    ae0862c1
gg.h 3.61 KB