- 12 Jun, 2013 12 commits
-
-
Russ Cox authored
Add gostartcall and gostartcallfn. The old gogocall = gostartcall + gogo. The old gogocallfn = gostartcallfn + gogo. R=dvyukov, minux.ma CC=golang-dev https://golang.org/cl/10036044
-
Dmitriy Vyukov authored
Fixes #5641. R=golang-dev, dave, daniel.morsing, iant CC=golang-dev, kcc https://golang.org/cl/10126044
-
Dmitriy Vyukov authored
In starttheworld() we assume that P's with local work are situated in the beginning of idle P list. However, once we start the first M, it can execute all local G's and steal G's from other P's. That breaks the assumption above. Thus starttheworld() will fail to start some P's with local work. It seems that it can not lead to very bad things, but still it's wrong and breaks other assumtions (e.g. we can have a spinning M with local work). The fix is to collect all P's with local work first, and only then start them. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/10051045
-
Russ Cox authored
TBR=dvyukov CC=golang-dev https://golang.org/cl/10229043
-
Russ Cox authored
TBR=dvyukov CC=golang-dev https://golang.org/cl/10227044
-
Russ Cox authored
The garbage collection routine addframeroots is duplicating logic in the traceback routine that calls it, sometimes correctly, sometimes incorrectly, sometimes incompletely. Pass necessary information to addframeroots instead of deriving it anew. Should make addframeroots significantly more robust. It's certainly smaller. Also try to standardize on uintptr for saved pc, sp values. Will make CL 10036044 trivial. R=golang-dev, dave, dvyukov CC=golang-dev https://golang.org/cl/10169045
-
Russ Cox authored
# bufio coverage analysis cannot handle package (bufio_test imports testing imports bufio) # bytes coverage analysis cannot handle package (bytes_test imports encoding/base64 imports bytes) # crypto/cipher coverage analysis cannot handle package (cipher_test imports crypto/aes imports crypto/cipher) # debug/dwarf coverage analysis cannot handle package (dwarf_test imports debug/elf imports debug/dwarf) # errors coverage analysis cannot handle package (errors_test imports fmt imports errors) # flag coverage analysis cannot handle package (flag_test imports testing imports flag) # fmt coverage analysis cannot handle package (fmt_test imports testing imports fmt) # go/ast coverage analysis cannot handle package (ast_test imports go/format imports go/ast) # image coverage analysis cannot handle package (image_test imports image/gif imports image) # io coverage analysis cannot handle package (io_test imports bytes imports io) # math coverage analysis cannot handle package (math_test imports fmt imports math) # net/http coverage analysis cannot handle package (http_test imports net/http/httptest imports net/http) # os coverage analysis cannot handle package (os_test imports flag imports os) # path/filepath coverage analysis cannot handle package (filepath_test imports io/ioutil imports path/filepath) # reflect coverage analysis cannot handle package (reflect_test imports flag imports reflect) # runtime coverage analysis cannot handle package (runtime_test imports fmt imports runtime) # runtime/pprof coverage analysis cannot handle package (pprof_test imports testing imports runtime/pprof) # sort coverage analysis cannot handle package (sort_test imports testing imports sort) # strconv coverage analysis cannot handle package (strconv_test imports fmt imports strconv) # strings coverage analysis cannot handle package (strings_test imports testing imports strings) # sync coverage analysis cannot handle package (sync_test imports fmt imports sync) # sync/atomic coverage analysis cannot handle package (atomic_test imports testing imports sync/atomic) # syscall coverage analysis cannot handle package (syscall_test imports flag imports syscall) # text/tabwriter coverage analysis cannot handle package (tabwriter_test imports testing imports text/tabwriter) # time coverage analysis cannot handle package (time_test imports encoding/gob imports time) # unicode coverage analysis cannot handle package (unicode_test imports testing imports unicode) # unicode/utf8 coverage analysis cannot handle package (utf8_test imports bytes imports unicode/utf8) R=r CC=golang-dev https://golang.org/cl/10216043
-
Shenghou Ma authored
Fixes #5655. R=golang-dev, r CC=golang-dev https://golang.org/cl/9944044
-
David Symonds authored
R=golang-dev, rsc CC=golang-dev, jhoak https://golang.org/cl/10217043
-
Rob Pike authored
Separates correct from erroneous output so errors running the tool will appear in the log. R=rsc CC=golang-dev https://golang.org/cl/10191043
-
Ian Lance Taylor authored
This avoids problems with inlining in genwrappers, which occurs after functions have been compiled. Compiling a function may cause some unused local vars to be removed from the list. Since a local var may be unused due to optimization, it is possible that a removed local var winds up beingused in the inlined version, in which case hilarity ensues. Fixes #5515. R=golang-dev, khr, dave CC=golang-dev https://golang.org/cl/10210043
-
Russ Cox authored
It was off in the old implementation (because there was no high-level description of the function at all). Maybe some day the race detector should be fixed to handle the wrapper and then enabled for it, but there's no reason that has to be today. R=golang-dev TBR=dvyukov CC=golang-dev https://golang.org/cl/10037045
-
- 11 Jun, 2013 9 commits
-
-
Shenghou Ma authored
Fixes #5463. R=golang-dev, iant CC=golang-dev https://golang.org/cl/9239045
-
Shenghou Ma authored
in case we have weird (not page aligned) memory limit. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/10199043
-
Russ Cox authored
There's no reason to use a different name on each architecture, and doing so makes it impossible for portable code to refer to the original Go runtime entry point. Rename it _rt0_go everywhere. This is a global search and replace only. R=golang-dev, bradfitz, minux.ma CC=golang-dev https://golang.org/cl/10196043
-
Rémy Oudompheng authored
Fixes #5244. R=golang-dev, rsc, iant, r, daniel.morsing CC=golang-dev https://golang.org/cl/8601044
-
Daniel Morsing authored
Fixes #5431. R=dvyukov, remyoudompheng, rsc CC=gobot, golang-dev https://golang.org/cl/9910043
-
Rob Pike authored
This feature is not yet ready for real use. The CL marks a bite-sized piece that is ready for review. TODOs that remain: provide control over output produce output without setting -v make work on reflect, sync and time packages (fail now due to link errors caused by inlining) better documentation Almost all packages work now, though, if clumsily; try: go test -v -cover=count encoding/binary R=rsc CC=gobot, golang-dev, remyoudompheng https://golang.org/cl/10050045
-
Keith Randall authored
R=cshapiro, dvyukov, khr, rsc CC=golang-dev https://golang.org/cl/10005044
-
Russ Cox authored
Requires adding new linker instruction RET f(SB) meaning return but then immediately call f. This is what you'd use to implement a tail call after fiddling with the arguments, but the compiler only uses it in genwrapper. This CL eliminates the copy-and-paste genembedtramp functions from 5g/8g/6g and makes the code run on ARM for the first time. It removes a small special case for function generation, which should help Carl a bit, but at the same time it does not bother to implement general tail call optimization, which we do not want anyway. Fixes #5627. R=ken2 CC=golang-dev https://golang.org/cl/10057044
-
Alex Brainman authored
Fixes #5615. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/9651047
-
- 10 Jun, 2013 17 commits
-
-
Gerasimos Dimitriadis authored
The first identifier in an Object Identifer must be between 0 and 2 inclusive. The range of values that the second one can take depends on the value of the first one. The two first identifiers are not necessarily encoded in a single octet, but in a varint. R=golang-dev, agl CC=golang-dev https://golang.org/cl/10140046
-
Shenghou Ma authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/10159043
-
Russ Cox authored
The new code matches the code in cc/lex.c and the #define GETC. This was causing problems scanning runtime·foo if the leading · byte was returned by the buffer fill. R=ken2 CC=golang-dev https://golang.org/cl/10167043
-
Shenghou Ma authored
Fixes #5111. Update #4718 This CL makes BL (Rx) to use BLX Rx instead of: MOV LR, PC MOV PC, Rx R=cshapiro, rsc CC=dave, gobot, golang-dev https://golang.org/cl/9669045
-
Dmitriy Vyukov authored
Update #5641. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/10144043
-
Dmitriy Vyukov authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/10137043
-
Shenghou Ma authored
Fixes #4078. R=golang-dev, bradfitz, rsc, iant CC=golang-dev https://golang.org/cl/7100050
-
Shenghou Ma authored
R=golang-dev, bradfitz, gri, iant, rsc CC=golang-dev https://golang.org/cl/7235044
-
Shenghou Ma authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/10150043
-
Shenghou Ma authored
R=golang-dev, iant, bradfitz, dave CC=golang-dev https://golang.org/cl/7430044
-
Dmitriy Vyukov authored
Fixes #5567. R=golang-dev, dave, iant CC=golang-dev https://golang.org/cl/10085043
-
Dmitriy Vyukov authored
Do not synchronize Add(1) with Wait(). Imitate read on first Add(1) and write on Wait(), it allows to catch common misuses of WaitGroup: - Add() called in the additional goroutine itself - incorrect reuse of WaitGroup with multiple waiters R=golang-dev, iant CC=golang-dev https://golang.org/cl/10093044
-
Shenghou Ma authored
R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/10085050
-
Alex Brainman authored
Fixes #5619. R=golang-dev, r, peter.armitage, go.peter.90 CC=golang-dev https://golang.org/cl/9952044
-
Dmitriy Vyukov authored
Also reduce FixAlloc allocation granulatiry from 128k to 16k, small programs do not need that much memory for MCache's and MSpan's. R=golang-dev, khr CC=golang-dev https://golang.org/cl/10140044
-
Dmitriy Vyukov authored
Reduces heap size. R=golang-dev, khr CC=golang-dev https://golang.org/cl/10140043
-
Dmitriy Vyukov authored
Especially important for Windows because it reserves VM only in multiple of 64k. R=golang-dev, alex.brainman CC=golang-dev https://golang.org/cl/10082048
-
- 09 Jun, 2013 2 commits
-
-
Dmitriy Vyukov authored
Reduces heap size. R=golang-dev, remyoudompheng, bradfitz CC=golang-dev https://golang.org/cl/10139043
-
Dmitriy Vyukov authored
Especially important for Windows because it reserves VM only in multiple of 64k. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/10138043
-