- 07 Nov, 2012 2 commits
-
-
Alex Brainman authored
Thank you zhoumichaely for original CL 5175042. Fixes #1740. Fixes #2315. R=golang-dev, bradfitz, mikioh.mikioh CC=golang-dev, zhoumichaely https://golang.org/cl/6822045
-
Carl Mastrangelo authored
Benchmarks: benchmark old ns/op new ns/op delta BenchmarkHash8Bytes 762 674 -11.55% BenchmarkHash1K 8791 7375 -16.11% BenchmarkHash8K 65094 54881 -15.69% benchmark old MB/s new MB/s speedup BenchmarkHash8Bytes 10.50 11.86 1.13x BenchmarkHash1K 116.48 138.84 1.19x BenchmarkHash8K 125.85 149.27 1.19x R=dave, rsc, iant CC=golang-dev https://golang.org/cl/6820096
-
- 06 Nov, 2012 14 commits
-
-
Ian Lance Taylor authored
R=golang-dev, nigeltao CC=golang-dev https://golang.org/cl/6812095
-
Rémy Oudompheng authored
A check for smallintconst was missing before generating the comparisons. Fixes #4348. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6815088
-
Shenghou Ma authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6741051
-
Shenghou Ma authored
Fixes #4205 (again). R=r, 0xjnml CC=golang-dev https://golang.org/cl/6819082
-
Shenghou Ma authored
Fixes #4325. R=golang-dev, r CC=golang-dev https://golang.org/cl/6819081
-
Péter Surányi authored
Unlike when using -http, godoc -url didn't initialize the "filesystem" and metadata that are used when generating responses. This CL adds this initialization, so that -url provides the same results as an HTTP request when using -http. Fixes #4335. R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/6817075
-
Daniel Morsing authored
When the first result of a type assertion is blank, the compiler would still copy out a potentially large non-interface type. Fixes #1021. R=golang-dev, bradfitz, rsc CC=golang-dev https://golang.org/cl/6812079
-
Ian Lance Taylor authored
The compiler now gives an error for out of bounds constant indexes for arrays, and for negative constant indexes for both arrays and slices. With this change the index.go test passes if CLs 6815085, 6815088, and 6812089 are committed. R=golang-dev, remyoudompheng, rsc CC=golang-dev https://golang.org/cl/6810085
-
Ian Lance Taylor authored
The test for this is test/index.go, which is not run by default. R=remyoudompheng, rsc CC=golang-dev https://golang.org/cl/6812089
-
Ian Lance Taylor authored
The test for this is test/index.go, which is not run by default. That test does not currently pass even after this is applied, due to issue 4348. Fixes #4344. R=golang-dev, daniel.morsing, rsc CC=golang-dev https://golang.org/cl/6815085
-
Dmitriy Vyukov authored
It speedups the race detector somewhat, but also prevents getcallerpc() from obtaining lessstack(). R=golang-dev, iant CC=golang-dev https://golang.org/cl/6812091
-
Dmitriy Vyukov authored
Currently the build fails with -race if a package in GOPATH imports another package in GOPATH. R=golang-dev, r CC=golang-dev https://golang.org/cl/6811083
-
Dmitriy Vyukov authored
The deadlock occurs when another goroutine requests GC during the test. When wait=true the test expects physical parallelism, that is, that P goroutines are all active at the same time. If GC is requested, then part of the goroutines are not scheduled, so other goroutines deadlock. With wait=false, goroutines finish parallel for w/o waiting for all other goroutines. Fixes #3954. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6820098
-
Dmitriy Vyukov authored
The race detector does not understand ParFor synchronization, because it's implemented in C. If run with -cpu=2 currently race detector says: WARNING: DATA RACE Read by goroutine 5: runtime_test.TestParForParallel() src/pkg/runtime/parfor_test.go:118 +0x2e0 testing.tRunner() src/pkg/testing/testing.go:301 +0x8f Previous write by goroutine 6: runtime_test.func·024() src/pkg/runtime/parfor_test.go:111 +0x52 R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6811082
-
- 05 Nov, 2012 2 commits
-
-
Andrew Gerrand authored
R=golang-dev, bradfitz, lvd CC=golang-dev https://golang.org/cl/6819089
-
Andrew Gerrand authored
R=gri CC=golang-dev https://golang.org/cl/6815081
-
- 04 Nov, 2012 3 commits
-
-
Shenghou Ma authored
R=alex.brainman CC=golang-dev https://golang.org/cl/6816085
-
Dave Cheney authored
This CL is a backport of 6012049 which improves code generation for shift operations. benchmark old ns/op new ns/op delta BenchmarkLSL 9 5 -49.67% BenchmarkLSR 9 4 -50.00% R=golang-dev, minux.ma, r, rsc CC=golang-dev https://golang.org/cl/6813045
-
Alex Brainman authored
It also increases timeout deltas to allow for longer wait. Also disables this test on plan9. R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/6821062
-
- 02 Nov, 2012 11 commits
-
-
Rob Pike authored
It was well-defined but easy to miss that the return value for "not found" is len(input) not -1 as many expect. Fixes #4205. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/6820080
-
Rémy Oudompheng authored
It happens that blocks are used for function calls in a quite low-level way so they cannot be instrumented as usual. Blocks are also used for inlined functions. R=golang-dev, rsc, dvyukov CC=golang-dev https://golang.org/cl/6821068
-
Dmitriy Vyukov authored
The issue is that server still sends body, when client closes the fd. Fixes #4329. R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/6822072
-
Shenghou Ma authored
This is the last CL for FreeBSD/ARM support. Also update cmd/ld/doc.go for 5l support of -Hfreebsd. R=rsc CC=golang-dev https://golang.org/cl/6650051
-
Jeff R. Allen authored
R=minux.ma, dave, extraterrestrial.neighbour, rsc CC=golang-dev https://golang.org/cl/6587069
-
Alex Brainman authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6811069
-
Rémy Oudompheng authored
Compiling expressions like: s[s[s[s[s[s[s[s[s[s[s[s[i]]]]]]]]]]]] make 5g and 6g run out of registers. Such expressions can arise if a slice is used to represent a permutation and the user wants to iterate it. This is due to the usual problem of allocating registers before going down the expression tree, instead of allocating them in a postfix way. The functions cgenr and agenr (that generate a value to a newly allocated register instead of an existing location), are either introduced or modified when they already existed to allocate the new register as late as possible, and sudoaddable is disabled for OINDEX nodes so that igen/agenr is used instead. Update #4207. R=dave, daniel.morsing, rsc CC=golang-dev https://golang.org/cl/6733055
-
Nigel Tao authored
R=r CC=golang-dev https://golang.org/cl/6817070
-
Oling Cat authored
R=golang-dev CC=golang-dev https://golang.org/cl/6818083
-
Russ Cox authored
This is an experiment in static analysis of Go programs to understand which struct fields a program might use. It is not part of the Go language specification, it must be enabled explicitly when building the toolchain, and it may be removed at any time. After building the toolchain with GOEXPERIMENT=fieldtrack, a specific field can be marked for tracking by including `go:"track"` in the field tag: package pkg type T struct { F int `go:"track"` G int // untracked } To simplify usage, only named struct types can have tracked fields, and only exported fields can be tracked. The implementation works by making each function begin with a sequence of no-op USEFIELD instructions declaring which tracked fields are accessed by a specific function. After the linker's dead code elimination removes unused functions, the fields referred to by the remaining USEFIELD instructions are the ones reported as used by the binary. The -k option to the linker specifies the fully qualified symbol name (such as my/pkg.list) of a string variable that should be initialized with the field tracking information for the program. The field tracking string is a sequence of lines, each terminated by a \n and describing a single tracked field referred to by the program. Each line is made up of one or more tab-separated fields. The first field is the name of the tracked field, fully qualified, as in "my/pkg.T.F". Subsequent fields give a shortest path of reverse references from that field to a global variable or function, corresponding to one way in which the program might reach that field. A common source of false positives in field tracking is types with large method sets, because a reference to the type descriptor carries with it references to all methods. To address this problem, the CL also introduces a comment annotation //go:nointerface that marks an upcoming method declaration as unavailable for use in satisfying interfaces, both statically and dynamically. Such a method is also invisible to package reflect. Again, all of this is disabled by default. It only turns on if you have GOEXPERIMENT=fieldtrack set during make.bash. R=iant, ken CC=golang-dev https://golang.org/cl/6749064
-
Alex Brainman authored
Fixes #4320. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6810064
-
- 01 Nov, 2012 8 commits
-
-
Robert Griesemer authored
R=iant CC=golang-dev https://golang.org/cl/6775093
-
Robert Griesemer authored
- removes exp/types/staging - the only code change is in exp/gotype/gotype.go R=iant CC=golang-dev https://golang.org/cl/6822068
-
Robert Griesemer authored
The only code change is in exp/gotype/gotype.go. The latest reviewed version of exp/types is now exp/types/staging. First step toward replacing exp/types with exp/types/staging. R=iant CC=golang-dev https://golang.org/cl/6819071
-
Ian Lance Taylor authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6821067
-
Eric Roshan-Eisner authored
Labels the existing benchmark as stream, and add benchmarks that compute the checksum. R=golang-dev, agl CC=golang-dev https://golang.org/cl/6814060
-
Rémy Oudompheng authored
Discovered by adding OBLOCK support to race instrumentation. R=golang-dev, minux.ma, rsc CC=golang-dev https://golang.org/cl/6819067
-
Robert Griesemer authored
- minor unrelated cleanups - performance impact in the noise benchmark old ns/op new ns/op delta BenchmarkReadSlice1000Int32s 83462 83346 -0.14% BenchmarkReadStruct 4141 4247 +2.56% BenchmarkReadInts 1588 1586 -0.13% BenchmarkWriteInts 1550 1489 -3.94% BenchmarkPutUvarint32 39 39 +1.02% BenchmarkPutUvarint64 142 144 +1.41% benchmark old MB/s new MB/s speedup BenchmarkReadSlice1000Int32s 47.93 47.99 1.00x BenchmarkReadStruct 16.90 16.48 0.98x BenchmarkReadInts 18.89 18.91 1.00x BenchmarkWriteInts 19.35 20.15 1.04x BenchmarkPutUvarint32 101.90 100.82 0.99x BenchmarkPutUvarint64 56.11 55.45 0.99x Fixes #4185. R=r, rsc CC=golang-dev https://golang.org/cl/6750053
-
Russ Cox authored
R=dvyukov CC=golang-dev https://golang.org/cl/6810067
-