- 29 Jul, 2013 1 commit
-
-
Dmitriy Vyukov authored
Split stack checks (morestack) corrupt g->sched, but g->sched must be preserved consistent for GC/traceback. The change implements runtime.notetsleepg function, which does entersyscall/exitsyscall and is carefully arranged to not call any split functions in between. R=rsc CC=golang-dev https://golang.org/cl/11575044
-
- 25 Jul, 2013 1 commit
-
-
Ian Lance Taylor authored
Don't require a full-scale callback for calls to the special prologue functions. Always use a simple wrapper function for C functions, so that we can handle static functions defined in the import "C" comment. Disable a test that relies on gc-specific function names. Fixes #5905. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/11406047
-
- 22 Jul, 2013 1 commit
-
-
Dmitriy Vyukov authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/11677043
-
- 12 Jun, 2013 1 commit
-
-
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
-
- 26 Mar, 2013 1 commit
-
-
Carl Shapiro authored
The arm gentraceback mishandled frame linkage values pointing to the assembly return function. This function is special as its frame size is zero and it contains only one instruction. These conditions would preserve the frame pointer and result in an off by one error when unwinding the caller. Fixes #5124 R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/8023043
-
- 25 Mar, 2013 1 commit
-
-
Carl Shapiro authored
The ARM implementation of runtime.cgocallback_gofunc diverged from the calling convention by leaving a word of garbage at the top of the stack and storing the return PC above the locals. This change stores the return PC at the top of the stack and removes the save area above the locals. Update #5124 This CL fixes first part of the ARM issues and added the unwind test. R=golang-dev, bradfitz, minux.ma, cshapiro, rsc CC=golang-dev https://golang.org/cl/7728045
-
- 30 Oct, 2012 1 commit
-
-
Robert Griesemer authored
Remove trailing whitespace in comments. No other changes. R=r CC=golang-dev https://golang.org/cl/6815053
-
- 07 Mar, 2012 1 commit
-
-
Russ Cox authored
The testso directory still needs to be enabled. R=golang-dev, r CC=golang-dev https://golang.org/cl/5731048
-
- 24 Jan, 2012 1 commit
-
-
Olivier Duperray authored
Fixes #2759. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5570053
-
- 30 Aug, 2011 1 commit
-
-
Gustavo Niemeyer authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/4956051
-
- 02 May, 2011 1 commit
-
-
Russ Cox authored
The new gotest ignores Test functions outside *_test.go files (the old shell script allowed them), so replace one clumsy hack with another. The root problem is that the package makefiles only know how to run cgo for source files in the package proper, not for test files. Making it work for test files is probably more trouble than it's worth. R=bradfitz CC=golang-dev https://golang.org/cl/4452060
-
- 22 Mar, 2011 1 commit
-
-
Robert Griesemer authored
Also: gofmt src misc Fixes #1627. R=rsc CC=golang-dev https://golang.org/cl/4303042
-
- 07 Mar, 2011 1 commit
-
-
Russ Cox authored
* Change use of m->g0 stack (aka scheduler stack). * Provide runtime.mcall(f) to invoke f() on m->g0 stack. * Replace scheduler loop entry with runtime.mcall(schedule). Runtime.mcall eliminates the need for fake scheduler states that exist just to run a bit of code on the m->g0 stack (Grecovery, Gstackalloc). The elimination of the scheduler as a loop that stops and starts using gosave and gogo fixes a bad interaction with the way cgo uses the m->g0 stack. Cgo runs external (gcc-compiled) C functions on that stack, and then when calling back into Go, it sets m->g0->sched.sp below the added call frames, so that other uses of m->g0's stack will not interfere with those frames. Unfortunately, gogo (longjmp) back to the scheduler loop at this point would end up running scheduler with the lower sp, which no longer points at a valid stack frame for a call to scheduler. If scheduler then wrote any function call arguments or local variables to where it expected the stack...
-