- 29 Dec, 2009 2 commits
-
-
Robert Griesemer authored
tabs after an empty line where not converted. Also, made it more robust in the presence of (unexpected) ' ' and '\v' chars in indentation mode. R=r CC=golang-dev https://golang.org/cl/181085
-
Robert Griesemer authored
Use uint index variables in some cases instead of int to enable strength reduction; this makes it possible for the compiler to reduce % into masks. Old code: 6g -S md4.go md4block.go | grep "md4block.go:44" 0471 (md4block.go:44) MOVL AX,BX 0472 (md4block.go:44) MOVL AX,BP 0473 (md4block.go:44) MOVL AX,R8 0474 (md4block.go:44) SARL $31,R8 0475 (md4block.go:44) SHRL $30,R8 0476 (md4block.go:44) ADDL R8,BP 0477 (md4block.go:44) SARL $2,BP 0478 (md4block.go:44) IMULL $4,BP 0479 (md4block.go:44) SUBL BP,BX 0480 (md4block.go:44) MOVLQSX BX,BX 0481 (md4block.go:44) LEAQ shift1+0(SB),BP 0482 (md4block.go:44) CMPL BX,8(BP) 0483 (md4block.go:44) JCS ,485 0484 (md4block.go:44) CALL ,runtime.throwindex+0(SB) 0485 (md4block.go:44) MOVQ (BP),BP 0486 (md4block.go:44) MOVL (BP)(BX*4),DI New code: 6g -S md4.go md4block.go | grep "md4block.go:44" 0471 (md4block.go:44) MOVL AX,BX 0472 (md4block.go:44) ANDL $3,BX 0473 (md4block.go:44) MOVLQZX BX,BX 0474 (md4block.go:44) LEAQ shift1+0(SB),BP 0475 (md4block.go:44) CMPL BX,8(BP) 0476 (md4block.go:44) JCS ,478 0477 (md4block.go:44) CALL ,runtime.throwindex+0(SB) 0478 (md4block.go:44) MOVQ (BP),BP 0479 (md4block.go:44) MOVL (BP)(BX*4),DI R=agl, agl1 CC=golang-dev https://golang.org/cl/181086
-
- 28 Dec, 2009 5 commits
-
-
Robert Griesemer authored
(I was looking at this code accidentally because of some gofmt issues and thought that one could write this more effectively. You may have deliberately chosen not to use ranges here to make the index range clearer. Just let me know.) R=agl, agl1 CC=golang-dev https://golang.org/cl/181084
-
Robert Griesemer authored
Fixes #457. R=r CC=golang-dev https://golang.org/cl/181083
-
Rob Pike authored
Fixes #459. R=rsc, imkrasin, sonia CC=golang-dev https://golang.org/cl/181073
-
Robert Griesemer authored
R=agl, agl1 CC=golang-dev https://golang.org/cl/181080
-
Adam Langley authored
Listener contains private members and 6g now enforces that private members cannot be assigned outside of their package. R=rsc CC=golang-dev https://golang.org/cl/183073
-
- 27 Dec, 2009 1 commit
-
-
Russ Cox authored
reported by erik quanstrom. R=ken2 https://golang.org/cl/181071
-
- 26 Dec, 2009 1 commit
-
-
Rob Pike authored
also a way to run code when object is deleted. both of these are possibilities, not certainties. R=rsc, iant CC=golang-dev https://golang.org/cl/181057
-
- 24 Dec, 2009 4 commits
-
-
Devon H. O'Dell authored
a possible interface for more granular sleep times. Fixes issue #260. R=rsc, r CC=golang-dev https://golang.org/cl/181058
-
Rob Pike authored
(i thought these were legal in <pre> blocks) R=rsc CC=golang-dev, pwil3058 https://golang.org/cl/181055
-
Ian Lance Taylor authored
R=dsymonds1 CC=golang-dev https://golang.org/cl/183049
-
Ian Lance Taylor authored
gccgo currently miscompiles this test. R=rsc CC=golang-dev https://golang.org/cl/181050
-
- 23 Dec, 2009 11 commits
-
-
Russ Cox authored
Without this change, the spec parses <-c.(type) as (<-c).(type) but parses <-c.(int) as <-(c.(int)). With this change, the former parses as <-(c.(type)). All three parsers already implement this rule, because they look for the "type" word during parsing of a standard type assertion. This change merely brings the spec in line with the implementations. http://code.google.com/p/go/source/browse/src/cmd/gc/go.y#801 http://code.google.com/p/go/source/browse/src/pkg/go/parser/parser.go#900 http://gcc.gnu.org/viewcvs/branches/gccgo/gcc/go/parse.cc?revision=155389&view=markup#l2469 Pointed out by Brett Kail on golang-nuts. R=gri CC=golang-dev https://golang.org/cl/182044
-
Peter Froehlich authored
This was convenient for me to have without being forced to parse the regexp myself. I'd understand if it's not really wanted, but I also think that some meta information about compiled regexps would be fine. R=r, rsc CC=golang-dev https://golang.org/cl/183044
-
Robert Griesemer authored
R=rsc CC=golang-dev https://golang.org/cl/181049
-
Rob Pike authored
Fixes #309. R=rsc CC=golang-dev https://golang.org/cl/181044
-
Rob Pike authored
for now, it's amd64 and 386 only but it's trivial to add more. Fixes #385. (why couldn't it have been issue 386?) tested for amd64 and 386 on darwin. R=rsc CC=golang-dev https://golang.org/cl/182043
-
Adam Langley authored
Add support for TLS extensions in general and Next Protocol Negotiation in particular. R=rsc CC=golang-dev https://golang.org/cl/181045
-
Devon H. O'Dell authored
It's expected to be shared between all files so that all types are output. Fixes bug reported on mailing list by Peter Froehlich. R=rsc, phf CC=golang-dev https://golang.org/cl/183043
-
Peter Froehlich authored
R=r, rsc CC=golang-dev https://golang.org/cl/183042
-
Rob Pike authored
Fixes #452. R=gri CC=golang-dev, dougfelt https://golang.org/cl/181043
-
Robert Griesemer authored
as it is not needed anymore (only one impl. of vector package). Makefile, vector_test.go, and nogen_test.go were modified manually (find/replace), the other files (intvector_test.go, strinvector_test.go are generated). Runs all tests. R=r https://golang.org/cl/182041
-
Robert Griesemer authored
Manual changes to the following files: src/pkg/Makefile src/pkg/exp/vector/Makefile (now: src/pkg/container/vector/Makefile) R=rsc, r CC=golang-dev https://golang.org/cl/181041
-
- 22 Dec, 2009 6 commits
-
-
Robert Griesemer authored
R=r CC=golang-dev https://golang.org/cl/180108
-
Russ Cox authored
R=r CC=golang-dev https://golang.org/cl/179130
-
Russ Cox authored
R=r CC=golang-dev https://golang.org/cl/180118
-
Rob Pike authored
- use an interface {Get()} - implement Get for maps, slices - for slices, retrieves the address of the end of the array, which will give the same value for every slice of the same array. R=rsc CC=golang-dev https://golang.org/cl/179129
-
Russ Cox authored
R=gri CC=golang-dev https://golang.org/cl/179128
-
Rob Pike authored
(Also fix case sensitivity in test for PTR inside fmt_test.go) Fixes #441. R=rsc, iant CC=golang-dev https://golang.org/cl/180112
-
- 21 Dec, 2009 5 commits
-
-
Robert Griesemer authored
R=r CC=golang-dev https://golang.org/cl/179120
-
Jan Mercl authored
R=gri CC=rsc https://golang.org/cl/178048
-
Robert Griesemer authored
R=r, rsc CC=golang-dev https://golang.org/cl/179118
-
Russ Cox authored
Fixes #436. R=ken2 https://golang.org/cl/180105
-
Russ Cox authored
R=dho CC=golang-dev https://golang.org/cl/180099
-
- 19 Dec, 2009 2 commits
-
-
Ian Lance Taylor authored
gccgo currently fails this test. R=rsc CC=golang-dev https://golang.org/cl/179108
-
Russ Cox authored
R=ken2 https://golang.org/cl/180092
-
- 18 Dec, 2009 3 commits
-
-
Rob Pike authored
corrects a common misunderstanding about NewBuffer. R=rsc CC=golang-dev https://golang.org/cl/179106
-
Adam Langley authored
(Thanks to ken and rsc for pointing this out) rsc: ken pointed out that there's a race in the new one-lock-per-channel code. the issue is that if one goroutine has gone to sleep doing select { case <-c1: case <-c2: } and then two more goroutines try to send on c1 and c2 simultaneously, the way that the code makes sure only one wins is the selgen field manipulation in dequeue: // if sgp is stale, ignore it if(sgp->selgen != sgp->g->selgen) { //prints("INVALID PSEUDOG POINTER\n"); freesg(c, sgp); goto loop; } // invalidate any others sgp->g->selgen++; but because the global lock is gone both goroutines will be fiddling with sgp->g->selgen at the same time. This results in a 7% slowdown in the single threaded case for a ping-pong microbenchmark. Since the cas predominantly succeeds, adding a simple check first didn't make any difference. R=rsc CC=golang-dev https://golang.org/cl/180068
-
Robert Griesemer authored
now that the parser doesn't do this test anymore R=rsc CC=golang-dev https://golang.org/cl/179105
-