- 19 Aug, 2014 11 commits
-
-
Alex Brainman authored
Fixes #8490. LGTM=r, rsc R=golang-codereviews, rsc, bradfitz, r CC=golang-codereviews https://golang.org/cl/127740043
-
Alex Brainman authored
Fixes windows build. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/127510043
-
Andrew Gerrand authored
Fixes #8431. LGTM=r R=golang-codereviews, r, minux CC=golang-codereviews https://golang.org/cl/130830043
-
Evan Kroske authored
Fixes #8140. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/131900044
-
Russ Cox authored
TBR=iant CC=golang-codereviews https://golang.org/cl/131900043
-
Josh Bleecher Snyder authored
It was incorrectly encoded as ASETLS. LGTM=ruiu, rsc R=rsc, ruiu CC=golang-codereviews https://golang.org/cl/126400043
-
Russ Cox authored
We need to change the interface value representation for concurrent garbage collection, so that there is no ambiguity about whether the data word holds a pointer or scalar. This CL does NOT make any representation changes. Instead, it removes representation assumptions from various pieces of code throughout the tree. The isdirectiface function in cmd/gc/subr.c is now the only place that decides that policy. The policy propagates out from there in the reflect metadata, as a new flag in the internal kind value. A follow-up CL will change the representation by changing the isdirectiface function. If that CL causes problems, it will be easy to roll back. Update #8405. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews, r https://golang.org/cl/129090043
-
Russ Cox authored
CC=golang-codereviews https://golang.org/cl/124580043
-
Russ Cox authored
LGTM=rminnich, iant R=golang-codereviews, rminnich, iant CC=golang-codereviews, r https://golang.org/cl/125140043
-
Russ Cox authored
The change to pc-relative addressing will make this illegal. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews, r https://golang.org/cl/129890043
-
Dave Cheney authored
Update #8527 Fixes, cmd/6g/reg.c:847:24: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' LGTM=minux, rsc R=minux, rsc CC=dvyukov, golang-codereviews https://golang.org/cl/129290043
-
- 18 Aug, 2014 9 commits
-
-
Andrew Gerrand authored
type T byte func (T) String() string { return "X" } fmt.Sprintf("%s", []T{97, 98, 99, 100}) == "abcd" fmt.Sprintf("%x", []T{97, 98, 99, 100}) == "61626364" fmt.Sprintf("%v", []T{97, 98, 99, 100}) == "[X X X X]" This change makes the last case print correctly. Before, it would have been "[97 98 99 100]". Fixes #8360. LGTM=r R=r, dan.kortschak CC=golang-codereviews https://golang.org/cl/129330043
-
Jeff R. Allen authored
Improve performance of move-to-front by using cache-friendly copies instead of doubly-linked list. Simplify so that the underlying slice is the object. Remove the n=0 special case, which was actually slower with the copy approach. benchmark old ns/op new ns/op delta BenchmarkDecodeDigits 26429714 23859699 -9.72% BenchmarkDecodeTwain 76684510 67591946 -11.86% benchmark old MB/s new MB/s speedup BenchmarkDecodeDigits 1.63 1.81 1.11x BenchmarkDecodeTwain 1.63 1.85 1.13x Updates #6754. LGTM=adg, agl, josharian R=adg, agl, josharian CC=golang-codereviews https://golang.org/cl/131840043
-
Keith Randall authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/130210043
-
Marcel van Lohuizen authored
LGTM=r, bradfitz R=r, bradfitz CC=golang-codereviews https://golang.org/cl/127470043
-
Dmitriy Vyukov authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews, khr, rlh, rsc https://golang.org/cl/125420043
-
Brad Fitzpatrick authored
Added in linux commit eb6452537b28 LGTM=agl R=agl CC=golang-codereviews https://golang.org/cl/130170043
-
Dmitriy Vyukov authored
Currently we do the following dance after sweeping a span: 1. lock mcentral 2. remove the span from a list 3. unlock mcentral 4. unmark span 5. lock mheap 6. insert the span into heap 7. unlock mheap 8. lock mcentral 9. observe empty list 10. unlock mcentral 11. lock mheap 12. grab the span 13. unlock mheap 14. mark span 15. lock mcentral 16. insert the span into empty list 17. unlock mcentral This change short-circuits this sequence to nothing, that is, we just cache and use the span after sweeping. This gives us functionality similar (even better) to tcmalloc's transfer cache. benchmark old ns/op new ns/op delta BenchmarkMalloc8 22.2 19.5 -12.16% BenchmarkMalloc16 31.0 26.6 -14.19% LGTM=khr R=golang-codereviews, khr CC=golang-codereviews, rlh, rsc https://golang.org/cl/119550043
-
Dmitriy Vyukov authored
Fixes #8530. LGTM=khr R=golang-codereviews, khr CC=golang-codereviews, rsc https://golang.org/cl/124440043
-
Dmitriy Vyukov authored
Mallocgc must be atomic wrt GC, but for performance reasons don't acquirem/releasem on fast path. The code does not have split stack checks, so it can't be preempted by GC. Functions like roundup/add are inlined. And onM/racemalloc are nosplit. Also add debug code that checks these assumptions. benchmark old ns/op new ns/op delta BenchmarkMalloc8 20.5 17.2 -16.10% BenchmarkMalloc16 29.5 27.0 -8.47% BenchmarkMallocTypeInfo8 31.5 27.6 -12.38% BenchmarkMallocTypeInfo16 34.7 30.9 -10.95% LGTM=khr R=golang-codereviews, khr CC=golang-codereviews, rlh, rsc https://golang.org/cl/123100043
-
- 16 Aug, 2014 4 commits
-
-
Dmitriy Vyukov authored
Perf builders show 3-5% GC pause increase with GOMAXPROCS=1 when marking with atomic ops: http://goperfd.appspot.com/perfdetail?commit=a8a6e765d6a87f7ccb71fd85a60eb5a821151f85&commit0=3b864e02b987171e05e2e9d0840b85b5b6476386&kind=builder&builder=linux-amd64&benchmark=http LGTM=rlh R=golang-codereviews, rlh CC=dave, golang-codereviews, khr, rsc https://golang.org/cl/128340043
-
Dave Cheney authored
Fixes #8480. This CL reapplies CL 114420043. This attempt doesn't blow up when encountering hidden symbols. LGTM=minux R=minux CC=golang-codereviews https://golang.org/cl/128310043
-
Shenghou Ma authored
LGTM=rsc R=gobot, dave CC=golang-codereviews, iant, rsc https://golang.org/cl/114420043
-
Brad Fitzpatrick authored
In retrospect this should've been a variable instead of a type, but oh well. LGTM=agl R=agl CC=golang-codereviews https://golang.org/cl/129250044
-
- 15 Aug, 2014 8 commits
-
-
Henning Schmiedehausen authored
When building golang, the environment variable GOROOT_FINAL can be set to indicate a different installation location from the build location. This works fine, except that the goc2c build step embeds line numbers in the resulting c source files that refer to the build location, no the install location. This would not be a big deal, except that in turn the linker uses the location of runtime/string.goc to embed the gdb script in the resulting binary and as a net result, the debugger now complains that the script is outside its load path (it has the install location configured). See https://code.google.com/p/go/issues/detail?id=8524 for the full description. Fixes #8524. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/128230046
-
Ian Lance Taylor authored
Generated by a+c. R=gobot CC=golang-codereviews https://golang.org/cl/130140043
-
Rob Pike authored
LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/127410043
-
Rob Pike authored
Fixes #8512. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/130090043
-
Dmitriy Vyukov authored
bv.data is an array of uint32s but the code was using offsets computed for an array of bytes. Add a test for stack GC info. Fixes #8531. LGTM=rsc R=golang-codereviews CC=golang-codereviews, khr, rsc https://golang.org/cl/124450043
-
Matthew Dempsky authored
Fixes #7760. LGTM=iant R=iant, remyoudompheng CC=golang-codereviews https://golang.org/cl/130720043
-
Dmitriy Vyukov authored
LGTM=dave, minux R=golang-codereviews, dave, minux CC=golang-codereviews, rsc https://golang.org/cl/122570043
-
Egon Elbre authored
Fixes #8492 LGTM=alex.brainman R=golang-codereviews, alex.brainman CC=golang-codereviews https://golang.org/cl/122200043
-
- 14 Aug, 2014 3 commits
-
-
Mikio Hara authored
LGTM=minux, adg R=golang-codereviews, minux, adg CC=golang-codereviews https://golang.org/cl/129180043
-
Dmitriy Vyukov authored
On the go.benchmarks/garbage benchmark with GOMAXPROCS=16: old ns/op new ns/op delta time 1392254 1353170 -2.81% cputime 21995751 21373999 -2.83% gc-pause-one 15044812 13050524 -13.26% gc-pause-total 213636 185317 -13.26% LGTM=rlh R=golang-codereviews, rlh CC=golang-codereviews, khr, rsc https://golang.org/cl/123380043
-
Matthew Dempsky authored
E.g., here's the new "go build" output: $ go build misc/cgo/errors/issue8442.go # command-line-arguments could not determine kind of name for C.issue8442foo gcc errors for preamble: misc/cgo/errors/issue8442.go:11:19: error: unknown type name 'UNDEF' Fixes #8442. LGTM=iant R=iant, alex.brainman CC=golang-codereviews https://golang.org/cl/129160043
-
- 13 Aug, 2014 5 commits
-
-
Rob Pike authored
CC=golang-codereviews https://golang.org/cl/129130043
-
Robert Griesemer authored
LGTM=r R=r CC=golang-codereviews https://golang.org/cl/123390043
-
Matthew Dempsky authored
In cgo, now that recursive calls to typeConv.Type() always work, we can more robustly calculate the array sizes based on the size of our element type. Also, in debug/dwarf, the decision to call zeroType is made based on a type's usage within a particular struct, but dwarf.Type values are cached in typeCache, so the modification might affect uses of the type in other structs. Current compilers don't appear to share DWARF type entries for "[]foo" and "[0]foo", but they also don't consistently share type entries in other cases. Arguably modifying the types is an improvement in some cases, but varying translated types according to compiler whims seems like a bad idea. Lastly, also in debug/dwarf, zeroType only needs to rewrite the top-level dimension, and only if the rest of the array size is non-zero. Fixes #8428. LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/127980043
-
Dmitriy Vyukov authored
Restore https://golang.org/cl/41040043 after GC rewrite. Original description: On the plus side, we don't need to change the bits on malloc and free. On the downside, we need to mark objects in the free lists during GC. But the free lists are small at GC time, so it should be a net win. benchmark old ns/op new ns/op delta BenchmarkMalloc8 21.9 20.4 -6.85% BenchmarkMalloc16 31.1 29.6 -4.82% LGTM=khr R=khr CC=golang-codereviews, rlh, rsc https://golang.org/cl/122280043
-
Thiago Fransosi Farina authored
Basically this cleanup replaces all the usage usages of strcmp() == 0, found by the following command line: $ grep -R strcmp cmd/dist | grep "0" LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/123330043
-