- 14 Sep, 2012 9 commits
-
-
Rob Pike authored
Give the right name for errors, and add a test to check we're getting the errors we expect. Also fix an ordering bug (calling add after stopParse) that caused a nil indirection rather than a helpful error. Fixes #3280. R=golang-dev, adg CC=golang-dev https://golang.org/cl/6520043
-
Brad Fitzpatrick authored
Command.Start could crash before if no fds were available because a nil *os.File of /dev/null was added to the cleanup list, which crashed before returning the proper error. R=golang-dev, iant CC=golang-dev https://golang.org/cl/6514043
-
Robert Griesemer authored
Strings happen to be represented similarly to byte slices internally, but they don't quite behave like them: While strings can be indexed, sliced, and have their len() taken like byte slices, string elements are not addressable, make() and cap() is not supported, range loops operate differently, and they are immutable (and thus behave like values rather then references). Fixes #4018. R=r, rsc, iant, ken CC=golang-dev https://golang.org/cl/6503116
-
Russ Cox authored
When reading Go files, read through import block. When reading non-Go files, read only leading comments. R=nigeltao, adg, r CC=golang-dev https://golang.org/cl/6493068
-
Russ Cox authored
TBR=r TBR=r CC=golang-dev https://golang.org/cl/6496124
-
Russ Cox authored
Nothing in exp should get installed directly in bin, at least not by default. R=golang-dev, r CC=golang-dev https://golang.org/cl/6497138
-
Marcel van Lohuizen authored
instead of variables. Several reasons: - Encourage users of the API to minimize the number of creations and reuse Collate objects. - Don't rule out the possibility of using initialization code for collators. For some locales it will be possible to have very compact representations that can be quickly expanded into a proper table on demand. Other changes: - Change name of root* vars to main*, as the tables are shared between locales. - Added Locales() method to get a list of supported locales. R=r CC=golang-dev https://golang.org/cl/6498107
-
Alex Brainman authored
We have some tests (misc/cgo/test) that are disabled only because they will fail to run on go builder - see issue 3358 for details. This change will allow us to enable these tests. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6493118
-
Andrew Gerrand authored
R=golang-dev, nigeltao CC=golang-dev https://golang.org/cl/6493121
-
- 13 Sep, 2012 12 commits
-
-
Rob Pike authored
Also clean up the code and allow \U. Fixes #3007. R=golang-dev, rsc, 0xjnml CC=golang-dev https://golang.org/cl/6492105
-
Rob Pike authored
Should have done this a long time ago. Fixes #3811. R=golang-dev, adg, rsc CC=golang-dev https://golang.org/cl/6488120
-
Jan Ziak authored
R=rsc CC=golang-dev https://golang.org/cl/6281048
-
Brad Fitzpatrick authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/6492117
-
Daniel Morsing authored
Fixes #4012. R=dave, remyoudompheng, rsc CC=golang-dev https://golang.org/cl/6490082
-
Adam Langley authored
X509KeyPair wasn't really supposed to allow the certificate and key to be in the same file, but it did work if you put the key first. Since some HTTPS servers support loading keys and certs like this, this change makes it work in either order. Fixes #3986. R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/6499103
-
Russ Cox authored
This is the easy part of issue 3528. (What to do about "noescape" is the hard part, left open.) Update #3528. R=mikesamuel, r, dsymonds CC=golang-dev https://golang.org/cl/6493113
-
Russ Cox authored
Right now we only have 32-bit ints so that's a no-op. Took the opportunity to check for some other invalid values too. Suggestions for additions or modifications welcome. R=agl CC=golang-dev https://golang.org/cl/6493112
-
Russ Cox authored
This fixes a problem with ELF tools thinking they know the format of the symbol table, as we do not use any of the standard formats for that table. This change will probably annoy the Plan 9 users, but I believe there are other incompatibilities already that mean they have to use a Go-specific nm. Fixes #3473. R=golang-dev, iant CC=golang-dev https://golang.org/cl/6500117
-
Francisco Souza authored
Fixes #3889. R=rsc, adg CC=golang-dev https://golang.org/cl/6499102
-
Nigel Tao authored
benchmark old ns/op new ns/op delta BenchmarkEncodeGray 23616080 5624558 -76.18% BenchmarkEncodeNRGBOpaque 34181260 17144380 -49.84% BenchmarkEncodeNRGBA 41235820 20345990 -50.66% BenchmarkEncodePaletted 5594652 5620362 +0.46% BenchmarkEncodeRGBOpaque 17242210 17168820 -0.43% BenchmarkEncodeRGBA 66515720 67243560 +1.09% R=r CC=golang-dev https://golang.org/cl/6490099
-
Andrew Gerrand authored
This change messes with anchor links. It obscures the item being linked to. I don't see a way around it. Undoing for now. Fixes #4071. ««« original CL description doc css: topbar sticks to the top of large windows. Rationale: for large screens, the convenience of not having to scroll to the top of the page to do a search outweighs having less vertical space. Tested with Chrome, Firefox, Safari with various window and text sizes. R=adg CC=gobot, golang-dev https://golang.org/cl/6493071 Committer: Andrew Gerrand <adg@golang.org> »»» R=golang-dev, r, dsymonds CC=golang-dev https://golang.org/cl/6488121
-
- 12 Sep, 2012 10 commits
-
-
Russ Cox authored
Fixes #4041. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6495121
-
Jan Ziak authored
R=rsc, nigeltao, minux.ma CC=golang-dev https://golang.org/cl/6290043
-
Russ Cox authored
go tool dist env -w is supposed to print a Windows batch file. Normally Windows will execute batch files without \r before \n, but issue 3060 reports that if the file ends up containing paths written in Chinese, Windows 7 cannot execute it without the \r. So add the \r. Fixes #3060. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6498120
-
Russ Cox authored
The (and not) arguably sounds like it is trying to say something - and not what?. Just an idea, won't be hurt if it gets rejected. R=gri, dsymonds, r CC=golang-dev https://golang.org/cl/6498115
-
Andreas Jellinghaus authored
SO_PEERCRED on unix domain socket will fill a Ucred struct, thus linux needs a custom Getsockopt variant. Fixes #3836. R=golang-dev, rsc, iant CC=golang-dev https://golang.org/cl/6445104
-
Ian Lance Taylor authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/6494121
-
Nigel Tao authored
Code higher up in the function already catches these cases. R=remyoudompheng, rsc CC=golang-dev https://golang.org/cl/6496106
-
Alex Brainman authored
Fixes #3376. R=golang-dev, bsiegert, minux.ma, rsc CC=golang-dev https://golang.org/cl/6488044
-
Nigel Tao authored
when oldi == oldj. Benchmark numbers show no substantial change. R=eric.d.eisner, rogpeppe CC=golang-dev https://golang.org/cl/6496104
-
Nigel Tao authored
Rename the first argument of CompareAndSwapT and AddT s/val/addr/ for consistency with LoadT and StoreT. R=rsc, r, dvyukov CC=golang-dev https://golang.org/cl/6494112
-
- 11 Sep, 2012 9 commits
-
-
Daniel Morsing authored
This CL also adds support for marking the likelyness of IF nodes in the AST being true. This feature is being used here to mark the slow path as unlikely. src/pkg/runtime: benchmark old ns/op new ns/op delta BenchmarkConvT2IUintptr 16 1 -91.63% test/bench/go1: benchmark old ns/op new ns/op delta BenchmarkBinaryTree17 5416917000 5461355000 +0.82% BenchmarkFannkuch11 3810355000 3842609000 +0.85% BenchmarkGobDecode 19950950 19855420 -0.48% BenchmarkGobEncode 11301220 11308530 +0.06% BenchmarkGzip 548119600 546869200 -0.23% BenchmarkGunzip 176145400 180208300 +2.31% BenchmarkJSONEncode 93117400 70163100 -24.65% BenchmarkJSONDecode 406626800 409999200 +0.83% BenchmarkMandelbrot200 6300992 6317866 +0.27% BenchmarkParse 7664396 7451625 -2.78% BenchmarkRevcomp 1189424000 1412332000 +18.74% BenchmarkTemplate 491308400 458654200 -6.65% benchmark old MB/s new MB/s speedup BenchmarkGobDecode 38.47 38.66 1.00x BenchmarkGobEncode 67.92 67.87 1.00x BenchmarkGzip 35.40 35.48 1.00x BenchmarkGunzip 110.16 107.68 0.98x BenchmarkJSONEncode 20.84 27.66 1.33x BenchmarkJSONDecode 4.77 4.73 0.99x BenchmarkParse 7.56 7.77 1.03x BenchmarkRevcomp 213.69 179.96 0.84x BenchmarkTemplate 3.95 4.23 1.07x R=rsc, dave, nigeltao CC=golang-dev https://golang.org/cl/6351090
-
Nigel Tao authored
Given the following Go program: func sum(s []int) int { ret := 0 for _, x := range s { ret += x } return ret } 6g would previously generate: --- prog list "sum" --- 0000 (main.go:3) TEXT sum+0(SB),$0-24 0001 (main.go:5) MOVQ s+0(FP),CX 0002 (main.go:5) MOVL s+8(FP),DI 0003 (main.go:5) MOVL s+12(FP),BX 0004 (main.go:4) MOVL $0,SI 0005 (main.go:5) MOVL $0,AX 0006 (main.go:5) JMP ,8 0007 (main.go:5) INCL ,AX 0008 (main.go:5) CMPL AX,DI 0009 (main.go:5) JGE $0,16 0010 (main.go:5) MOVL (CX),DX 0011 (main.go:5) MOVQ $4,BX 0012 (main.go:5) ADDQ CX,BX 0013 (main.go:5) MOVQ BX,CX 0014 (main.go:6) ADDL DX,SI 0015 (main.go:5) JMP ,7 0016 (main.go:8) MOVL SI,.noname+16(FP) 0017 (main.go:8) RET , and now generates: --- prog list "sum" --- 0000 (main.go:3) TEXT sum+0(SB),$0-24 0001 (main.go:5) MOVQ s+0(FP),CX 0002 (main.go:5) MOVL s+8(FP),DI 0003 (main.go:5) MOVL s+12(FP),BX 0004 (main.go:4) MOVL $0,SI 0005 (main.go:5) MOVL $0,AX 0006 (main.go:5) JMP ,8 0007 (main.go:5) INCL ,AX 0008 (main.go:5) CMPL AX,DI 0009 (main.go:5) JGE $0,14 0010 (main.go:5) MOVL (CX),BP 0011 (main.go:5) ADDQ $4,CX 0012 (main.go:6) ADDL BP,SI 0013 (main.go:5) JMP ,7 0014 (main.go:8) MOVL SI,.noname+16(FP) 0015 (main.go:8) RET , The key difference is that 0011 (main.go:5) MOVQ $4,BX 0012 (main.go:5) ADDQ CX,BX 0013 (main.go:5) MOVQ BX,CX has changed to 0011 (main.go:5) ADDQ $4,CX R=rsc, dave, remyoudompheng CC=golang-dev https://golang.org/cl/6506089
-
Andrew Gerrand authored
R=golang-dev, dsymonds, campoy CC=golang-dev https://golang.org/cl/6490102
-
Rémy Oudompheng authored
It is enough to load directly the data word and the itab word from memory, so we save a LEA instruction for each method call, and allow elimination of some extra temporaries. Update #1914. R=daniel.morsing, rsc CC=golang-dev, remy https://golang.org/cl/6501110
-
Rémy Oudompheng authored
Removes an extra LEAL/LEAQ instructions there and usually saves a useless temporary in the idiom if err := foo(); err != nil {...} Generated code is also less involved: MOVQ err+n(SP), AX CMPQ AX, $0 (potentially CMPQ n(SP), $0) instead of LEAQ err+n(SP), AX CMPQ (AX), $0 Update #1914. R=daniel.morsing, nigeltao, rsc CC=golang-dev, remy https://golang.org/cl/6493099
-
Nigel Tao authored
This verifies existing behavior. Some replacements are arguably wrong (these are marked with TODO) but changing behavior is left for a follow-up CL. Also fix that BenchmarkGenericMatch wasn't actually matching anything. R=rsc, eric.d.eisner CC=bradfitz, golang-dev https://golang.org/cl/6488110
-
Andrew Gerrand authored
R=iant, nigeltao CC=golang-dev https://golang.org/cl/6492102
-
Alex Brainman authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6506096
-
Russ Cox authored
Fixes #3069. R=golang-dev, n13m3y3r CC=golang-dev https://golang.org/cl/6460044
-