- 30 Aug, 2012 4 commits
-
-
Rob Pike authored
This is required by the spec to produce the replacement char. The fix lies in lib9's rune code. R=golang-dev, nigeltao, rsc CC=golang-dev https://golang.org/cl/6443109
-
Rob Pike authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6495059
-
Dmitriy Vyukov authored
R=r, r CC=golang-dev https://golang.org/cl/6494044
-
Rob Pike authored
Other than catching an error case that was missed before, this CL introduces no changes to the template language or API. For simplicity, templates use spaces as argument separators. This means that spaces are significant: .x .y is not the same as .x.y. In the existing code, these cases are discriminated by the lexer, but that means for instance that (a b).x cannot be distinguished from (a b) .x, which is lousy. Although that syntax is not supported yet, we want to support it and this CL is a necessary step. This CL emits a "space" token (actually a run of spaces) from the lexer so the parser can discriminate these cases. It therefore fixes a couple of undisclosed bugs ("hi".x is now an error) but doesn't otherwise change the language. Later CLs will amend the grammar to make .X a proper operator. There is one unpleasantness: With space a token, three-token lookahead is now required when parsing variable declarations to discriminate them from plain variable references. Otherwise the change isn't bad. The CL also moves the debugging print code out of the lexer into the test, which is the only place it's needed or useful. Step towards resolving issue 3999. It still remains to move field chaining out of the lexer and into the parser and make field access an operator. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/6492054
-
- 29 Aug, 2012 5 commits
-
-
Rob Pike authored
No changes to the meaning, just clearer language and more examples, including illegal rune and string literals. In particular, "character literal" and "character constant" are now called "rune literal" and "rune constant" and the word "character" always refers to the source text, not program values. R=golang-dev, gri CC=golang-dev https://golang.org/cl/6448137
-
Andrew Balholm authored
In the example "units" program for goyacc, the exchange rates were reciprocals of the correct amounts. Turn them right-side-up and update them to current figures. R=golang-dev, r CC=golang-dev https://golang.org/cl/6495053
-
Shenghou Ma authored
Fixes #1635. R=golang-dev, dave, r CC=golang-dev https://golang.org/cl/6496043
-
Shenghou Ma authored
while we are at it, fix some out-of-date comments. R=golang-dev, dave, r CC=golang-dev https://golang.org/cl/6498054
-
Andrew Gerrand authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/6489049
-
- 28 Aug, 2012 4 commits
-
-
Dave Cheney authored
Fixes #3892. Swapping the order of the writers inside the MultiWriter ensures the request will be written to buf before http.ReadRequest completes. The fencedBuffer is not required to make the test pass on any machine that I have access too, but as the buf is shared across goroutines, I think it is necessary for correctness. R=bradfitz, fullung, franciscossouza CC=golang-dev https://golang.org/cl/6483061
-
Rob Pike authored
Also fix a bug in the script (s/runonly/run/) R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6501051
-
Mikio Hara authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6499043
-
Christopher Swenson authored
benchmark old ns/op new ns/op delta BenchmarkAddVW_1 8 8 +0.60% BenchmarkAddVW_2 10 9 -8.64% BenchmarkAddVW_3 10 10 -4.63% BenchmarkAddVW_4 10 11 +3.67% BenchmarkAddVW_5 11 12 +5.98% BenchmarkAddVW_1e1 18 20 +6.38% BenchmarkAddVW_1e2 129 115 -10.85% BenchmarkAddVW_1e3 1270 1089 -14.25% BenchmarkAddVW_1e4 13376 12145 -9.20% BenchmarkAddVW_1e5 130392 125260 -3.94% benchmark old MB/s new MB/s speedup BenchmarkAddVW_1 7709.10 7661.92 0.99x BenchmarkAddVW_2 12451.10 13604.00 1.09x BenchmarkAddVW_3 17727.81 18721.54 1.06x BenchmarkAddVW_4 23552.64 22708.81 0.96x BenchmarkAddVW_5 27411.40 25816.22 0.94x BenchmarkAddVW_1e1 34063.19 32023.06 0.94x BenchmarkAddVW_1e2 49529.97 55360.55 1.12x BenchmarkAddVW_1e3 50380.44 58764.18 1.17x BenchmarkAddVW_1e4 47843.59 52696.10 1.10x BenchmarkAddVW_1e5 49082.60 51093.66 1.04x R=gri, rsc, r CC=golang-dev https://golang.org/cl/6480063
-
- 27 Aug, 2012 3 commits
-
-
Shenghou Ma authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6476066
-
Tobias Columbus authored
Vim autocompletion respects the $GOPATH variable and does not ignore dashes ('-'), dots ('.') and underscores ('_') like found in many remote packages. Environment variable $GOROOT is determined by calling 'go env GOROOT' instead of relying on the user's environment variables. Fixes #3876 Fixes #3882 R=golang-dev, franciscossouza, dsymonds, minux.ma CC=golang-dev https://golang.org/cl/6443151
-
Shenghou Ma authored
R=golang-dev, tobias.columbus, bradfitz CC=golang-dev https://golang.org/cl/6483058
-
- 26 Aug, 2012 2 commits
-
-
Brad Fitzpatrick authored
Fixes #4004 R=golang-dev, r CC=golang-dev https://golang.org/cl/6472055
-
Joel Sing authored
Use version 2 of the NetBSD signal ABI - both version 2 and version 3 are supported by the kernel, with near identical behaviour. However, the netbsd32 compat code does not allow version 3 to be used, which prevents Go netbsd/386 binaries from running in compat mode on a NetBSD amd64 kernel. Switch to version 2 of the ABI, which is the same version currently used by NetBSD's libc. R=minux.ma CC=golang-dev https://golang.org/cl/6476068
-
- 25 Aug, 2012 1 commit
-
-
Rémy Oudompheng authored
R=golang-dev, alex.brainman, minux.ma CC=golang-dev https://golang.org/cl/6443110
-
- 24 Aug, 2012 13 commits
-
-
Robert Griesemer authored
R=iant, iant CC=golang-dev https://golang.org/cl/6485064
-
Rob Pike authored
That way "go version" will talk about "devel" rather than weekly.2012-03-27 R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6478061
-
Rob Pike authored
This shouldn't be an error (see issue 3999), but until it's handled correctly, treat it as one to avoid confusion. Without this CL, (A).X parses as two arguments. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6473059
-
Rob Pike authored
Based on work by Russ Cox. From his CL: This is generally useful but especially helpful when trying to use the built-in boolean operators. It lets you write: {{if not (f 1)}} foo {{end}} {{if and (f 1) (g 2)}} bar {{end}} {{if or (f 1) (g 2)}} quux {{end}} instead of {{if f 1 | not}} foo {{end}} {{if f 1}}{{if g 2}} bar {{end}}{{end}} {{$do := 0}}{{if f 1}}{{$do := 1}}{{else if g 2}}{{$do := 1}}{{end}}{{if $do}} quux {{end}} The result can be a bit LISPy but the benefit in expressiveness and readability for such a small change justifies it. I believe no changes are required to html/template. Fixes #3276. R=golang-dev, adg, rogpeppe, minux.ma CC=golang-dev https://golang.org/cl/6482056
-
Robert Griesemer authored
Benchmarks run on 2.8GHz Quad-Code Intel Xeon, 4GB 800MHz DDR2 FB-DIMM ("PowerMac"). benchmark old ns/op new ns/op delta BenchmarkAddVV_1 7 7 -0.82% BenchmarkAddVV_2 8 8 -3.46% BenchmarkAddVV_3 10 9 -4.81% BenchmarkAddVV_4 9 9 -1.89% BenchmarkAddVV_5 11 10 -5.22% BenchmarkAddVV_1e1 17 18 +4.05% BenchmarkAddVV_1e2 117 115 -1.71% BenchmarkAddVV_1e3 1095 1090 -0.46% BenchmarkAddVV_1e4 13149 12679 -3.57% BenchmarkAddVV_1e5 135133 129482 -4.18% BenchmarkAddVW_1 6 6 -1.14% BenchmarkAddVW_2 7 7 +3.78% BenchmarkAddVW_3 8 8 +0.12% BenchmarkAddVW_4 8 8 -6.52% BenchmarkAddVW_5 9 8 -3.70% BenchmarkAddVW_1e1 14 13 -4.29% BenchmarkAddVW_1e2 97 96 -1.33% BenchmarkAddVW_1e3 953 940 -1.36% BenchmarkAddVW_1e4 9776 9527 -2.55% BenchmarkAddVW_1e5 102396 97738 -4.55% benchmark old MB/s new MB/s speedup BenchmarkAddVV_1 8702.84 8774.56 1.01x BenchmarkAddVV_2 14739.60 15277.82 1.04x BenchmarkAddVV_3 18375.37 19398.16 1.06x BenchmarkAddVV_4 26935.44 27464.68 1.02x BenchmarkAddVV_5 27754.04 29423.30 1.06x BenchmarkAddVV_1e1 37050.89 35629.72 0.96x BenchmarkAddVV_1e2 54289.15 55533.24 1.02x BenchmarkAddVV_1e3 58428.83 58682.53 1.00x BenchmarkAddVV_1e4 48670.55 50475.99 1.04x BenchmarkAddVV_1e5 47360.54 49427.66 1.04x BenchmarkAddVW_1 10397.27 10502.23 1.01x BenchmarkAddVW_2 17279.03 16654.13 0.96x BenchmarkAddVW_3 23858.39 23825.89 1.00x BenchmarkAddVW_4 29799.42 31895.06 1.07x BenchmarkAddVW_5 34781.83 36105.11 1.04x BenchmarkAddVW_1e1 45629.88 47597.42 1.04x BenchmarkAddVW_1e2 65341.93 66240.04 1.01x BenchmarkAddVW_1e3 67153.67 68069.83 1.01x BenchmarkAddVW_1e4 65464.60 67173.83 1.03x BenchmarkAddVW_1e5 62501.88 65480.66 1.05x R=iant CC=golang-dev https://golang.org/cl/6484056
-
Robert Griesemer authored
Benchmarks run on 3.06GHz Intel Core 2 Duo, 4GB 800MHz DDR2 SDRAM ("iMac"). benchmark old ns/op new ns/op delta BenchmarkAddVV_1 6 6 +2.75% BenchmarkAddVV_2 9 7 -19.71% BenchmarkAddVV_3 9 9 +2.25% BenchmarkAddVV_4 10 8 -20.46% BenchmarkAddVV_5 12 10 -19.53% BenchmarkAddVV_1e1 23 15 -32.48% BenchmarkAddVV_1e2 213 107 -49.77% BenchmarkAddVV_1e3 2088 993 -52.44% BenchmarkAddVV_1e4 20874 12027 -42.38% BenchmarkAddVV_1e5 209858 121480 -42.11% BenchmarkAddVW_1 5 5 +0.90% BenchmarkAddVW_2 11 11 -3.51% BenchmarkAddVW_3 7 7 -0.27% BenchmarkAddVW_4 8 7 -6.32% BenchmarkAddVW_5 9 8 -10.89% BenchmarkAddVW_1e1 17 12 -26.01% BenchmarkAddVW_1e2 155 89 -42.32% BenchmarkAddVW_1e3 1479 873 -40.97% BenchmarkAddVW_1e4 13838 8764 -36.67% BenchmarkAddVW_1e5 147353 89560 -39.22% benchmark old MB/s new MB/s speedup BenchmarkAddVV_1 9765.57 9508.55 0.97x BenchmarkAddVV_2 13077.63 16284.97 1.25x BenchmarkAddVV_3 20599.58 20156.67 0.98x BenchmarkAddVV_4 23591.58 29516.02 1.25x BenchmarkAddVV_5 24920.95 31194.10 1.25x BenchmarkAddVV_1e1 27393.76 40621.71 1.48x BenchmarkAddVV_1e2 29911.96 59592.99 1.99x BenchmarkAddVV_1e3 30650.73 64429.84 2.10x BenchmarkAddVV_1e4 30660.09 53213.08 1.74x BenchmarkAddVV_1e5 30496.74 52683.46 1.73x BenchmarkAddVW_1 11503.39 11405.98 0.99x BenchmarkAddVW_2 11203.56 11586.92 1.03x BenchmarkAddVW_3 26173.45 26224.75 1.00x BenchmarkAddVW_4 30560.30 32621.94 1.07x BenchmarkAddVW_5 33183.81 37269.94 1.12x BenchmarkAddVW_1e1 36991.75 50098.53 1.35x BenchmarkAddVW_1e2 41087.14 71549.93 1.74x BenchmarkAddVW_1e3 43266.42 73279.83 1.69x BenchmarkAddVW_1e4 46246.74 73021.97 1.58x BenchmarkAddVW_1e5 43433.00 71459.96 1.65x Benchmarks run on 2.8GHz Quad-Code Intel Xeon, 4GB 800MHz DDR2 FB-DIMM ("PowerMac"). benchmark old ns/op new ns/op delta BenchmarkAddVV_1 7 7 +2.51% BenchmarkAddVV_2 8 8 +3.70% BenchmarkAddVV_3 10 10 +4.00% BenchmarkAddVV_4 11 9 -19.49% BenchmarkAddVV_5 14 11 -18.44% BenchmarkAddVV_1e1 23 17 -27.00% BenchmarkAddVV_1e2 234 117 -50.00% BenchmarkAddVV_1e3 2284 1095 -52.06% BenchmarkAddVV_1e4 22906 13149 -42.60% BenchmarkAddVV_1e5 229860 135133 -41.21% BenchmarkAddVW_1 6 6 +1.15% BenchmarkAddVW_2 7 7 +1.37% BenchmarkAddVW_3 7 8 +1.00% BenchmarkAddVW_4 9 8 -6.93% BenchmarkAddVW_5 10 9 -13.21% BenchmarkAddVW_1e1 18 14 -24.32% BenchmarkAddVW_1e2 170 97 -42.41% BenchmarkAddVW_1e3 1619 953 -41.14% BenchmarkAddVW_1e4 15142 9776 -35.44% BenchmarkAddVW_1e5 160835 102396 -36.33% benchmark old MB/s new MB/s speedup BenchmarkAddVV_1 8928.95 8702.84 0.97x BenchmarkAddVV_2 15298.84 14739.60 0.96x BenchmarkAddVV_3 19116.52 18375.37 0.96x BenchmarkAddVV_4 21644.30 26935.44 1.24x BenchmarkAddVV_5 22771.64 27754.04 1.22x BenchmarkAddVV_1e1 27017.62 37050.89 1.37x BenchmarkAddVV_1e2 27326.09 54289.15 1.99x BenchmarkAddVV_1e3 28016.84 58428.83 2.09x BenchmarkAddVV_1e4 27939.38 48670.55 1.74x BenchmarkAddVV_1e5 27843.00 47360.54 1.70x BenchmarkAddVW_1 10510.97 10397.27 0.99x BenchmarkAddVW_2 17499.71 17279.03 0.99x BenchmarkAddVW_3 24093.93 23858.39 0.99x BenchmarkAddVW_4 27733.08 29799.42 1.07x BenchmarkAddVW_5 30267.17 34781.83 1.15x BenchmarkAddVW_1e1 34566.78 45629.88 1.32x BenchmarkAddVW_1e2 37521.89 65341.93 1.74x BenchmarkAddVW_1e3 39513.18 67153.67 1.70x BenchmarkAddVW_1e4 42263.80 65464.60 1.55x BenchmarkAddVW_1e5 39792.21 62501.88 1.57x R=iant, remyoudompheng, nightlyone, minux.ma CC=golang-dev https://golang.org/cl/6482062
-
Marcel van Lohuizen authored
In the regtest data, surrogates are assigned primary weights based on the surrogate code point value. Go now converts surrogates to FFFD, however, meaning that the primary weight is based on this code point instead. This change drops tests with surrogates and lets the tests pass. R=r CC=golang-dev https://golang.org/cl/6461100
-
Dmitriy Vyukov authored
R=bradfitz@golang.org R=bradfitz CC=bradfitz, dave, dsymonds, gobot, golang-dev https://golang.org/cl/6441134
-
Nigel Tao authored
R=adg CC=golang-dev https://golang.org/cl/6480051
-
Julien Schmidt authored
The second parameter for sql.putConn() (err) is always nil. As a result bad connections are reused, even if the driver returns an driver.ErrBadConn. Unsing a pointer to err instead achievs the desired behavior. See http://code.google.com/p/go/issues/detail?id=3777 for more details. Fixes #3777. R=golang-dev, dave, bradfitz, jameshuachow, BlakeSGentry CC=golang-dev https://golang.org/cl/6348069
-
Brad Fitzpatrick authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/6459050
-
David Symonds authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/6480058
-
Robert Griesemer authored
Bug introduced with CL 6454150. Fixes #4000. R=r CC=golang-dev https://golang.org/cl/6474061
-
- 23 Aug, 2012 8 commits
-
-
Robert Griesemer authored
BenchmarkAddVV_1 500000000 7.24 ns/op 8844.11 MB/s BenchmarkAddVV_2 100000000 10.4 ns/op 12290.41 MB/s BenchmarkAddVV_3 100000000 10.7 ns/op 17966.58 MB/s BenchmarkAddVV_4 100000000 12.3 ns/op 20848.67 MB/s BenchmarkAddVV_5 100000000 14.5 ns/op 21993.82 MB/s BenchmarkAddVV_1e1 100000000 24.0 ns/op 26720.65 MB/s BenchmarkAddVV_1e2 10000000 246 ns/op 26014.58 MB/s BenchmarkAddVV_1e3 1000000 2416 ns/op 26485.06 MB/s BenchmarkAddVV_1e4 100000 23874 ns/op 26806.36 MB/s BenchmarkAddVV_1e5 10000 241155 ns/op 26538.87 MB/s BenchmarkAddVW_1 500000000 6.12 ns/op 10461.91 MB/s BenchmarkAddVW_2 200000000 11.0 ns/op 11596.63 MB/s BenchmarkAddVW_3 200000000 8.97 ns/op 21409.82 MB/s BenchmarkAddVW_4 100000000 10.8 ns/op 23696.72 MB/s BenchmarkAddVW_5 100000000 12.5 ns/op 25524.88 MB/s BenchmarkAddVW_1e1 100000000 21.5 ns/op 29786.32 MB/s BenchmarkAddVW_1e2 10000000 168 ns/op 37925.36 MB/s BenchmarkAddVW_1e3 1000000 1658 ns/op 38579.15 MB/s BenchmarkAddVW_1e4 100000 16492 ns/op 38805.85 MB/s BenchmarkAddVW_1e5 10000 172155 ns/op 37175.69 MB/s BenchmarkAddMulVVW_1 100000000 12.9 ns/op 4968.49 MB/s BenchmarkAddMulVVW_2 100000000 15.5 ns/op 8279.42 MB/s BenchmarkAddMulVVW_3 100000000 13.4 ns/op 14340.53 MB/s BenchmarkAddMulVVW_4 100000000 15.8 ns/op 16194.94 MB/s BenchmarkAddMulVVW_5 100000000 18.9 ns/op 16906.61 MB/s BenchmarkAddMulVVW_1e1 50000000 32.3 ns/op 19838.35 MB/s BenchmarkAddMulVVW_1e2 10000000 285 ns/op 22427.28 MB/s BenchmarkAddMulVVW_1e3 1000000 2777 ns/op 23040.42 MB/s BenchmarkAddMulVVW_1e4 100000 27901 ns/op 22938.01 MB/s BenchmarkAddMulVVW_1e5 10000 281087 ns/op 22768.73 MB/s R=r CC=golang-dev https://golang.org/cl/6478055
-
Adam Langley authored
Update #3930 Return a better error message in this situation. R=golang-dev, r CC=golang-dev https://golang.org/cl/6474055
-
Mikio Hara authored
Fixes #3721. R=dave, rsc CC=golang-dev https://golang.org/cl/6395055
-
Shenghou Ma authored
CVTSS2SQ's rounding mode is controlled by the RC field of MXCSR; as we specifically need truncate semantic, we should use CVTTSS2SQ. Fixes #3804. R=rsc, r CC=golang-dev https://golang.org/cl/6352079
-
Shenghou Ma authored
To make it more compliant. This won't affect the behavior of running on OABI-only kernels. R=golang-dev, iant CC=golang-dev https://golang.org/cl/6475044
-
Nigel Tao authored
in 13416:67c0b8c8fb29 "faster code, mainly for rotate" [1]. The codegen can run out of registers if there are too many small-int arithmetic ops. An alternative approach is to copy 6g's sbop/abop codegen to 8g, but this change is less risky. Fixes #3835. [1] http://code.google.com/p/go/source/diff?spec=svn67c0b8c8fb29b1b7b6221977af6b89cae787b941&name=67c0b8c8fb29&r=67c0b8c8fb29b1b7b6221977af6b89cae787b941&format=side&path=/src/cmd/8g/cgen.c R=rsc, remyoudompheng, r CC=golang-dev https://golang.org/cl/6450163
-
Rob Pike authored
No semantic change. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6475050
-
Carlos Castillo authored
YearDay provides the day in the year represented by a given time.Time object. This value is normally computed as part of other date calculations, but not exported. Fixes #3932. R=golang-dev, r, remyoudompheng CC=golang-dev, rsc https://golang.org/cl/6460069
-