1
0
mirror of https://github.com/golang/go synced 2024-11-20 00:04:43 -07:00
go/src/pkg/runtime
Shenghou Ma b2a9079e54 runtime: manage stack by ourselves for badcallback on windows/amd64
This function uses 48-byte of precious non-split stack for every callback
function, and without this CL, it can easily overflow the non-split stack.
I encountered this when trying to enable misc/cgo/test on windows/amd64.

R=rsc
CC=golang-dev
https://golang.org/cl/5784075
2012-03-15 02:24:49 +08:00
..
cgo runtime/cgo: linux signal masking 2012-03-14 13:07:25 +09:00
debug runtime/debug: fix test when source cannot be found 2012-03-05 16:13:15 -05:00
pprof runtime/pprof: disable test on Leopard 64-bit 2012-03-07 11:44:54 -05:00
alg.c runtime: fix float64 hash on 32-bit machine 2012-02-06 11:24:34 -05:00
append_test.go
arch_386.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
arch_amd64.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
arch_arm.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
asm_386.s cgo, runtime: diagnose callback on non-Go thread 2012-03-08 12:12:40 -05:00
asm_amd64.s runtime: inline calls to notok 2012-03-08 14:03:56 -05:00
asm_arm.s runtime: on 386, fix FP control word on all threads, not just initial thread 2012-02-14 01:23:15 -05:00
atomic_386.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
atomic_amd64.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
atomic_arm.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
callback_windows_386.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
callback_windows_amd64.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
cgocall.c runtime: rename Cgocalls and Goroutines to NumCgoCall and NumGoroutine, respectively. 2012-02-17 08:49:41 +11:00
cgocall.h
chan_test.go runtime: add type algorithms for zero-sized types 2012-01-20 10:32:55 +04:00
chan.c runtime: put lockorder before pollorder in Select memory block. 2012-02-10 21:24:14 -08:00
closure_386.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
closure_amd64.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
closure_arm.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
closure_test.go
compiler.go runtime: add Compiler 2012-03-05 22:28:02 -05:00
complex.c
cpuprof.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
debug.go runtime: goroutine profile, stack dumps 2012-02-22 21:45:01 -05:00
defs1_linux.go runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
defs2_linux.go runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
defs_arm_linux.go runtime: fix arm 2012-02-23 23:10:38 -05:00
defs_darwin_386.h runtime: madvise and SysUnused for Darwin 2012-01-19 15:51:29 -05:00
defs_darwin_amd64.h runtime: madvise and SysUnused for Darwin 2012-01-19 15:51:29 -05:00
defs_darwin.go runtime: madvise and SysUnused for Darwin 2012-01-19 15:51:29 -05:00
defs_freebsd_386.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_freebsd_amd64.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_freebsd.go runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
defs_linux_386.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_linux_amd64.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_linux_arm.h runtime: fix arm 2012-02-23 23:10:38 -05:00
defs_linux.go runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
defs_netbsd_386.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_netbsd_amd64.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_netbsd.go runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
defs_openbsd_386.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_openbsd_amd64.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_openbsd.go runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
defs_plan9_386.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_windows_386.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_windows_amd64.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
defs_windows.go runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
error.go runtime: delete Type and implementations (use reflect instead) 2012-02-12 23:26:20 -05:00
export_test.go
extern.go runtime: API 2012-02-19 00:11:44 -05:00
float.c
gc_test.go runtime, time: accelerate tests in short mode. 2012-02-14 22:13:19 +01:00
goc2c.c runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
hashmap.c runtime: use per-map hash seeds 2012-01-31 00:37:03 -05:00
hashmap.h gc: implement == on structs and arrays 2011-12-12 22:22:09 -05:00
iface.c runtime: delete Type and implementations (use reflect instead) 2012-02-12 23:26:20 -05:00
lock_futex.c runtime/pprof: support OS X CPU profiling 2012-02-28 16:18:24 -05:00
lock_sema.c runtime/pprof: support OS X CPU profiling 2012-02-28 16:18:24 -05:00
Makefile runtime, pprof: add profiling of thread creation 2012-02-08 10:33:54 -05:00
malloc1.go runtime: API 2012-02-19 00:11:44 -05:00
malloc.goc runtime: try extending arena size in 32-bit allocator. 2012-03-07 14:21:45 -05:00
malloc.h runtime: goroutine profile, stack dumps 2012-02-22 21:45:01 -05:00
mallocrand.go runtime: API 2012-02-19 00:11:44 -05:00
mallocrep1.go runtime: API 2012-02-19 00:11:44 -05:00
mallocrep.go runtime: API 2012-02-19 00:11:44 -05:00
mcache.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mcentral.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mem_darwin.c runtime: madvise and SysUnused for Darwin 2012-01-19 15:51:29 -05:00
mem_freebsd.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mem_linux.c runtime: fix grsec support 2012-02-14 22:09:02 -02:00
mem_netbsd.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mem_openbsd.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mem_plan9.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mem_windows.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mem.go runtime: release unused memory to the OS. 2012-02-16 13:30:04 -05:00
memmove_386.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
memmove_amd64.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
memmove_arm.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
memset_arm.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mfinal_test.go
mfinal.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mfixalloc.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
mgc0.c runtime: goroutine profile, stack dumps 2012-02-22 21:45:01 -05:00
mheap.c runtime: run init on main thread 2012-03-01 11:48:17 -05:00
mkasmh.sh build: rename $GOROOT/bin/go-tool to $GOROOT/bin/tool. 2012-02-02 23:32:41 -05:00
mkversion.c runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
mprof.goc runtime: goroutine profile, stack dumps 2012-02-22 21:45:01 -05:00
msize.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
os_darwin.h runtime/pprof: support OS X CPU profiling 2012-02-28 16:18:24 -05:00
os_freebsd.h runtime/pprof: support OS X CPU profiling 2012-02-28 16:18:24 -05:00
os_linux.h runtime: size arena to fit in virtual address space limit 2012-02-24 15:28:51 -05:00
os_netbsd.h runtime/pprof: support OS X CPU profiling 2012-02-28 16:18:24 -05:00
os_openbsd.h runtime/pprof: support OS X CPU profiling 2012-02-28 16:18:24 -05:00
os_plan9.h runtime: define NSIG to fix plan 9 build 2012-02-15 14:36:20 -05:00
os_windows.h runtime, syscall, os/signal: fix windows build 2012-02-14 13:51:38 +11:00
print.c runtime: goroutine profile, stack dumps 2012-02-22 21:45:01 -05:00
proc_test.go
proc.c runtime: wait for main goroutine before setting GOMAXPROCS. 2012-03-05 16:40:27 -05:00
proc.p
rt0_darwin_386.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_darwin_amd64.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_freebsd_386.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_freebsd_amd64.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_linux_386.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_linux_amd64.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_linux_arm.s runtime: Linux/ARM: exit early on OABI systems, and give an error message 2012-02-09 16:18:21 -05:00
rt0_netbsd_386.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_netbsd_amd64.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_openbsd_386.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_openbsd_amd64.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_plan9_386.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_windows_386.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
rt0_windows_amd64.s runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
rune.c
runtime1.goc runtime: add NumCPU 2012-01-09 18:45:59 -08:00
runtime_linux_test.go runtime: run init on main thread 2012-03-01 11:48:17 -05:00
runtime_test.go gc: optimize interface ==, != 2012-02-11 00:19:24 -05:00
runtime-gdb.py pkg/runtime: 2 sanity checks in the runtime-gdb.py prettyprinters. 2012-02-29 16:42:25 +01:00
runtime.c os/signal: selective signal handling 2012-02-13 13:52:37 -05:00
runtime.h runtime: remove unused runtime·signame and runtime·newError 2012-03-06 09:07:00 -08:00
sema.goc runtime: API 2012-02-19 00:11:44 -05:00
signal_darwin_386.c runtime/pprof: support OS X CPU profiling 2012-02-28 16:18:24 -05:00
signal_darwin_amd64.c runtime/pprof: support OS X CPU profiling 2012-02-28 16:18:24 -05:00
signal_freebsd_386.c runtime: use startpanic so that only one thread handles an incoming SIGQUIT 2012-02-13 23:06:21 -05:00
signal_freebsd_amd64.c runtime: use startpanic so that only one thread handles an incoming SIGQUIT 2012-02-13 23:06:21 -05:00
signal_linux_386.c runtime: use startpanic so that only one thread handles an incoming SIGQUIT 2012-02-13 23:06:21 -05:00
signal_linux_amd64.c runtime: use startpanic so that only one thread handles an incoming SIGQUIT 2012-02-13 23:06:21 -05:00
signal_linux_arm.c fix build for Linux/ARM. 2012-02-13 20:16:57 -05:00
signal_netbsd_386.c runtime: use startpanic so that only one thread handles an incoming SIGQUIT 2012-02-13 23:06:21 -05:00
signal_netbsd_amd64.c runtime: use startpanic so that only one thread handles an incoming SIGQUIT 2012-02-13 23:06:21 -05:00
signal_openbsd_386.c runtime: use startpanic so that only one thread handles an incoming SIGQUIT 2012-02-13 23:06:21 -05:00
signal_openbsd_amd64.c runtime: use startpanic so that only one thread handles an incoming SIGQUIT 2012-02-13 23:06:21 -05:00
signal_plan9_386.c runtime: remove unused runtime·signame and runtime·newError 2012-03-06 09:07:00 -08:00
signal_unix.c runtime: remove unused runtime·signame and runtime·newError 2012-03-06 09:07:00 -08:00
signal_windows_386.c runtime: silence warnings 2012-02-17 17:05:41 +11:00
signal_windows_amd64.c runtime: silence warnings 2012-02-17 17:05:41 +11:00
signals_darwin.h runtime: Permit default behaviour of SIGTSTP, SIGTTIN, SIGTTOU. 2012-02-17 14:36:40 +11:00
signals_freebsd.h runtime: Permit default behaviour of SIGTSTP, SIGTTIN, SIGTTOU. 2012-02-17 14:36:40 +11:00
signals_linux.h runtime: Permit default behaviour of SIGTSTP, SIGTTIN, SIGTTOU. 2012-02-17 14:36:40 +11:00
signals_netbsd.h runtime: Permit default behaviour of SIGTSTP, SIGTTIN, SIGTTOU. 2012-02-17 14:36:40 +11:00
signals_openbsd.h runtime: Permit default behaviour of SIGTSTP, SIGTTIN, SIGTTOU. 2012-02-17 14:36:40 +11:00
signals_plan9.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
signals_windows.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
sigqueue.goc runtime: Permit default behaviour of SIGTSTP, SIGTTIN, SIGTTOU. 2012-02-17 14:36:40 +11:00
slice.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
softfloat64_test.go renaming_3: gofix -r go1pkgrename src/pkg/[m-z]* 2011-11-08 15:41:54 -08:00
softfloat64.go all: update 'gotest' to 'go test' 2012-02-13 13:58:17 -05:00
softfloat_arm.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
stack.h runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
string.goc runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
symtab_test.go
symtab.c runtime: avoid malloc during malloc 2012-02-21 16:36:15 -05:00
sys_darwin_386.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_darwin_amd64.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_freebsd_386.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_freebsd_amd64.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_linux_386.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_linux_amd64.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_linux_arm.s runtime: inline calls to notok 2012-03-08 14:03:56 -05:00
sys_netbsd_386.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_netbsd_amd64.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_openbsd_386.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_openbsd_amd64.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_plan9_386.s runtime: separate out auto-generated files, take 2 2011-12-19 15:51:13 -05:00
sys_windows_386.s runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
sys_windows_amd64.s runtime: manage stack by ourselves for badcallback on windows/amd64 2012-03-15 02:24:49 +08:00
syscall_windows_test.go runtime: fix syscall test to satisfy new error 2011-11-14 20:54:47 +11:00
syscall_windows.goc runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
thread_darwin.c runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
thread_freebsd.c runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
thread_linux.c runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
thread_netbsd.c runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
thread_openbsd.c runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
thread_plan9.c runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
thread_windows.c runtime: print error on receipt of signal on non-Go thread 2012-03-12 15:55:18 -04:00
time.goc runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
traceback_arm.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
traceback_x86.c runtime: fix build 2011-12-16 15:46:25 -05:00
type.go runtime: delete Type and implementations (use reflect instead) 2012-02-12 23:26:20 -05:00
type.h runtime: prep for type-specific algorithms 2011-12-05 09:40:22 -05:00
vlop_386.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
vlop_arm.s runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
vlrt_386.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00
vlrt_arm.c runtime: make more build-friendly 2011-12-16 15:33:58 -05:00