- 07 Nov, 2012 13 commits
-
-
Russ Cox authored
The code assumed that the only choices were EscNone, EscScope, and EscHeap, so that it makes sense to set EscScope only if the current setting is EscNone. Now that we have the many variants of EscReturn, this logic is false, and it was causing important EscScopes to be ignored in favor of EscReturn. Fixes #4360. R=ken2 CC=golang-dev, lvd https://golang.org/cl/6816103
-
Dmitriy Vyukov authored
This is copy of https://golang.org/cl/6810080 but sent from another account (dvyukov@gmail.com is not in CONTRIBUTORS). R=rsc CC=golang-dev https://golang.org/cl/6827060
-
Ian Lance Taylor authored
The old code worked with gc, I assume because the linker unified identical strings, but it failed with gccgo. R=rsc CC=gobot, golang-dev https://golang.org/cl/6826063
-
Roger Peppe authored
The current implement can fail when the block size is not a multiple of 8 bytes. This CL makes it work, and also checks that the data is in fact a multiple of the block size. R=agl, agl CC=golang-dev https://golang.org/cl/6827058
-
Russ Cox authored
Avoids problems with local declarations shadowing other names. We write a more explicit form than the incoming program, so there may be additional type annotations. For example: int := "hello" j := 2 would normally turn into var int string = "hello" var j int = 2 but the int variable shadows the int type in the second line. This CL marks all local variables with a per-function sequence number, so that this would instead be: var int·1 string = "hello" var j·2 int = 2 Fixes #4326. R=ken2 CC=golang-dev https://golang.org/cl/6816100
-
Russ Cox authored
R=ken CC=golang-dev https://golang.org/cl/6815073
-
Mikio Hara authored
The protocol number of ICMP for IPv6 is 58, not 1. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6810093
-
Dmitriy Vyukov authored
Currently race detector runtime maps shadow memory eagerly at process startup. It works poorly on Windows, because Windows requires reservation in swap file (especially problematic if several Go program runs at the same, each consuming GBs of memory). With this change race detector maps shadow memory lazily, so Go runtime must notify about all new heap memory. It will help with Windows port, but also eliminates scary 16TB virtual mememory consumption in top output (which sometimes confuses some monitoring scripts). R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6811085
-
Dmitriy Vyukov authored
Fixes #4307. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6822073
-
Dmitriy Vyukov authored
Current racewalk transformation looks like: x := <-makeChan().c \/\/\/\/\/\/\/\/\/ runtime.raceread(&makeChan().c) x := <-makeChan().c and so makeChan() is called twice. With this CL the transformation looks like: x := <-makeChan().c \/\/\/\/\/\/\/\/\/ chan *tmp = &(makeChan().c) raceread(&*tmp) x := <-(*tmp) Fixes #4245. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6822075
-
Dmitriy Vyukov authored
It is refactoring towards generic walk + it handles mode nodes. Partially fixes 4228 issue. R=golang-dev, lvd, rsc CC=golang-dev https://golang.org/cl/6775098
-
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 8 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
-