Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1934)

Issue 129400044: cmd/6g: generate boolean values without jumps (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
9 years, 9 months ago by josharian
Modified:
9 years, 4 months ago
Reviewers:
Visibility:
Public.

Description

cmd/6g: generate boolean values without jumps [Depends on issue 8545 being fixed correctly; in the interim, use CL 125510043.] 5g and 8g (and 9g?) will be handled in subsequent CLs. Top movers in stdlib benchmarks: benchmark old ns/op new ns/op delta BenchmarkNextafter64 7.72 5.86 -24.09% BenchmarkSignbit 2.13 2.78 +30.52% BenchmarkNextafter32 7.98 6.17 -22.68% BenchmarkClientServer 110304 86169 -21.88% BenchmarkContendedSemaphore 72.0 86.1 +19.58% BenchmarkIndexByte32 6.94 8.28 +19.31% BenchmarkIndexRuneFastPath 27.3 22.9 -16.12% BenchmarkFinalizer 939372 1092025 +16.25% BenchmarkTCP4OneShotTimeout 1123770 969409 -13.74% BenchmarkUnquoteEasy 190 217 +14.21% BenchmarkCompareBytesToNil 6.92 6.13 -11.42% BenchmarkComplex128DivNisNaN 11.4 10.1 -11.40% BenchmarkEqual16 7.18 6.38 -11.14% BenchmarkEqual9 7.18 6.38 -11.14% BenchmarkEqual15 7.18 6.41 -10.72% BenchmarkSearchWrappers 162 145 -10.49% BenchmarkEqual20 8.01 7.18 -10.36% BenchmarkCompareBytesBigIdentical 5.32 4.79 -9.96% BenchmarkInterfaceSmall 15.2 13.8 -9.21% BenchmarkEqual32 8.81 8.00 -9.19% BenchmarkTrimSpace 52.7 58.0 +10.06% BenchmarkCompareBytesEmpty 5.87 5.34 -9.03% BenchmarkMapStringKeysEight_64 21.8 23.9 +9.63% BenchmarkMapStringKeysEight_16 22.8 20.8 -8.77% BenchmarkMapStringKeysEight_1M 21.9 24.0 +9.59% BenchmarkMapStringKeysEight_32 21.9 24.0 +9.59% BenchmarkCompareBytesIdentical 5.85 5.34 -8.72% BenchmarkAcosh 32.2 35.2 +9.32% BenchmarkMin 3.20 2.93 -8.44% BenchmarkIPString 2120 1954 -7.83% BenchmarkChanSem 61.9 57.3 -7.43% BenchmarkCompareBytesDifferentLength 6.91 6.40 -7.38% BenchmarkCompareBytesEqual 6.91 6.40 -7.38% BenchmarkCompareBytesSameLength 6.92 6.41 -7.37% All regressions I've investigated are due to incidental code movement, generally due to generated code being shorter. Full benchcmp output is at https://gist.github.com/josharian/e49e89916101c4f145fc. The godoc binary is ~0.2% smaller after this CL. Update issue 5729

Patch Set 1 #

Patch Set 2 : diff -r 7e00313f3b3a14e59d607aaab84416289dbc76f6 https://code.google.com/p/go #

Patch Set 3 : diff -r 7e00313f3b3a14e59d607aaab84416289dbc76f6 https://code.google.com/p/go #

Patch Set 4 : diff -r 7e00313f3b3a14e59d607aaab84416289dbc76f6 https://code.google.com/p/go #

Patch Set 5 : diff -r 7e00313f3b3a14e59d607aaab84416289dbc76f6 https://code.google.com/p/go #

Unified diffs Side-by-side diffs Delta from patch set Stats (+394 lines, -31 lines) Patch
M src/cmd/5g/cgen.c View 1 2 3 4 4 chunks +21 lines, -10 lines 0 comments Download
M src/cmd/6g/cgen.c View 1 2 5 chunks +221 lines, -11 lines 0 comments Download
M src/cmd/6g/gg.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/6g/gsubr.c View 1 3 chunks +49 lines, -0 lines 0 comments Download
M src/cmd/6g/prog.c View 1 1 chunk +17 lines, -0 lines 0 comments Download
M src/cmd/8g/cgen.c View 1 2 3 4 4 chunks +21 lines, -10 lines 0 comments Download
M src/cmd/gc/cplx.c View 1 2 1 chunk +62 lines, -0 lines 0 comments Download
M src/cmd/gc/go.h View 1 2 2 chunks +2 lines, -0 lines 0 comments Download

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b