1
0
mirror of https://github.com/golang/go synced 2024-10-02 16:28:34 -06:00
go/src/pkg/runtime
Russ Cox 8a6ff3ab34 runtime: allocate heap metadata at run time
Before, the mheap structure was in the bss,
but it's quite large (today, 256 MB, much of
which is never actually paged in), and it makes
Go binaries run afoul of exec-time bss size
limits on some BSD systems.

Fixes #4447.

R=golang-dev, dave, minux.ma, remyoudompheng, iant
CC=golang-dev
https://golang.org/cl/7307122
2013-02-15 14:27:03 -05:00
..
cgo go/build, runtime/cgo: cgo support for NetBSD/ARM 2013-02-13 01:06:52 +08: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: instrument slicebytetostring for race detection 2013-02-13 18:29:59 +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: NetBSD/ARM support 2013-02-13 01:00:04 +08: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_arm.h runtime: NetBSD/ARM support 2013-02-13 01:00:04 +08: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: precise garbage collection of hashmaps 2013-02-08 16:00:33 -05:00
hashmap.h runtime: precise garbage collection of hashmaps 2013-02-08 16:00:33 -05: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: allocate heap metadata at run time 2013-02-15 14:27:03 -05:00
malloc.h runtime: allocate heap metadata at run time 2013-02-15 14:27:03 -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: allocate heap metadata at run time 2013-02-15 14:27:03 -05:00
mcentral.c runtime: allocate heap metadata at run time 2013-02-15 14:27:03 -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: allocate heap metadata at run time 2013-02-15 14:27:03 -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: allocate heap metadata at run time 2013-02-15 14:27:03 -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: fix running under nohup 2013-02-15 11:18:55 -05:00
os_freebsd.h runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
os_linux.h runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
os_netbsd.h runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
os_openbsd.h runtime: fix running under nohup 2013-02-15 11:18:55 -05: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: fix integer overflow 2013-02-08 19:05:19 +04:00
print.c runtime: prepare for 64-bit ints 2012-09-24 14:58:34 -04:00
proc_test.go runtime: ensure forward progress of runtime.Gosched() for locked goroutines 2013-02-15 22:22:13 +04:00
proc.c runtime: ensure forward progress of runtime.Gosched() for locked goroutines 2013-02-15 22:22:13 +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: allocate heap metadata at run time 2013-02-15 14:27:03 -05: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_netbsd_arm.s runtime: NetBSD/ARM support 2013-02-13 01:00:04 +08:00
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: fix build on linux 2013-02-15 12:18:33 -05:00
sema.goc pprof: add goroutine blocking profiling 2012-10-06 12:56:04 +04:00
signal_darwin_386.c runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
signal_darwin_amd64.c runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
signal_freebsd_386.c runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
signal_freebsd_amd64.c runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
signal_freebsd_arm.c runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
signal_linux_386.c runtime: check rt_sigaction return values on linux 2013-02-15 13:13:19 -05:00
signal_linux_amd64.c runtime: fix build on linux 2013-02-15 12:18:33 -05:00
signal_linux_arm.c runtime: check rt_sigaction return values on linux 2013-02-15 13:13:19 -05:00
signal_netbsd_386.c runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
signal_netbsd_amd64.c runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
signal_netbsd_arm.c runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
signal_openbsd_386.c runtime: fix running under nohup 2013-02-15 11:18:55 -05:00
signal_openbsd_amd64.c runtime: fix running under nohup 2013-02-15 11:18:55 -05: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.c runtime: fix debug output 2013-02-15 17:04:02 +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: instrument slicebytetostring for race detection 2013-02-13 18:29:59 +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_netbsd_arm.s runtime: NetBSD/ARM support 2013-02-13 01:00:04 +08: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: fix build on linux 2013-02-15 12:18:33 -05:00
thread_freebsd.c runtime: fix build on linux 2013-02-15 12:18:33 -05:00
thread_linux.c runtime: fix build on linux 2013-02-15 12:18:33 -05:00
thread_netbsd.c runtime: fix build on linux 2013-02-15 12:18:33 -05:00
thread_openbsd.c runtime: fix build on linux 2013-02-15 12:18:33 -05: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: allocate heap metadata at run time 2013-02-15 14:27:03 -05:00
traceback_x86.c runtime: allocate heap metadata at run time 2013-02-15 14:27:03 -05: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