- 13 Apr, 2011 6 commits
-
-
Robert Griesemer authored
With the (partial) resolution of identifiers done by the go/parser, ast.Objects point may introduce cycles in the AST. Don't follow *ast.Objects, and replace them with nil instead (they are likely incorrect after a rewrite anyway). - minor manual cleanups after reflect change automatic rewrite - includes fix by rsc related to reflect change Fixes #1667. R=rsc CC=golang-dev https://golang.org/cl/4387044
-
Robert Griesemer authored
- fixed a couple of comments - cleanups after reflect change R=rsc CC=golang-dev https://golang.org/cl/4389041
-
Andrew Gerrand authored
R=rsc CC=golang-dev https://golang.org/cl/4312051
-
Dmitry Chestnykh authored
Fmt command filters the current Go buffer through gofmt. It tries to preserve cursor position and avoids replacing the buffer with stderr output. R=golang-dev, dsymonds, niemeyer CC=golang-dev https://golang.org/cl/4382053
-
David Symonds authored
Fixes #1677. R=r CC=golang-dev https://golang.org/cl/4402042
-
Gustavo Niemeyer authored
The changes were not tested for real in an App Engine environment, so extra care should be taken. That said, some static testing was done with pyflakes, and a few existent problems were fixed on the way. R=adg CC=golang-dev https://golang.org/cl/4378053
-
- 12 Apr, 2011 9 commits
-
-
Fazlul Shahriar authored
'TestReaddir.*' tests now passes. R=golang-dev, lucio, r CC=golang-dev https://golang.org/cl/4381048
-
Lucio De Re authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4390047
-
Rob Pike authored
Suggested by jan.mercl@nic.cz. R=rsc, jnml CC=golang-dev https://golang.org/cl/4376054
-
Lucio De Re authored
Added "void" inside "()" for two functions. R=golang-dev, r CC=golang-dev https://golang.org/cl/4381056
-
Rob Pike authored
I entered only one of his several addresses, the one that recent CLs use. R=rsc, lucio CC=golang-dev https://golang.org/cl/4368078
-
Brad Fitzpatrick authored
R=adg, rsc, bradfitzwork CC=golang-dev https://golang.org/cl/4389048
-
Gustavo Niemeyer authored
R=golang-dev, agl1, jnml CC=golang-dev https://golang.org/cl/4381058
-
Nigel Tao authored
R=r, rsc, nigeltao_gnome CC=golang-dev, raph https://golang.org/cl/4374043
-
Nigel Tao authored
R=rsc CC=golang-dev https://golang.org/cl/4381050
-
- 11 Apr, 2011 7 commits
-
-
Luuk van Dijk authored
Moved Sym printing to Yconv. Fixed warning in data.c R=rsc CC=golang-dev https://golang.org/cl/4378052
-
Robert Hencke authored
R=golang-dev, bradfitzgo CC=golang-dev https://golang.org/cl/4370053
-
Fazlul Shahriar authored
This makes os_test.TestStartProcess test from os package pass. R=paulzhol, r2, r CC=golang-dev https://golang.org/cl/4385052
-
Mikkel Krautz authored
R=agl1 CC=golang-dev https://golang.org/cl/4376049
-
Luit van Drongelen authored
Fixes #1683 R=agl1 CC=golang-dev, rsc https://golang.org/cl/4367049
-
Russ Cox authored
R=agl1 CC=golang-dev https://golang.org/cl/4367051
-
Dave Cheney authored
Fixes #1649. R=rsc, adg CC=golang-dev https://golang.org/cl/4343056
-
- 10 Apr, 2011 2 commits
-
-
David Symonds authored
R=adg CC=golang-dev https://golang.org/cl/4385051
-
Dmitry Chestnykh authored
Fixes #1678. R=adg, rsc CC=golang-dev https://golang.org/cl/4372047
-
- 09 Apr, 2011 1 commit
-
-
Russ Cox authored
The ld time was dominated by symbol table processing, so * increase hash table size * emit fewer symbols in gc (just 1 per string, 1 per type) * add read-only lookup to avoid creating spurious symbols * add linked list to speed whole-table traversals Breaks dwarf generator (no idea why), so disable dwarf. Reduces time for 6l to link godoc by 25%. R=ken2 CC=golang-dev https://golang.org/cl/4383047
-
- 08 Apr, 2011 15 commits
-
-
Robert Griesemer authored
Note that declarations.golden is not using spaces for alignment (so that the alignment tabs are visible) which is why this change affects the test cases significantly. gofmt uses spaces for alignment (by default) and only tabs for indentation. gofmt -w src misc (no changes) Fixes #1673. R=iant CC=golang-dev https://golang.org/cl/4388044
-
Adam Langley authored
"%#v" of a structure with *big.Int's tends to crash a lot otherwise. R=golang-dev, gri CC=golang-dev https://golang.org/cl/4382044
-
Russ Cox authored
Rewrite MOVB with less expensive instruction when possible. Suggested by atomic symbol. benchmark old ns/op new ns/op delta crc32.BenchmarkCrc32KB 13066 3942 -69.83% crc64.BenchmarkCrc64KB 8780 5949 -32.24% lzw.BenchmarkDecoder1e4 771224 636538 -17.46% lzw.BenchmarkDecoder1e5 7101218 6096634 -14.15% lzw.BenchmarkDecoder1e6 69762020 60789400 -12.86% lzw.BenchmarkEncoder1e4 707968 638812 -9.77% lzw.BenchmarkEncoder1e5 6567122 5965552 -9.16% lzw.BenchmarkEncoder1e6 65006000 58911680 -9.38% utf8_test.BenchmarkRuneCountTenASCIIChars 166 165 -0.60% utf8_test.BenchmarkRuneCountTenJapaneseChars 246 258 +4.88% utf8_test.BenchmarkEncodeASCIIRune 13 10 -23.08% utf8_test.BenchmarkEncodeJapaneseRune 37 16 -56.76% utf8_test.BenchmarkDecodeASCIIRune 23 21 -8.70% utf8_test.BenchmarkDecodeJapaneseRune 58 32 -44.83% R=ken2 CC=golang-dev https://golang.org/cl/4381045
-
Russ Cox authored
Fixes #1670. R=ken2 CC=golang-dev https://golang.org/cl/4386045
-
Robert Hencke authored
R=rsc CC=golang-dev https://golang.org/cl/4271080
-
Russ Cox authored
R=r CC=golang-dev https://golang.org/cl/4380043
-
Russ Cox authored
R=ken2 CC=golang-dev, mikkel https://golang.org/cl/4384048
-
Russ Cox authored
Quiets the pop-up boxes on OS X. R=bradfitzgo, r2 CC=golang-dev https://golang.org/cl/4387042
-
Russ Cox authored
In the current codereview, if a patch was written against a version of a file that had subsequently been edited, hg clpatch would fail, even if the patch and the edits were in different parts of the file. In this situation the reviewer typically wrote back saying "please hg sync and hg mail to update the patch". This change rewrites the patch automatically, using the same transformation that hg sync + hg mail would. If the interim changes (since the patch was created) affect the same line ranges as the patch, clpatch will still refuse to apply it. But this CL should make of the trivial conflicts we see just go away. R=golang-dev, r CC=golang-dev https://golang.org/cl/4377046
-
Rob Pike authored
R=rsc, brainman, rh, r2 CC=golang-dev https://golang.org/cl/4366045
-
Russ Cox authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/4353043
-
Russ Cox authored
R=gri CC=golang-dev https://golang.org/cl/4343047
-
Russ Cox authored
* add -diff command line option * use scoping information in refersTo, isPkgDot, isPtrPkgDot. * add new scoping-based helpers countUses, rewriteUses, assignsTo, isTopName. * rename rewrite to walk, add walkBeforeAfter. * add toy typechecker, a placeholder for go/types R=gri CC=golang-dev https://golang.org/cl/4285053
-
Russ Cox authored
Type is now an interface that implements all the possible type methods. Instead of a type switch on a reflect.Type t, switch on t.Kind(). If a method is invoked on the wrong kind of type (for example, calling t.Field(0) when t.Kind() != Struct), the call panics. There is one method renaming: t.(*ChanType).Dir() is now t.ChanDir(). Value is now a struct value that implements all the possible value methods. Instead of a type switch on a reflect.Value v, switch on v.Kind(). If a method is invoked on the wrong kind of value (for example, calling t.Recv() when t.Kind() != Chan), the call panics. Since Value is now a struct, not an interface, its zero value cannot be compared to nil. Instead of v != nil, use v.IsValid(). Instead of other uses of nil as a Value, use Value{}, the zero value. Many methods have been renamed, most due to signature conflicts: OLD NEW v.(*ArrayValue).Elem v.Index v.(*BoolValue).Get v.Bool v.(*BoolValue).Set v.SetBool v.(*ChanType).Dir v.ChanDir v.(*ChanValue).Get v.Pointer v.(*ComplexValue).Get v.Complex v.(*ComplexValue).Overflow v.OverflowComplex v.(*ComplexValue).Set v.SetComplex v.(*FloatValue).Get v.Float v.(*FloatValue).Overflow v.OverflowFloat v.(*FloatValue).Set v.SetFloat v.(*FuncValue).Get v.Pointer v.(*InterfaceValue).Get v.InterfaceData v.(*IntValue).Get v.Int v.(*IntValue).Overflow v.OverflowInt v.(*IntValue).Set v.SetInt v.(*MapValue).Elem v.MapIndex v.(*MapValue).Get v.Pointer v.(*MapValue).Keys v.MapKeys v.(*MapValue).SetElem v.SetMapIndex v.(*PtrValue).Get v.Pointer v.(*SliceValue).Elem v.Index v.(*SliceValue).Get v.Pointer v.(*StringValue).Get v.String v.(*StringValue).Set v.SetString v.(*UintValue).Get v.Uint v.(*UintValue).Overflow v.OverflowUint v.(*UintValue).Set v.SetUint v.(*UnsafePointerValue).Get v.Pointer v.(*UnsafePointerValue).Set v.SetPointer Part of the motivation for this change is to enable a more efficient implementation of Value, one that does not allocate memory during most operations. To reduce the size of the CL, this CL's implementation is a wrapper around the old API. Later CLs will make the implementation more efficient without changing the API. Other CLs to be submitted at the same time as this one add support for this change to gofix (4343047) and update the Go source tree (4353043). R=gri, iant, niemeyer, r, rog, gustavo, r2 CC=golang-dev https://golang.org/cl/4281055
-
Russ Cox authored
Rewrite only if we understood all the flags we saw. R=r CC=golang-dev https://golang.org/cl/4376046
-