1
0
mirror of https://github.com/golang/go synced 2024-10-02 16:28:34 -06:00
go/src/pkg/runtime
Dmitriy Vyukov 0a40cd2661 runtime/race: switch to explicit race context instead of goroutine id's
Removes limit on maximum number of goroutines ever existed.
code.google.com/p/goexecutor tests now pass successfully.
Also slightly improves performance.
Before: $ time ./flate.test -test.short
real	0m9.314s
After:  $ time ./flate.test -test.short
real	0m8.958s
Fixes #4286.
The runtime is built from llvm rev 174312.

R=rsc
CC=golang-dev
https://golang.org/cl/7218044
2013-02-06 11:40:54 +04:00
..
cgo cgo: enable cgo on openbsd 2012-12-21 01:43:19 +11:00
debug runtime/debug: add controls for garbage collector 2013-02-04 00:00:55 -05:00
pprof all: use t.Skip{,f} 2013-01-24 17:32:10 +11:00
race runtime/race: switch to explicit race context instead of goroutine id's 2013-02-06 11:40:54 +04:00
alg.c runtime: always incorporate hash seed at start of hash computation 2013-01-04 07:53:42 -08:00
append_test.go
arch_386.h cmd/cc: add PREFETCH built-in (like SET, USED) 2012-05-02 16:22:56 -04:00
arch_amd64.h cmd/cc: add PREFETCH built-in (like SET, USED) 2012-05-02 16:22:56 -04:00
arch_arm.h cmd/cc: add PREFETCH built-in (like SET, USED) 2012-05-02 16:22:56 -04:00
asm_386.s cmd/cc: add PREFETCH built-in (like SET, USED) 2012-05-02 16:22:56 -04:00
asm_amd64.s runtime: increase stack frame during cgo call on windows/amd64 2012-09-03 12:12:51 +10:00
asm_arm.s runtime: arm: abort if hardware floating point missing 2012-09-07 14:26:42 +10:00
atomic_386.c runtime: add 64-bit atomics 2012-04-05 18:47:43 +04:00
atomic_amd64.c runtime: add 64-bit atomics 2012-04-05 18:47:43 +04:00
atomic_arm.c runtime: add 64-bit atomics 2012-04-05 18:47:43 +04:00
callback_windows_386.c runtime: include "typekind.h" to fix windows build 2012-06-07 09:37:05 +10:00
callback_windows_amd64.c runtime: include "typekind.h" to fix windows build 2012-06-07 09:37:05 +10:00
cgocall.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08: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: better stack traces in race reports 2012-11-30 10:29:41 +04:00
closure_386.c
closure_amd64.c
closure_arm.c
closure_test.go
compiler.go runtime: add Compiler 2012-03-05 22:28:02 -05:00
complex_test.go runtime: fix complex division benchmarks 2012-05-11 03:09:14 +08:00
complex.c runtime: inline several float64 routines to speed up complex128 division 2012-08-07 23:45:50 +08:00
cpuprof.c runtime: prepare for 64-bit ints 2012-09-24 14:58:34 -04:00
crash_cgo_test.go runtime: handle windows exceptions, even in cgo programs 2012-05-30 15:10:54 +10:00
crash_test.go runtime: re-enable crash test on FreeBSD 2012-11-09 10:05:46 +09:00
debug.go runtime: re-format comments. 2012-11-26 10:53:11 -05:00
defs1_linux.go
defs2_linux.go
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: regenerate defs-files for freebsd 2012-11-26 21:29:13 +09:00
defs_freebsd_amd64.h runtime: regenerate defs-files for freebsd 2012-11-26 21:29:13 +09:00
defs_freebsd_arm.h runtime: regenerate defs-files for freebsd 2012-11-26 21:29:13 +09:00
defs_freebsd.go runtime: regenerate defs-files for freebsd 2012-11-26 21:29:13 +09:00
defs_linux_386.h runtime: fix struct Sigaction for Linux/386 2012-06-24 01:41:17 +08:00
defs_linux_amd64.h
defs_linux_arm.h runtime: fix struct Sigaction for Linux/ARM 2012-06-20 01:17:03 +08:00
defs_linux.go
defs_netbsd_386.go runtime: fix netbsd runtime defs 2012-05-16 01:52:20 +10:00
defs_netbsd_386.h runtime: implement SysUnused for netbsd 2012-11-26 22:34:01 +11:00
defs_netbsd_amd64.go runtime: fix netbsd runtime defs 2012-05-16 01:52:20 +10:00
defs_netbsd_amd64.h runtime: implement SysUnused for netbsd 2012-11-26 22:34:01 +11:00
defs_netbsd.go runtime: implement SysUnused for netbsd 2012-11-26 22:34:01 +11:00
defs_openbsd_386.h runtime: implement SysUnused for openbsd 2012-11-26 22:32:59 +11:00
defs_openbsd_amd64.h runtime: implement SysUnused for openbsd 2012-11-26 22:32:59 +11:00
defs_openbsd.go runtime: implement SysUnused for openbsd 2012-11-26 22:32:59 +11:00
defs_plan9_386.h runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -08:00
defs_plan9_amd64.h runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -08:00
defs_windows_386.h
defs_windows_amd64.h
defs_windows.go
env_plan9.c runtime: implement getenv for Plan 9 2012-12-17 11:07:40 -05:00
env_posix.c runtime: implement getenv for Plan 9 2012-12-17 11:07:40 -05:00
error.go runtime: delete Type and implementations (use reflect instead) 2012-02-12 23:26:20 -05:00
export_test.go runtime: add parallel for algorithm 2012-05-11 10:50:03 +04:00
extern.go runtime: re-format comments. 2012-11-26 10:53:11 -05:00
float.c runtime: inline several float64 routines to speed up complex128 division 2012-08-07 23:45:50 +08:00
gc_test.go all: set GOMAXPROCS to 1 when counting mallocs 2012-12-01 00:38:01 +08:00
hashmap.c runtime: deletion on nil maps is a no-op now 2012-12-13 23:48:48 +08:00
hashmap.h runtime: fix typos in comments 2012-09-21 12:25:55 -04:00
iface_test.go cmd/gc: cache itab lookup in convT2I. 2012-07-03 09:09:05 +10:00
iface.c runtime: always incorporate hash seed at start of hash computation 2013-01-04 07:53:42 -08:00
lfstack_test.go runtime: add lock-free stack 2012-04-12 11:49:25 +04:00
lfstack.c runtime: use new CNT_MASK in lfstack 2013-01-26 18:16:43 -08:00
lock_futex.c runtime: diagnose double wakeup on Note 2012-12-24 21:06:57 +04: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: avoid defining the same variable in more than one translation unit 2013-01-26 09:57:06 +08:00
malloc.h runtime/debug: add controls for garbage collector 2013-02-04 00:00:55 -05:00
mallocrand.go runtime: API 2012-02-19 00:11:44 -05:00
mallocrep1.go all: set GOMAXPROCS to 1 when counting mallocs 2012-12-01 00:38:01 +08:00
mallocrep.go runtime: API 2012-02-19 00:11:44 -05:00
mcache.c runtime: remove redundant code 2012-04-05 18:37:46 +04:00
mcentral.c runtime: faster mcentral alloc. 2013-01-18 16:39:22 -05:00
mem_darwin.c runtime: madvise and SysUnused for Darwin 2012-01-19 15:51:29 -05:00
mem_freebsd.c runtime: implement runtime.SysUnused on FreeBSD 2012-11-24 15:55:19 +11:00
mem_linux.c runtime: handle locked mmap failure on Linux 2012-12-29 14:34:06 -05:00
mem_netbsd.c runtime: implement SysUnused for netbsd 2012-11-26 22:34:01 +11:00
mem_openbsd.c runtime: implement SysUnused for openbsd 2012-11-26 22:32:59 +11:00
mem_plan9.c src: Add support for 64-bit version of Plan 9 2012-08-31 13:21:13 -04:00
mem_windows.c
mem.go gofmt: apply gofmt -w src misc 2012-10-30 13:38:01 -07:00
memclr_arm.s runtime: remove memset/memclr shim 2012-06-25 23:01:34 +10:00
memmove_386.s
memmove_amd64.s
memmove_arm.s runtime: avoid r9/r10 during memmove 2012-06-25 08:28:30 +10:00
mfinal_test.go
mfinal.c runtime: prepare for 64-bit ints 2012-09-24 14:58:34 -04:00
mfixalloc.c
mgc0.c runtime/debug: add controls for garbage collector 2013-02-04 00:00:55 -05:00
mgc0.go runtime: interpret type information during garbage collection 2013-01-10 15:45:46 -05:00
mgc0.h runtime, cmd/ld: make code more position-independent 2013-02-01 11:24:49 -08:00
mheap.c runtime/debug: add controls for garbage collector 2013-02-04 00:00:55 -05:00
mkasmh.sh build: rename $GOROOT/bin/go-tool to $GOROOT/bin/tool. 2012-02-02 23:32:41 -05:00
mkversion.c
mprof.goc runtime: local allocation in mprof.goc 2013-01-30 09:01:31 -08:00
msize.c
os_darwin.h runtime: give proper messages when user defined DYLD_INSERT_LIBRARIES on Darwin 2012-04-30 15:55:07 -04:00
os_freebsd.h runtime: fix SI_USER for FreeBSD 2012-09-17 01:08:41 +08:00
os_linux.h runtime: fix struct Sigaction for Linux/ARM 2012-06-20 01:17:03 +08:00
os_netbsd.h runtime: make go work on netbsd/amd64 2012-05-24 11:33:11 +10:00
os_openbsd.h runtime: block signals during thread creation on openbsd 2012-04-10 21:57:05 +10:00
os_plan9.h runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -08:00
os_windows.h runtime: handle windows exceptions, even in cgo programs 2012-05-30 15:10:54 +10:00
panic.c runtime: dump the full stack of a throwing goroutine 2013-01-29 14:57:11 +04:00
parfor_test.go runtime: fix deadlock in parallel for test 2012-11-06 20:11:16 +04:00
parfor.c runtime: reset parfor stats 2012-09-20 22:46:24 +04:00
print.c runtime: prepare for 64-bit ints 2012-09-24 14:58:34 -04:00
proc_test.go all: use t.Skip{,f} 2013-01-24 17:32:10 +11:00
proc.c runtime/race: switch to explicit race context instead of goroutine id's 2013-02-06 11:40:54 +04:00
proc.p
race0.c runtime/race: switch to explicit race context instead of goroutine id's 2013-02-06 11:40:54 +04:00
race.c runtime/race: switch to explicit race context instead of goroutine id's 2013-02-06 11:40:54 +04:00
race.go runtime: add RaceRead/RaceWrite functions 2012-11-14 16:51:23 +04:00
race.h runtime/race: switch to explicit race context instead of goroutine id's 2013-02-06 11:40:54 +04:00
rt0_darwin_386.s
rt0_darwin_amd64.s
rt0_freebsd_386.s
rt0_freebsd_amd64.s
rt0_freebsd_arm.s runtime: FreeBSD/ARM support 2012-10-12 23:19:39 +08:00
rt0_linux_386.s
rt0_linux_amd64.s
rt0_linux_arm.s runtime: get per-process random number from auxv for hash table 2012-05-05 01:59:14 +08:00
rt0_netbsd_386.s
rt0_netbsd_amd64.s
rt0_openbsd_386.s
rt0_openbsd_amd64.s
rt0_plan9_386.s runtime: fix floating point exception on Plan 9 2012-04-10 15:14:10 -04:00
rt0_plan9_amd64.s cmd/dist, pkg/runtime: Plan 9, 64-bit: Get PID from TLS; remove use of `_tos'. 2012-09-24 12:24:45 -04:00
rt0_windows_386.s runtime: handle windows exceptions, even in cgo programs 2012-05-30 15:10:54 +10:00
rt0_windows_amd64.s
rune.c all: make Unicode surrogate halves illegal as UTF-8 2012-08-08 14:01:23 -07:00
runtime1.goc runtime: prepare for 64-bit ints 2012-09-24 14:58:34 -04:00
runtime_linux_test.go runtime: run init on main thread 2012-03-01 11:48:17 -05:00
runtime_test.go runtime: aggregate defer allocations 2012-12-22 14:54:39 -05:00
runtime-gdb.py runtime: gdb support: use parse_and_eval to get the goroutine id 2012-11-19 10:22:47 -08:00
runtime.c runtime: implement getenv for Plan 9 2012-12-17 11:07:40 -05:00
runtime.h runtime/race: switch to explicit race context instead of goroutine id's 2013-02-06 11:40:54 +04:00
sema.goc pprof: add goroutine blocking profiling 2012-10-06 12:56:04 +04:00
signal_darwin_386.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_darwin_amd64.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_freebsd_386.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_freebsd_amd64.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_freebsd_arm.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_linux_386.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_linux_amd64.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_linux_arm.c runtime: save LR to stack when panicking to handle leaf function traceback 2013-02-06 01:18:37 +08:00
signal_netbsd_386.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_netbsd_amd64.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_openbsd_386.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_openbsd_amd64.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
signal_plan9_386.c runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -08:00
signal_plan9_amd64.c runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -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: fix windows build 2013-02-02 11:41:04 -08:00
signal_windows_amd64.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08: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: ignore signal 33 == SIGSETXID on GNU/Linux 2012-07-26 22:46:20 -07:00
signals_netbsd.h runtime: fix netbsd signal handling 2012-05-16 01:53:26 +10:00
signals_openbsd.h runtime: block signals during thread creation on openbsd 2012-04-10 21:57:05 +10:00
signals_plan9.h runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -08:00
signals_windows.h
sigqueue.goc runtime: fix potential crash in sigqueue 2012-12-28 15:36:06 +04:00
slice.c cmd/gc: implement latest rules for checking make sizes 2013-02-03 14:28:44 -05:00
softfloat64_test.go
softfloat64.go all: update 'gotest' to 'go test' 2012-02-13 13:58:17 -05:00
softfloat_arm.c 5a, 5l, math: Add support for ABSD, ABSF floating point instructions. 2012-08-03 16:15:11 -04:00
stack_test.go runtime: increase stack limit in a test 2013-01-24 20:26:08 +04:00
stack.h runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -08:00
string_test.go runtime: faster string equality. 2012-08-05 21:35:41 +02:00
string.goc runtime: prepare for 64-bit ints 2012-09-24 14:58:34 -04:00
symtab_test.go
symtab.c runtime, cmd/ld: make code more position-independent 2013-02-01 11:24:49 -08:00
sys_darwin_386.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_darwin_amd64.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_freebsd_386.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_freebsd_amd64.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_freebsd_arm.s runtime: fix freebsd/arm instruction cache flush 2013-01-01 21:47:42 +11:00
sys_linux_386.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_linux_amd64.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_linux_arm.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_netbsd_386.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_netbsd_amd64.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_openbsd_386.s runtime: use "mp" and "gp" instead of "m" and "g" for local variable name to avoid confusion with the global "m" and "g". 2012-12-19 00:30:29 +08:00
sys_openbsd_amd64.s runtime: ignore failure from madvise 2012-12-22 15:06:28 -05:00
sys_plan9_386.s runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -08:00
sys_plan9_amd64.s runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -08:00
sys_windows_386.s runtime: handle windows exceptions, even in cgo programs 2012-05-30 15:10:54 +10:00
sys_windows_amd64.s runtime: handle windows exceptions, even in cgo programs 2012-05-30 15:10:54 +10:00
syscall_windows_test.go syscall: return EINVAL when string arguments have NUL characters 2012-08-05 17:24:32 -04:00
syscall_windows.goc
thread_darwin.c runtime: use "mp" and "gp" instead of "m" and "g" for local variable name to avoid confusion with the global "m" and "g". 2012-12-19 00:30:29 +08:00
thread_freebsd.c runtime: use "mp" and "gp" instead of "m" and "g" for local variable name to avoid confusion with the global "m" and "g". 2012-12-19 00:30:29 +08:00
thread_linux.c runtime: use "mp" and "gp" instead of "m" and "g" for local variable name to avoid confusion with the global "m" and "g". 2012-12-19 00:30:29 +08:00
thread_netbsd.c runtime: use "mp" and "gp" instead of "m" and "g" for local variable name to avoid confusion with the global "m" and "g". 2012-12-19 00:30:29 +08:00
thread_openbsd.c runtime: use "mp" and "gp" instead of "m" and "g" for local variable name to avoid confusion with the global "m" and "g". 2012-12-19 00:30:29 +08:00
thread_plan9.c runtime: add support for panic/recover in Plan 9 note handler 2013-01-30 02:53:56 -08:00
thread_windows.c runtime: use "mp" and "gp" instead of "m" and "g" for local variable name to avoid confusion with the global "m" and "g". 2012-12-19 00:30:29 +08:00
time.goc runtime: dump the full stack of a throwing goroutine 2013-01-29 14:57:11 +04:00
traceback_arm.c runtime: save LR to stack when panicking to handle leaf function traceback 2013-02-06 01:18:37 +08:00
traceback_x86.c runtime: cgo-related fixes 2013-02-01 08:34:41 -08:00
type.go reflect: add ArrayOf, ChanOf, MapOf, SliceOf 2012-11-13 13:06:29 -05:00
type.h reflect: add ArrayOf, ChanOf, MapOf, SliceOf 2012-11-13 13:06:29 -05:00
typekind.h reflect: add ArrayOf, ChanOf, MapOf, SliceOf 2012-11-13 13:06:29 -05:00
vdso_linux_amd64.c runtime: use vDSO clock_gettime for time.now & runtime.nanotime on Linux/amd64 2012-11-09 14:19:07 +08:00
vlop_386.s
vlop_arm_test.go gofmt: apply gofmt -w src misc 2012-10-30 13:38:01 -07:00
vlop_arm.s runtime: ~3.7x speed up of div/mod on ARM 2012-10-20 16:40:19 +08:00
vlrt_386.c
vlrt_arm.c runtime: fix c compiler warning 2012-05-05 01:39:09 +08:00