- 13 Oct, 2014 1 commit
-
-
Ian Lance Taylor authored
The code for a generated type is already generating an unrolled GC bitmask. Rather than unrolling the the source type bitmasks and copying them, just generate the required bitmask directly. Don't mark it as an unrolled GC program, since there is no need to do so. Fixes #8917. LGTM=rsc R=dvyukov, rsc CC=golang-codereviews https://golang.org/cl/156930044
-
- 12 Oct, 2014 1 commit
-
-
Ian Lance Taylor authored
CC=golang-codereviews https://golang.org/cl/159800044
-
- 11 Oct, 2014 3 commits
-
-
Alex Brainman authored
Our current pe object reader assumes that every symbol starting with '.' is section. It appeared to be true, until now gcc 4.9.1 generates some symbols with '.' at the front. Change that logic to check other symbol fields in addition to checking for '.'. I am not an expert here, but it seems reasonable to me. Added test, but it is only good, if tested with gcc 4.9.1. Otherwise the test PASSes regardless. Fixes #8811. Fixes #8856. LGTM=jfrederich, iant, stephen.gutekanst R=golang-codereviews, jfrederich, stephen.gutekanst, iant CC=alex.brainman, golang-codereviews https://golang.org/cl/152410043
-
Alex Brainman authored
gcc 4.9.1 generates pe sections with names longer then 8 charters. From IMAGE_SECTION_HEADER definition: Name An 8-byte, null-padded UTF-8 string. There is no terminating null character if the string is exactly eight characters long. For longer names, this member contains a forward slash (/) followed by an ASCII representation of a decimal number that is an offset into the string table. Our current pe object file reader does not read string table when section names starts with /. Do that, so (issue 8811 example) c:\go\path\src\isssue8811>go build # isssue8811 isssue8811/glfw(.text): isssue8811/glfw(/76): not defined isssue8811/glfw(.text): undefined: isssue8811/glfw(/76) becomes c:\go\path\src\isssue8811>go build # isssue8811 isssue8811/glfw(.text): isssue8811/glfw(.rdata$.refptr._glfwInitialized): not defined isssue8811/glfw(.text): undefined: isssue8811/glfw(.rdata$.refptr._glfwInitialized) Small progress to Update #8811 LGTM=iant, jfrederich R=golang-codereviews, iant, jfrederich CC=golang-codereviews https://golang.org/cl/154210044
-
Shenghou Ma authored
I diffed the output of `nm -n gofmt' before and after this change, and verified that all changes are correct and all corrupted symbol names are fixed. Fixes #8906. LGTM=iant, cookieo9 R=golang-codereviews, iant, cookieo9 CC=golang-codereviews https://golang.org/cl/159750043
-
- 10 Oct, 2014 2 commits
-
-
Alex Brainman authored
LGTM=minux R=bradfitz, minux CC=golang-codereviews https://golang.org/cl/154220043
-
Adam Langley authored
https://golang.org/cl/153770043/ tried to fix the case where a implicitly tagged Time, that happened to have the same tag as GENERALIZEDTIME, shouldn't be parsed as a GENERALIZEDTIME. It did so, mistakenly, by testing whether params.tag != nil. But explicitly tagged values also have a non-nil tag and there the inner tag actually does encode the type of the value. This change instead tests whether the tag class is UNIVERSAL before assuming that the tag contains type information. LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/152380044
-
- 09 Oct, 2014 11 commits
-
-
Alex Brainman authored
TBR=0intro R=golang-codereviews CC=golang-codereviews https://golang.org/cl/157820043
-
Ron Hashimoto authored
Fixes #5834. LGTM=alex.brainman R=golang-codereviews, bradfitz, alex.brainman, mikioh.mikioh, in60jp, iant CC=golang-codereviews https://golang.org/cl/149510043
-
Ian Lance Taylor authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/155190043
-
Dmitriy Vyukov authored
Missed that comment in CL 153990043. LGTM=khr R=khr CC=golang-codereviews https://golang.org/cl/156010043
-
Brad Fitzpatrick authored
LGTM=crawshaw R=golang-codereviews, crawshaw CC=golang-codereviews, iant https://golang.org/cl/150690043
-
David du Colombier authored
LGTM=adg R=golang-codereviews, adg CC=golang-codereviews https://golang.org/cl/151620043
-
David du Colombier authored
LGTM=bradfitz R=rsc, bradfitz CC=aram, golang-codereviews https://golang.org/cl/154140043
-
Alex Brainman authored
That was complete failure - builders are broken, but original cl worked fine on my system. I will need access to builders to test this change properly. ««« original CL description runtime: handle all windows exception Fixes #8006. LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/145150043 »»» TBR=rsc R=golang-codereviews CC=golang-codereviews https://golang.org/cl/154180043
-
Alex Brainman authored
Fixes #8006. LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/145150043
-
Alex Brainman authored
CL 145890044 did not provide test. Rectify that. Update #8517 LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/148790043
-
Keith Randall authored
In channels, zeroing of gp.waiting is missed on a closed channel panic. m.morebuf.g is not zeroed. I don't expect the latter causes any problems, but just in case. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/151610043
-
- 08 Oct, 2014 13 commits
-
-
Ian Lance Taylor authored
This makes dwardump --verify happy. Update #8846 LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/150370043
-
Michael Hudson-Doyle authored
TestMakeFuncVariadic only called the variadic function via Call and CallSlice, not via a direct function call. I thought these tests would fail under gccgo tip, but they don't. Still seems worth having though. LGTM=iant R=golang-codereviews, gobot, iant CC=golang-codereviews https://golang.org/cl/152060043
-
Keith Randall authored
This change prevents confusion in the garbage collector. The collector wants to make sure that every pointer it finds isn't junk. Its criteria for junk is (among others) points to a "free" span. Because the stack shrinker modifies pointers in the heap, there is a race condition between the GC scanner and the shrinker. The GC scanner can see old pointers (pointers to freed stacks). In particular this happens with SudoG.elem pointers. Normally this is not a problem, as pointers into stack spans are ok. But if the freed stack is the last one in its span, the span is marked as "free" instead of "contains stacks". This change makes sure that even if the GC scanner sees an old pointer, the span into which it points is still marked as "contains stacks", and thus the GC doesn't complain about it. This change will make the GC pause a tiny bit slower, as the stack freeing now happens in serial with the mark pause. We could delay the freeing until the mutators start back up, but this is the simplest change for now. TBR=dvyukov CC=golang-codereviews https://golang.org/cl/158750043
-
Ian Lance Taylor authored
These tests fail when using gccgo. In gccgo using Interface on the value of a method function is implemented using a variant of MakeFunc. That approach did not correctly handle variadic functions. LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/151280043
-
Ian Lance Taylor authored
Generated by a+c. R=gobot CC=golang-codereviews https://golang.org/cl/153240043
-
Dmitriy Vyukov authored
The change contains 3 spot optimizations to scan loop: 1. Don't use byte vars, use uintptr's instead. This seems to alleviate some codegen issue, and alone accounts to a half of speedup. 2. Remove bitmap cache. Currently we cache only 1 byte, so caching is not particularly effective anyway. Removal of the cache simplifies code and positively affects regalloc. 3. Replace BitsMultiword switch with if and do debug checks only in Debug mode. I've benchmarked changes separately and ensured that each of them provides speedup on top of the previous one. This change as a whole fixes the unintentional regressions of scan loop that were introduced during development cycle. Fixes #8625. Fixes #8565. On go.benchmarks/garbage benchmark: GOMAXPROCS=1 time: -3.13% cputime: -3.22% gc-pause-one: -15.71% gc-pause-total: -15.71% GOMAXPROCS=32 time: -1.96% cputime: -4.43% gc-pause-one: -6.22% gc-pause-total: -6.22% LGTM=khr, rsc R=golang-codereviews, khr CC=golang-codereviews, rlh, rsc https://golang.org/cl/153990043
-
Russ Cox authored
Should fix the remaining 'invalid heap pointer' build failures. TBR=khr CC=golang-codereviews https://golang.org/cl/152360043
-
Russ Cox authored
Out of stack space due to new 2-word call in freedefer. Go back to smaller function calls. TBR=brainman CC=golang-codereviews https://golang.org/cl/152340043
-
Russ Cox authored
It appears to be an opaque bit pattern more than a pointer. The Go garbage collector has discovered that for m0 it is set to 0x4c. Should fix Windows build. TBR=brainman CC=golang-codereviews https://golang.org/cl/149640043
-
Russ Cox authored
Another dangling stack pointer in a cached structure. Same as SudoG.elem and SudoG.selectdone. Definitely a fix, and the new test in freedefer makes the crash reproducible, but probably not a complete fix. I have seen one dangling pointer in a Defer.panic even after this fix; I cannot see where it could be coming from. I think this will fix the solaris build. I do not think this will fix the occasional failure on the darwin build. TBR=khr R=khr CC=golang-codereviews https://golang.org/cl/155080043
-
Russ Cox authored
This avoids a pop-up box on OS X and it avoids a test failure if something is using 5555. I apologize for not noticing this during the review. TBR=r CC=golang-codereviews https://golang.org/cl/152320044
-
Andrew Gerrand authored
LGTM=bradfitz, r R=r, bradfitz CC=golang-codereviews https://golang.org/cl/156730043
-
Andrew Gerrand authored
It seems reasonable that people might want to look up the ImportComment with "go list". LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/143600043
-
- 07 Oct, 2014 9 commits
-
-
Keith Randall authored
I have a CL which at every gc looks through data and bss sections for nonpointer data (according to gc maps) that looks like a pointer. These are potential missing roots. The only thing it finds are begnign, storing stack pointers into m0.scalararg[1] and never cleaning them up. Let's clean them up now so the test CL passes all.bash cleanly. The test CL can't be checked in because we might store pointer-looking things in nonpointer data by accident. LGTM=iant R=golang-codereviews, iant, khr CC=golang-codereviews https://golang.org/cl/153210043
-
Keith Randall authored
We no longer have full type information in the heap, so we can't dump that any more. Instead we dump ptr/noptr maps so at least we can compute graph connectivity. In addition, we still dump Iface/Eface types so together with dwarf type info we might be able to reconstruct types of most things in the heap. LGTM=dvyukov R=golang-codereviews, dvyukov, rsc, khr CC=golang-codereviews https://golang.org/cl/155940043
-
Russ Cox authored
Fixes a SWIG bug reported off-list. LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/155990043
-
Robert Griesemer authored
Fixes #8904. TBR=iant R=iant CC=golang-codereviews https://golang.org/cl/148650043
-
Rob Pike authored
Helpfully supplied by tommi.virtanen in issue 8173. LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/151370043
-
Russ Cox authored
LGTM=bradfitz, dave, r R=r, bradfitz, dave CC=golang-codereviews https://golang.org/cl/152250044
-
Russ Cox authored
Fixes 386 build. TBR=r CC=golang-codereviews https://golang.org/cl/149620043
-
Russ Cox authored
This will help find bugs during the release freeze. It's not clear it should be kept for the release itself. That's issue 8861. The most likely thing that would trigger this is stale pointers that previously were ignored or caused memory leaks. These were allowed due to the use of conservative collection. Now that everything is precise, we should not see them anymore. The small number check reinforces what the stack copier is already doing, catching the storage of integers in pointers. It caught issue 8864. The check is disabled if _cgo_allocate is linked into the binary, which is to say if the binary is using SWIG to allocate untyped Go memory. In that case, there are invalid pointers and there's nothing we can do about it. LGTM=rlh R=golang-codereviews, dvyukov, rlh CC=golang-codereviews, iant, khr, r https://golang.org/cl/148470043
-
Russ Cox authored
Fixes #8587. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews, iant, r https://golang.org/cl/152270044
-