- 04 Nov, 2014 2 commits
-
-
Ian Lance Taylor authored
One failing case this removes is: var bytes = []byte("hello, world") var copy_bytes = bytes We could handle this in the compiler, but it requires special case for a variable that is initialized to the value of a variable that is initialized to a string literal converted to []byte. This seems an unlikely case--it never occurs in the standrd library--and it seems unnecessary to write the code to handle it. If we do want to support this case, one approach is https://golang.org/cl/171840043. The other failing cases are of the form var bx bool var copy_bx = bx The compiler used to initialize copy_bx to false. However, that led to issue 7665, since bx may be initialized in non-Go code. The compiler no longer assumes that bx must be false, so copy_bx can not be statically initialized. We can fix these with https://golang.org/cl/169040043 if we also pass -complete to the compiler as part of this test. This is OK but it's too late in the release cycle. Fixes #8746. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/165400043
-
Austin Clements authored
The check for unknown command line debug flags in gc was incorrect: the loop over debugtab terminates when it reaches a nil entry, but it was only reporting an error if the parser had passed the last entry of debugtab (which it never did). Fix this by reporting the usage error if the loop reaches a nil entry. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/166110043
-
- 03 Nov, 2014 3 commits
-
-
Alan Donovan authored
(The assertion depends on a per-package gensym counter whose value varies based on what else is in the package.) LGTM=khr R=khr, rsc CC=golang-codereviews https://golang.org/cl/169930043
-
Austin Clements authored
Previously, the flags argument to mallocgc was an int in Go, but a uint32 in C. Change the Go type to use uint32 so these agree. The largest flag value is 2 (and of course no flag values are negative), so this won't change anything on little endian architectures, but it matters on big endian. LGTM=rsc R=khr, rsc CC=golang-codereviews https://golang.org/cl/169920043
-
Andrew Gerrand authored
LGTM=r, rsc R=r, rsc, adg CC=golang-codereviews https://golang.org/cl/168890043
-
- 01 Nov, 2014 2 commits
-
-
Benoit Sigoure authored
On heavily loaded build servers, a 5 second timeout is too aggressive, which causes this test to fail spuriously. LGTM=iant R=iant CC=golang-codereviews, sqweek https://golang.org/cl/170850043
-
Ian Lance Taylor authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/164410043
-
- 31 Oct, 2014 5 commits
-
-
Ian Lance Taylor authored
LGTM=bradfitz R=bradfitz CC=golang-codereviews https://golang.org/cl/168860044
-
Brad Fitzpatrick authored
Using -test.cpu=1,1 made it crash before. Fixes #9024 LGTM=iant R=adg, iant CC=golang-codereviews https://golang.org/cl/169860043
-
Gabriel Aszalos authored
LGTM=iant R=golang-codereviews, iant, bradfitz CC=golang-codereviews https://golang.org/cl/163690043
-
Ian Lance Taylor authored
LGTM=bradfitz R=adg, bradfitz CC=golang-codereviews https://golang.org/cl/162580043
-
Brad Fitzpatrick authored
Fixes #9029 LGTM=adg, r R=r, adg CC=golang-codereviews https://golang.org/cl/161630044
-
- 30 Oct, 2014 10 commits
-
-
Nathan P Finch authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/170770043
-
Brad Fitzpatrick authored
TBR=iant R=iant CC=golang-codereviews https://golang.org/cl/155560045
-
Brad Fitzpatrick authored
LGTM=iant R=golang-codereviews, iant CC=adg, golang-codereviews https://golang.org/cl/165170043
-
Alan Donovan authored
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/169800043
-
Alan Donovan authored
+ Regression test. Fixes #9026. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/162490043
-
Brad Fitzpatrick authored
It doesn't simplify, because it wasn't even possible before. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/164250043
-
Mikio Hara authored
LGTM=adg R=r, adg CC=golang-codereviews https://golang.org/cl/165890043
-
Andrew Gerrand authored
TBR=rsc R=r, rsc CC=golang-codereviews https://golang.org/cl/164240043
-
Russ Cox authored
TBR=adg CC=golang-codereviews https://golang.org/cl/167890043
-
Russ Cox authored
If you get a stack of PCs from Callers, it would be expected that every PC is immediately after a call instruction, so to find the line of the call, you look up the line for PC-1. CL 163550043 now explicitly documents that. The most common exception to this is the top-most return PC on the stack, which is the entry address of the runtime.goexit function. Subtracting 1 from that PC will end up in a different function entirely. To remove this special case, make the top-most return PC goexit+PCQuantum and then implement goexit in assembly so that the first instruction can be skipped. Fixes #7690. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/170720043
-
- 29 Oct, 2014 18 commits
-
-
Alex Brainman authored
LGTM=rsc R=golang-codereviews, bradfitz, rsc CC=golang-codereviews https://golang.org/cl/163540043
-
Rob Pike authored
First draft now complete. LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/170750043
-
Russ Cox authored
This removes a bunch of ugly duplicate code. The end goal is to factor the disassembly code into cmd/internal/objfile too, so that pprof can use it, but one step at a time. LGTM=r, iant R=r, alex.brainman, iant CC=golang-codereviews https://golang.org/cl/149400043
-
Rob Pike authored
LGTM=iant, cmang R=cmang, iant, rsc CC=golang-codereviews https://golang.org/cl/169760043
-
Russ Cox authored
Originally traceback was only used for printing the stack when an unexpected signal came in. In that case, the initial PC is taken from the signal and should be used unaltered. For the callers, the PC is the return address, which might be on the line after the call; we subtract 1 to get to the CALL instruction. Traceback is now used for a variety of things, and for almost all of those the initial PC is a return address, whether from getcallerpc, or gp->sched.pc, or gp->syscallpc. In those cases, we need to subtract 1 from this initial PC, but the traceback code had a hard rule "never subtract 1 from the initial PC", left over from the signal handling days. Change gentraceback to take a flag that specifies whether we are tracing a trap. Change traceback to default to "starting with a return PC", which is the overwhelmingly common case. Add tracebacktrap, like traceback but starting with a trap PC. Use tracebacktrap in signal handlers. Fixes #7690. LGTM=iant, r R=r, iant CC=golang-codereviews https://golang.org/cl/167810044
-
Russ Cox authored
Attempt to clear up confusion about how to turn the PCs reported by Callers into the file and line number people actually want. Fixes #7690. LGTM=r, chris.cs.guy R=r, chris.cs.guy CC=golang-codereviews https://golang.org/cl/163550043
-
Rob Pike authored
LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/165090043
-
Rob Pike authored
Stupid mistake in previous CL. TBR=rsc R=rsc CC=golang-codereviews https://golang.org/cl/166880043
-
Russ Cox authored
TBR=iant CC=golang-codereviews https://golang.org/cl/164180043
-
Russ Cox authored
TBR=austin CC=golang-codereviews https://golang.org/cl/167820043
-
Russ Cox authored
TBR=austin CC=golang-codereviews https://golang.org/cl/162420043
-
Ian Lance Taylor authored
Fixes #8803. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/169720043
-
Russ Cox authored
Fixes #9006. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/167800043
-
Rob Pike authored
It now echoes what strconv.FormatFloat says. Fixes #9012. LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/169730043
-
Rob Pike authored
LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/160660046
-
Russ Cox authored
Fixes #8861. Fixes #8911. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/165780043
-
Russ Cox authored
Fixes #8588. LGTM=austin R=austin CC=golang-codereviews, khr https://golang.org/cl/159700044
-
Russ Cox authored
goprintf is a printf-like print for Go. It is used in the code generated by 'defer print(...)' and 'go print(...)'. Normally print(1, 2, 3) turns into printint(1) printint(2) printint(3) but defer and go need a single function call to give the runtime; they give the runtime something like goprintf("%d%d%d", 1, 2, 3). Variadic functions like goprintf cannot be described in the new type information world, so we have to replace it. Replace with a custom function, so that defer print(1, 2, 3) turns into defer func(a1, a2, a3 int) { print(a1, a2, a3) }(1, 2, 3) (and then the print becomes three different printints as usual). Fixes #8614. LGTM=austin R=austin CC=golang-codereviews, r https://golang.org/cl/159700043
-