| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
LGTM=rminnich, iant
R=golang-codereviews, rminnich, iant
CC=golang-codereviews, r
https://codereview.appspot.com/125140043
|
|
|
|
|
|
|
|
|
| |
The change to pc-relative addressing will make this illegal.
LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews, r
https://codereview.appspot.com/129890043
|
|
|
|
|
|
|
|
|
|
|
| |
Update issue 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://codereview.appspot.com/129290043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 issue 8360.
LGTM=r
R=r, dan.kortschak
CC=golang-codereviews
https://codereview.appspot.com/129330043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 issue 6754.
LGTM=adg, agl, josharian
R=adg, agl, josharian
CC=golang-codereviews
https://codereview.appspot.com/131840043
Committer: Adam Langley <agl@golang.org>
|
|
|
|
|
|
|
| |
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://codereview.appspot.com/130210043
|
|
|
|
|
|
|
| |
LGTM=r, bradfitz
R=r, bradfitz
CC=golang-codereviews
https://codereview.appspot.com/127470043
|
|
|
|
|
|
|
| |
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews, khr, rlh, rsc
https://codereview.appspot.com/125420043
|
|
|
|
|
|
|
|
|
| |
Added in linux commit eb6452537b28
LGTM=agl
R=agl
CC=golang-codereviews
https://codereview.appspot.com/130170043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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://codereview.appspot.com/119550043
|
|
|
|
|
|
|
|
|
| |
Fixes issue 8530.
LGTM=khr
R=golang-codereviews, khr
CC=golang-codereviews, rsc
https://codereview.appspot.com/124440043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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://codereview.appspot.com/123100043
|
|
|
|
|
|
|
|
|
|
| |
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://codereview.appspot.com/128340043
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes issue 8480.
This CL reapplies CL 114420043. This attempt doesn't blow up when encountering hidden symbols.
LGTM=minux
R=minux
CC=golang-codereviews
https://codereview.appspot.com/128310043
|
|
|
|
|
|
|
|
|
| |
LGTM=rsc
R=gobot, dave
CC=golang-codereviews, iant, rsc
https://codereview.appspot.com/114420043
Committer: Dave Cheney <dave@cheney.net>
|
|
|
|
|
|
|
|
|
|
| |
In retrospect this should've been a variable instead of a type,
but oh well.
LGTM=agl
R=agl
CC=golang-codereviews
https://codereview.appspot.com/129250044
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 issue 8524.
LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://codereview.appspot.com/128230046
Committer: Ian Lance Taylor <iant@golang.org>
|
|
|
|
|
|
|
|
| |
Generated by a+c.
R=gobot
CC=golang-codereviews
https://codereview.appspot.com/130140043
|
|
|
|
|
|
|
| |
LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://codereview.appspot.com/127410043
|
|
|
|
|
|
|
|
|
| |
Fixes issue 8512.
LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://codereview.appspot.com/130090043
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 issue 8531.
LGTM=rsc
R=golang-codereviews
CC=golang-codereviews, khr, rsc
https://codereview.appspot.com/124450043
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes issue 7760.
LGTM=iant
R=iant, remyoudompheng
CC=golang-codereviews
https://codereview.appspot.com/130720043
Committer: Ian Lance Taylor <iant@golang.org>
|
|
|
|
|
|
|
| |
LGTM=dave, minux
R=golang-codereviews, dave, minux
CC=golang-codereviews, rsc
https://codereview.appspot.com/122570043
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes issue 8492
LGTM=alex.brainman
R=golang-codereviews, alex.brainman
CC=golang-codereviews
https://codereview.appspot.com/122200043
Committer: Alex Brainman <alex.brainman@gmail.com>
|
|
|
|
|
|
|
| |
LGTM=minux, adg
R=golang-codereviews, minux, adg
CC=golang-codereviews
https://codereview.appspot.com/129180043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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://codereview.appspot.com/123380043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 issue 8442.
LGTM=iant
R=iant, alex.brainman
CC=golang-codereviews
https://codereview.appspot.com/129160043
Committer: Ian Lance Taylor <iant@golang.org>
|
|
|
|
|
| |
CC=golang-codereviews
https://codereview.appspot.com/129130043
|
|
|
|
|
|
|
| |
LGTM=r
R=r
CC=golang-codereviews
https://codereview.appspot.com/123390043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 issue 8428.
LGTM=iant
R=iant
CC=golang-codereviews
https://codereview.appspot.com/127980043
Committer: Ian Lance Taylor <iant@golang.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restore https://codereview.appspot.com/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://codereview.appspot.com/122280043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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://codereview.appspot.com/123330043
Committer: Ian Lance Taylor <iant@golang.org>
|
|
|
|
|
|
|
| |
LGTM=r
R=r
CC=golang-codereviews
https://codereview.appspot.com/128170043
|
|
|
|
|
|
|
| |
LGTM=r
R=r
CC=golang-codereviews
https://codereview.appspot.com/125170044
|
|
|
|
|
|
|
| |
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://codereview.appspot.com/129040043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The file is used by assembly code to define symbols like NOSPLIT.
Having it hidden inside the cmd directory makes it hard to access
outside the standard repository.
Solution: As with a couple of other files used by cgo, copy the
file into the pkg directory and add a -I argument to the assembler
to access it. Thus one can write just
#include "textflag.h"
in .s files.
The names in runtime are not updated because in the boot sequence the
file has not been copied yet when runtime is built. All other .s files
in the repository are updated.
Changes to doc/asm.html, src/cmd/dist/build.c, and src/cmd/go/build.go
are hand-made. The rest are just the renaming done by a global
substitution. (Yay sam).
LGTM=rsc
R=rsc
CC=golang-codereviews
https://codereview.appspot.com/128050043
|
|
|
|
|
|
|
|
|
|
|
| |
This allows implementing address-of-global
as a pc-relative address instead of as a
32-bit integer constant.
LGTM=rminnich, iant
R=golang-codereviews, rminnich, iant
CC=golang-codereviews
https://codereview.appspot.com/128070045
|
|
|
|
|
|
|
|
|
| |
Fixes issue 7453.
LGTM=r
R=r
CC=golang-codereviews
https://codereview.appspot.com/127210043
|
|
|
|
|
|
|
|
|
|
| |
This allows changing the addressing mode for constant
global addresses to use pc-relative addressing.
LGTM=rminnich, iant
R=golang-codereviews, rminnich, iant
CC=golang-codereviews
https://codereview.appspot.com/129830043
|
|
|
|
|
|
|
|
|
|
| |
You talked me into it. This and other links should be updated
once the new import paths for the subrepos are established.
LGTM=minux
R=golang-codereviews, minux
CC=golang-codereviews
https://codereview.appspot.com/124260043
|
|
|
|
|
|
|
|
|
|
|
| |
Add a clause to the doc comment for the package and a
paragraph in the compatibility document explaining the
situation.
LGTM=bradfitz, adg, rsc
R=golang-codereviews, adg, bradfitz, minux, rsc
CC=golang-codereviews
https://codereview.appspot.com/129820043
|
|
|
|
|
|
|
|
|
|
| |
codeblk and datblk were truncating their
arguments to int32. Don't do that.
LGTM=dvyukov, rminnich
R=iant, dvyukov, rminnich
CC=golang-codereviews
https://codereview.appspot.com/126050043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See golang.org/s/go14customimport for design.
Added case to deps_test to allow go/build to import regexp.
Not a new dependency, because go/build already imports go/doc
which imports regexp.
Fixes issue 7453.
LGTM=r
R=r, josharian
CC=golang-codereviews
https://codereview.appspot.com/124940043
|
|
|
|
|
|
|
| |
LGTM=r
R=r, rsc
CC=golang-codereviews
https://codereview.appspot.com/126060043
|
|
|
|
|
|
|
|
|
|
|
| |
Adds internal/syscall package.
Fixes Issue 8520
LGTM=r, agl
R=agl, rsc, r
CC=golang-codereviews, iant
https://codereview.appspot.com/123260044
|
|
|
|
|
|
|
|
|
| |
Turns out to be unused as well.
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews, khr
https://codereview.appspot.com/127170044
|
|
|
|
|
|
|
|
|
|
|
| |
It's unclear why we do this broken double-checked locking.
The mutex is not held for the whole duration of CPU profiling.
Fixes issue 8365.
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://codereview.appspot.com/116290043
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes issue 7757.
Fixes issue 8488.
LGTM=iant
R=iant
CC=golang-codereviews
https://codereview.appspot.com/118690044
Committer: Ian Lance Taylor <iant@golang.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function does not have a declaration/prototype in a.h, and it is used only
in buf.c, so it is local to it and thus can be marked as private by adding
'static' to it.
LGTM=iant
R=rsc, iant
CC=golang-codereviews
https://codereview.appspot.com/122300043
Committer: Ian Lance Taylor <iant@golang.org>
|
|
|
|
|
|
|
|
|
| |
Generated by a+c.
LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://codereview.appspot.com/125960043
|