summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [release-branch.r57] docs/GoCourseDay1.pdf: fix error in operator table.release.r57.2release-branch.r57Russ Cox2011-06-161-0/+0
| | | | | | | | | | | | | | | ««« CL 4637041 / df607ef238c9 docs/GoCourseDay1.pdf: fix error in operator table. Communications op was listed as a binary; it isn't any more. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4637041 »»» R=r CC=golang-dev https://golang.org/cl/4634042
* [release-branch.r57] docs: Update notes for 3-day Go course.Russ Cox2011-06-166-5/+14
| | | | | | | | | | | | | | ««« CL 4605041 / 71776ebc7416 docs: Update notes for 3-day Go course. R=golang-dev, adg CC=golang-dev https://golang.org/cl/4605041 »»» R=adg CC=golang-dev https://golang.org/cl/4635041
* [release-branch.r57] doc: document r57.2Russ Cox2011-06-161-0/+1
| | | | | | | | | | | | | | ««« CL 4627042 / 9fadba82ab03 doc: document r57.2 R=adg, r CC=golang-dev https://golang.org/cl/4627042 »»» R=adg CC=golang-dev https://golang.org/cl/4633041
* [release-branch.r57] 6g, 8g: fix goto fixRuss Cox2011-06-162-2/+8
| | | | | | | | | | | | | | ««« CL 4632041 / cbc2b570b2ca 6g, 8g: fix goto fix R=ken2 CC=golang-dev https://golang.org/cl/4632041 »»» R=adg CC=golang-dev https://golang.org/cl/4631042
* [release-branch.r57] gc: work around goto bugRuss Cox2011-06-167-0/+159
| | | | | | | | | | | | | | ««« CL 4629042 / ec3b60d1fe6e gc: work around goto bug R=ken2 CC=golang-dev https://golang.org/cl/4629042 »»» R=adg CC=golang-dev https://golang.org/cl/4631041
* reflect: make allocation test less fragile.Rob Pike2011-05-081-1/+3
| | | | | | | | | | | | When GOMAXPROCS>1, the testing framework runs in parallel with the test itself and may do a small number of allocations, so allow the "noAllocs" condition to admit just a few. Fixes #1782. R=rsc CC=golang-dev https://golang.org/cl/4533041
* [release-branch.r57] doc: document r57.1release.r57.1Russ Cox2011-05-041-1/+5
| | | | | | | | | | | | | | ««« CL 4471041 / 8339a04966bb doc: document r57.1 R=adg CC=golang-dev https://golang.org/cl/4471041 »»» R=adg CC=golang-dev https://golang.org/cl/4468042
* [release-branch.r57] http: fix FormFile nil pointer dereference on missing ↵Russ Cox2011-05-032-3/+33
| | | | | | | | | | | | | | | | multipart form ««« CL 4463042 / 6294ca33c042 http: fix FormFile nil pointer dereference on missing multipart form R=rsc CC=golang-dev https://golang.org/cl/4463042 »»» R=adg CC=golang-dev https://golang.org/cl/4467042
* [release-branch.r57] doc: release.r57release.r57Russ Cox2011-05-035-2920/+3096
| | | | | | | | | | | | | | | ««« CL 4457049 / d222384d1bad doc: release.r57 R=golang-dev, r, adg, r2 CC=golang-dev https://golang.org/cl/4457049 »»» R=golang-dev TBR=r CC=golang-dev https://golang.org/cl/4431087
* [release-branch.r57] Make.cmd: create TARGDIR if necessaryRuss Cox2011-05-031-1/+1
| | | | | | | | | | | | | | | | ««« CL 4437089 / b2670a39da7c Make.cmd: create TARGDIR if necessary Fixes #1771. R=adg, rsc1 CC=golang-dev https://golang.org/cl/4437089 »»» R=adg CC=golang-dev https://golang.org/cl/4454054
* [release-branch.r57] reflect: allow unexported key in Value.MapIndexRuss Cox2011-05-032-3/+28
| | | | | | | | | | | | | | | | ««« CL 4444087 / 9abf81a9df90 reflect: allow unexported key in Value.MapIndex Fixes #1748. R=golang-dev, r CC=golang-dev https://golang.org/cl/4444087 »»» R=r, r2 CC=golang-dev https://golang.org/cl/4433099
* [release-branch.r57] jpeg: speed up RGBA encoding ~%50Russ Cox2011-05-031-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | ««« CL 4433088 / 099dd59d3976 jpeg: speed up RGBA encoding ~%50 Avoids image.At(), color.RGBA(), opposing 8 bit shifts, and min function calls in a loop. Not as pretty as before, but the pure version is still there to revert back to later if/when the compiler gets better. before (best of 5) jpeg.BenchmarkEncodeRGBOpaque 50 64781360 ns/op 18.97 MB/s after (best of 5) jpeg.BenchmarkEncodeRGBOpaque 50 42044300 ns/op 29.23 MB/s (benchmarked on an HP z600; 16 core Xeon E5520 @ 2.27Ghz) R=r, r2, nigeltao CC=golang-dev https://golang.org/cl/4433088 »»» TBR=adg CC=golang-dev https://golang.org/cl/4431086
* [release-branch.r57] doc/install: specify clone -u instead of -rRuss Cox2011-05-031-1/+1
| | | | | | | | | | | | | | ««« CL 4435081 / 48c0b02c6e7f doc/install: specify clone -u instead of -r R=rsc CC=golang-dev https://golang.org/cl/4435081 »»» TBR=adg CC=golang-dev https://golang.org/cl/4436080
* [release-branch.r57] image: fix buildRuss Cox2011-05-031-0/+7
| | | | | | | | | | | | | | | | ««« CL 4438090 / 29f6e2e230a3 image: fix build accidentally deleted one method TBR=rsc R=rsc CC=golang-dev https://golang.org/cl/4438090 »»» TBR=adg CC=golang-dev https://golang.org/cl/4445084
* [release-branch.r57] image: add type-specific Set methods and use them when ↵Russ Cox2011-05-032-13/+62
| | | | | | | | | | | | | | | | | decoding PNG. ««« CL 4428080 / 2098f7682f2d image: add type-specific Set methods and use them when decoding PNG. This speeds up PNG decode about 20% by avoiding per-pixel interface conversions. R=nigeltao, rsc CC=golang-dev https://golang.org/cl/4428080 »»» TBR=adg CC=golang-dev https://golang.org/cl/4426078
* [release-branch.r57] http/pprof: fix POST reading bugRuss Cox2011-05-032-6/+17
| | | | | | | | | | | | | | ««« CL 4430075 / ca45c67d28cf http/pprof: fix POST reading bug R=bradfitz CC=golang-dev https://golang.org/cl/4430075 »»» TBR=adg CC=golang-dev https://golang.org/cl/4454053
* [release-branch.r57] 5a, 6a, 8a, cc: remove old environment variablesRuss Cox2011-05-034-201/+16
| | | | | | | | | | | | | | | | | ««« CL 4445079 / f8cc81f985e5 5a, 6a, 8a, cc: remove old environment variables Uses of $INCLUDE and $NPROC are left over from Plan 9. Remove them to avoid causing confusion. R=golang-dev, r2 CC=golang-dev https://golang.org/cl/4445079 »»» TBR=adg CC=golang-dev https://golang.org/cl/4438096
* [release-branch.r57] runtime, sync/atomic: fix arm casRuss Cox2011-05-032-4/+32
| | | | | | | | | | | | | | | | | | | | ««« CL 4436072 / e280d98747be runtime, sync/atomic: fix arm cas Works around bug in kernel implementation on old ARM5 kernels. Bug was fixed on 26 Nov 2007 (between 2.6.23 and 2.6.24) but old kernels persist. Fixes #1750. R=dfc, golang-dev CC=golang-dev https://golang.org/cl/4436072 »»» TBR=adg CC=golang-dev https://golang.org/cl/4452064
* [release-branch.r57] png: speed up opaque RGBA encodingRuss Cox2011-05-032-11/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ««« CL 4432077 / 66eb68cbd5c2 png: speed up opaque RGBA encoding With Linux/8g on a 2006 Mac Mini (1.66 GHz Intel Core Duo, 2KB L1, 2MB L2, 2G main memory), GOMAXPROCS unset: start: png.BenchmarkEncodePaletted 50 44772820 ns/op png.BenchmarkEncodeRGBOpaque 10 208395900 ns/op png.BenchmarkEncodeRGBA 5 331088000 ns/op remove interface method calls: png.BenchmarkEncodePaletted 50 44722880 ns/op png.BenchmarkEncodeRGBOpaque 10 139042600 ns/op png.BenchmarkEncodeRGBA 5 334033600 ns/op flate inline min/max(): png.BenchmarkEncodePaletted 50 40631180 ns/op png.BenchmarkEncodeRGBOpaque 10 124894900 ns/op png.BenchmarkEncodeRGBA 5 312099000 ns/op after adler change: png.BenchmarkEncodePaletted 50 40181760 ns/op png.BenchmarkEncodeRGBOpaque 20 121781950 ns/op png.BenchmarkEncodeRGBA 5 313890800 ns/op In comparison to 121 ms on this 2006 machine, on my Core2 Duo 2.66 GHz laptop, the final BenchmarkEncodeRGBOpaque runs in 27 ms. (these are all for 640x480 images) R=nigeltao, rsc, r CC=golang-dev https://golang.org/cl/4432077 »»» TBR=adg CC=golang-dev https://golang.org/cl/4430076
* [release-branch.r57] http: rename ErrBodyReadAferClose to ErrBodyReadAfterCloseRuss Cox2011-05-031-3/+3
| | | | | | | | | | | | | | ««« CL 4432085 / 370c77323b75 http: rename ErrBodyReadAferClose to ErrBodyReadAfterClose R=bradfitz, dsymonds CC=golang-dev https://golang.org/cl/4432085 »»» TBR=adg CC=golang-dev https://golang.org/cl/4425086
* [release-branch.r57] mime/multipart: fix regression from previous ReadSlice ↵Russ Cox2011-05-032-128/+194
| | | | | | | | | | | | | | | | | | | | | | | | | change ««« CL 4432083 / 698b5ea9c782 mime/multipart: fix regression from previous ReadSlice change The previous change to make multipart use ReadSlice out of paranoia broke multipart to not deal with large lines in the bodies. We should only be paranoid about long lines in the header sections. Fixes http://code.google.com/p/camlistore/issues/detail?id=4 R=adg CC=golang-dev https://golang.org/cl/4432083 »»» R=adg CC=golang-dev https://golang.org/cl/4452062
* [release-branch.r57] http: new error for reading a body after it's been closedRuss Cox2011-05-031-0/+20
| | | | | | | | | | | | | | ««« CL 4433094 / e30213b07276 http: new error for reading a body after it's been closed R=adg CC=golang-dev https://golang.org/cl/4433094 »»» R=adg CC=golang-dev https://golang.org/cl/4433098
* [release-branch.r57] image: png & jpeg encoding benchmarksRuss Cox2011-05-032-4/+64
| | | | | | | | | | | | | | | | ««« CL 4445074 / 304d7d2b1d6c image: png & jpeg encoding benchmarks No code changes in this CL. R=r CC=golang-dev https://golang.org/cl/4445074 »»» R=adg CC=golang-dev https://golang.org/cl/4453056
* [release-branch.r57] xml: fix reflect errorRuss Cox2011-05-032-44/+46
| | | | | | | | | | | | | | | | ««« CL 4431075 / acee6ec98e9a xml: fix reflect error Fixes #1749. R=bradfitz CC=golang-dev https://golang.org/cl/4431075 »»» R=adg CC=golang-dev https://golang.org/cl/4457048
* create release-branch.r57Russ Cox2011-05-031-13/+127
|
* weekly.2011-04-27weekly.2011-04-27Andrew Gerrand2011-04-282-1/+133
| | | | | | R=rsc CC=golang-dev https://golang.org/cl/4437077
* http: add MultipartForm, FormFile, and ParseMultipartForm to RequestAndrew Gerrand2011-04-283-15/+217
| | | | | | R=rsc, bradfitz CC=golang-dev https://golang.org/cl/4431068
* adler32: speed up ~40% by avoiding bounds checksBrad Fitzpatrick2011-04-272-2/+16
| | | | | | | | | | | | before & after: adler32.BenchmarkGolden 100000 14747 ns/op adler32.BenchmarkGolden 200000 8761 ns/op Found by profiling PNG encoding. R=rsc, bradfitzwork, eds CC=golang-dev https://golang.org/cl/4441073
* runtime: fix typo in gc bug fixRuss Cox2011-04-281-6/+5
| | | | | | | | This time for sure. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4437078
* gc: correctly handle fields of pointer type to recursive forward referencesLorenzo Stoakes2011-04-286-20/+181
| | | | | | | | | | Previously, whether declaring a type which copied the structure of a type it was referenced in via a pointer field would work depended on whether you declared it before or after the type it copied, e.g. type T2 T1; type T1 struct { F *T2 } would work, however type T1 struct { F *T2 }; type T2 T1 wouldn't. Fixes #667. R=rsc CC=golang-dev https://golang.org/cl/4313064
* runtime: stack split + garbage collection bugRuss Cox2011-04-276-13/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The g->sched.sp saved stack pointer and the g->stackbase and g->stackguard stack bounds can change even while "the world is stopped", because a goroutine has to call functions (and therefore might split its stack) when exiting a system call to check whether the world is stopped (and if so, wait until the world continues). That means the garbage collector cannot access those values safely (without a race) for goroutines executing system calls. Instead, save a consistent triple in g->gcsp, g->gcstack, g->gcguard during entersyscall and have the garbage collector refer to those. The old code was occasionally seeing (because of the race) an sp and stk that did not correspond to each other, so that stk - sp was not the number of stack bytes following sp. In that case, if sp < stk then the call scanblock(sp, stk - sp) scanned too many bytes (anything between the two pointers, which pointed into different allocation blocks). If sp > stk then stk - sp wrapped around. On 32-bit, stk - sp is a uintptr (uint32) converted to int64 in the call to scanblock, so a large (~4G) but positive number. Scanblock would try to scan that many bytes and eventually fault accessing unmapped memory. On 64-bit, stk - sp is a uintptr (uint64) promoted to int64 in the call to scanblock, so a negative number. Scanblock would not scan anything, possibly causing in-use blocks to be freed. In short, 32-bit platforms would have seen either ineffective garbage collection or crashes during garbage collection, while 64-bit platforms would have seen either ineffective or incorrect garbage collection. You can see the invalid arguments to scanblock in the stack traces in issue 1620. Fixes #1620. Fixes #1746. R=iant, r CC=golang-dev https://golang.org/cl/4437075
* cgo: handle versioned ELF symbolsRuss Cox2011-04-2714-116/+451
| | | | | | | | Fixes #1397. R=iant CC=golang-dev https://golang.org/cl/4444064
* runtime: allow use of >512 MB on 32-bit platformsRuss Cox2011-04-272-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | runtime: memory allocated by OS not in usable range runtime: out of memory: cannot allocate 1114112-byte block (2138832896 in use) throw: out of memory runtime.throw+0x40 /Users/rsc/g/go/src/pkg/runtime/runtime.c:102 runtime.throw(0x1fffd, 0x101) runtime.mallocgc+0x2af /Users/rsc/g/go/src/pkg/runtime/malloc.c:60 runtime.mallocgc(0x100004, 0x0, 0x1, 0x1, 0xc093, ...) runtime.mal+0x40 /Users/rsc/g/go/src/pkg/runtime/malloc.c:289 runtime.mal(0x100004, 0x20bc4) runtime.new+0x26 /Users/rsc/g/go/src/pkg/runtime/malloc.c:296 runtime.new(0x100004, 0x8fe84000, 0x20bc4) main.main+0x29 /Users/rsc/x.go:11 main.main() runtime.mainstart+0xf /Users/rsc/g/go/src/pkg/runtime/386/asm.s:93 runtime.mainstart() runtime.goexit /Users/rsc/g/go/src/pkg/runtime/proc.c:178 runtime.goexit() ----- goroutine created by ----- _rt0_386+0xbf /Users/rsc/g/go/src/pkg/runtime/386/asm.s:80 R=iant, r CC=golang-dev https://golang.org/cl/4444073
* mime/multipart: add ReadForm and associated typesAndrew Gerrand2011-04-284-3/+272
| | | | | | R=brad_danga_com, rsc, dfc, r, dchest, bradfitz CC=golang-dev https://golang.org/cl/4439075
* tar: use ioutil.DiscardBrad Fitzpatrick2011-04-271-7/+2
| | | | | | | | This one didn't come up in previous greps. R=adg CC=golang-dev https://golang.org/cl/4430071
* ioutil: add Discard, update tree.Brad Fitzpatrick2011-04-276-33/+18
| | | | | | | | | This also removes an unnecessary allocation in http/transfer.go R=r, rsc1, r2, adg CC=golang-dev https://golang.org/cl/4426066
* http: put a limit on POST sizeBrad Fitzpatrick2011-04-271-1/+5
| | | | | | R=rsc CC=golang-dev https://golang.org/cl/4432076
* http: keep gzip reader inside eofsignalerBrad Fitzpatrick2011-04-273-53/+144
| | | | | | | | Fixes #1725 R=rsc CC=golang-dev https://golang.org/cl/4442086
* reflect: Fix Copy of arraysGustavo Niemeyer2011-04-272-1/+28
| | | | | | R=golang-dev, rsc1 CC=golang-dev https://golang.org/cl/4438077
* cgi: improve Location response handlingBrad Fitzpatrick2011-04-273-9/+116
| | | | | | | | | | | | | Add local URI path support, which isn't as fringe as I originally thought. (it's supported by Apache) Send an implicit 302 status on redirects (not 200). Fixes #1597 R=rsc, r CC=golang-dev https://golang.org/cl/4442089
* runtime: fix mkversion to output valid path separatorsPeter Mundy2011-04-271-1/+1
| | | | | | | | | | | In a GOROOT path a backslash is a path separator not an escape character. For example, `C:\go`. Fixes gotest error: version.go:3: unknown escape sequence: g R=rsc CC=golang-dev https://golang.org/cl/4437076
* http/fcgi: New packageEvan Shaw2011-04-275-0/+726
| | | | | | R=golang-dev, bradfitzgo, bradfitzwork, nigeltao, rog CC=golang-dev https://golang.org/cl/4271078
* tutorial: replace the forever loops with finite counts in sieve programs.Rob Pike2011-04-274-28/+29
| | | | | | | | | | | Fixes #1742. I hope. Also this picks up an update to go_tutorial.html that should already have happened. R=brainman, rsc, peterGo CC=golang-dev https://golang.org/cl/4452050
* gopack: preserve safe flag when not adding unsafe objects to archiveRuss Cox2011-04-271-4/+37
| | | | | | R=dsymonds CC=golang-dev https://golang.org/cl/4436060
* doc: mention make version in install.htmlRuss Cox2011-04-261-1/+1
| | | | | | | | Fixes #1531. R=adg CC=golang-dev https://golang.org/cl/4442088
* goinstall: support GOPATH; building and installing outside the Go treeAndrew Gerrand2011-04-278-46/+185
| | | | | | | | | | | | | | | | | | | | | | For example, with GOPATH set like so GOPATH=/home/adg/gocode And after creating some subdirectories mkdir /home/adg/gocode/{bin,pkg,src} I can use goinstall to install the github.com/nf/goto web server, which depends on the github.com/nf/stat package, with goinstall github.com/nf/goto This downloads and installs all dependencies (that aren't already installed) like so /home/adg/gocode/bin/goto /home/adg/gocode/pkg/darwin_amd64/github.com/nf/stat.a /home/adg/gocode/src/github.com/nf/goto/... /home/adg/gocode/src/github.com/nf/stat/... R=rsc, niemeyer CC=golang-dev https://golang.org/cl/4438043
* builder: build multiple targets in parallelAndrew Gerrand2011-04-271-3/+14
| | | | | | R=rsc, dfc CC=golang-dev https://golang.org/cl/4452047
* rpc: run benchmarks over HTTP as well as direct network connections.Rob Pike2011-04-261-7/+31
| | | | | | R=bradfitzgo CC=golang-dev https://golang.org/cl/4442085
* rpc: allow the argument (first arg of method) to be a value rather than a ↵Rob Pike2011-04-262-27/+39
| | | | | | | | | | pointer. Can make the API nicer in some cases. R=rsc, rog, r2 CC=golang-dev https://golang.org/cl/4428064
* http: new tests + panic hunting issue 1725Brad Fitzpatrick2011-04-262-5/+99
| | | | | | | | No bugs found yet, though. R=rsc, bradfitzwork CC=golang-dev https://golang.org/cl/4436058