gcc/libgo/runtime
Ian Lance Taylor 2b193803d7 runtime: If no split stacks, allocate stacks using mmap on 64-bit systems.
When not using split stacks, libgo allocate large stacks for each
    goroutine.  On a 64-bit system, libgo allocates a maximum of 128G for
    the Go heap, and allocates 4M for each stack.  When the stacks are
    allocated from the Go heap, the result is that a program can only create
    32K goroutines, which is not enough for an active Go server.  This patch
    changes libgo to allocate the stacks using mmap directly, rather than
    allocating them out of the Go heap.  This change is only done for 64-bit
    systems when not using split stacks.  When using split stacks, the
    stacks are allocated using mmap directly anyhow.  On a 32-bit system,
    there is no maximum size for the Go heap, or, rather, the maximum size
    is the available address space anyhow.
    
    Reviewed-on: https://go-review.googlesource.com/16531

From-SVN: r229636
2015-10-31 23:48:19 +00:00
..
arch.h
array.h
chan.goc runtime: Remove undefined references to runtime_race*. 2014-12-23 20:33:53 +00:00
chan.h runtime: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
cpuprof.goc libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
defs.h
env_posix.c runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
getncpu-bsd.c
getncpu-irix.c
getncpu-linux.c runtime: Check for CPU_COUNT itself, don't check glibc version. 2014-10-03 05:04:59 +00:00
getncpu-none.c
getncpu-solaris.c
go-alloc.h
go-append.c
go-assert-interface.c libgo, compiler: Upgrade libgo to Go 1.4, except for runtime. 2015-01-15 00:27:56 +00:00
go-assert.c
go-assert.h
go-breakpoint.c
go-byte-array-to-string.c
go-caller.c re PR go/66016 (Accessing nil Func's name results in crash) 2015-05-05 16:38:57 +00:00
go-callers.c re PR go/64999 (s390x libgo test failure in TestMemoryProfiler) 2015-04-17 19:29:28 +00:00
go-can-convert-interface.c libgo, compiler: Upgrade libgo to Go 1.4, except for runtime. 2015-01-15 00:27:56 +00:00
go-cdiv.c
go-cgo.c runtime: Support -buildmode=c-shared. 2015-04-29 21:31:53 +00:00
go-check-interface.c libgo, compiler: Upgrade libgo to Go 1.4, except for runtime. 2015-01-15 00:27:56 +00:00
go-construct-map.c
go-convert-interface.c libgo, compiler: Upgrade libgo to Go 1.4, except for runtime. 2015-01-15 00:27:56 +00:00
go-copy.c
go-defer.c re PR go/60406 (recover.go: test13reflect2 test failure) 2014-10-08 14:03:13 +00:00
go-defer.h
go-deferred-recover.c
go-eface-compare.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-eface-val-compare.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-ffi.c runtime: No special case for 386 complex in FFI support. 2015-01-20 04:18:12 +00:00
go-ffi.h reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
go-fieldtrack.c
go-iface.goc runtime: Rename iface.goc to go-iface.goc. 2014-07-11 00:39:03 +00:00
go-int-array-to-string.c
go-int-to-string.c
go-interface-compare.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-interface-eface-compare.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-interface-val-compare.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-libmain.c runtime: Support -buildmode=c-shared. 2015-04-29 21:31:53 +00:00
go-main.c libgo/runtime: return 0, not NULL, from main 2015-09-11 03:12:28 +00:00
go-make-slice.c libgo, compiler: Upgrade libgo to Go 1.4, except for runtime. 2015-01-15 00:27:56 +00:00
go-map-delete.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-map-index.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-map-len.c
go-map-range.c
go-matherr.c
go-memcmp.c
go-nanotime.c
go-new-map.c
go-new.c compiler,runtime: Determine if allocations need new pointers in runtime. 2015-07-14 01:22:25 +00:00
go-nosys.c
go-now.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
go-panic.c
go-panic.h re PR go/60406 (recover.go: test13reflect2 test failure) 2014-10-08 14:03:13 +00:00
go-print.c
go-recover.c re PR go/60406 (recover.go: test13reflect2 test failure) 2014-10-08 14:03:13 +00:00
go-reflect-call.c compiler, reflect, runtime: Use static chain for closures. 2015-01-16 22:58:53 +00:00
go-reflect-map.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-rune.c
go-runtime-error.c
go-setenv.c
go-signal.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
go-strcmp.c
go-string-to-byte-array.c
go-string-to-int-array.c
go-string.h
go-strplus.c
go-strslice.c
go-traceback.c reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
go-trampoline.c
go-type-complex.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-type-eface.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-type-error.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-type-float.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-type-identity.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-type-interface.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-type-string.c compiler, runtime: change type hash/equal to Go funcs 2015-10-29 17:14:51 +00:00
go-type.h compiler, reflect, runtime: remove zero field from type descriptor 2015-10-29 18:14:50 +00:00
go-typedesc-equal.c re PR go/65755 (incorrect reflection of struct fields with gccgo) 2015-04-17 18:19:44 +00:00
go-unsafe-new.c
go-unsafe-newarray.c
go-unsafe-pointer.c compiler, reflect, runtime: remove zero field from type descriptor 2015-10-29 18:14:50 +00:00
go-unsetenv.c libgo, compiler: Upgrade libgo to Go 1.4, except for runtime. 2015-01-15 00:27:56 +00:00
go-unwind.c libgo: Use __USING_SJLJ_EXCEPTIONS__ rather than configure test. 2015-05-16 00:17:46 +00:00
go-varargs.c runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
goc2c.c runtime: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
heapdump.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
interface.h
lfstack.goc runtime: Fix recent lfstack change on Solaris. 2015-09-24 13:33:20 +00:00
lock_futex.c
lock_sema.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
malloc.goc runtime: Fix runtime/pprof test when libgo is not optimized. 2015-05-11 16:19:23 +00:00
malloc.h runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
map.goc
map.h
mcache.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mcentral.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mem_posix_memalign.c
mem.c runtime: Add casts to mincore call to compile on Solaris. 2014-08-04 17:54:09 +00:00
mfixalloc.c
mgc0.c runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
mgc0.h libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mheap.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mprof.goc runtime: initialize variable to avoid compiler warning 2015-08-04 03:39:21 +00:00
msize.c
netpoll_epoll.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
netpoll_kqueue.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
netpoll_select.c
netpoll_stub.c
netpoll.goc libgo, compiler: Upgrade libgo to Go 1.4, except for runtime. 2015-01-15 00:27:56 +00:00
panic.c re PR go/60406 (recover.go: test13reflect2 test failure) 2014-10-08 14:03:13 +00:00
parfor.c runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
print.c runtime: also disable split stacks for runtime_snprintf function under Clang 2014-07-20 09:24:16 +00:00
proc.c runtime: If no split stacks, allocate stacks using mmap on 64-bit systems. 2015-10-31 23:48:19 +00:00
rdebug.goc libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
reflect.goc runtime: Drop reflectFlags tests. 2014-07-11 00:26:25 +00:00
rtems-task-variable-add.c
runtime1.goc runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
runtime.c runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
runtime.h runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
sema.goc
signal_unix.c runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
signal_unix.h
sigqueue.goc runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
string.goc runtime: Remove undefined references to runtime_race*. 2014-12-23 20:33:53 +00:00
thread-linux.c
thread-sema.c
thread.c
time.goc compiler, reflect, runtime: Use static chain for closures. 2015-01-16 22:58:53 +00:00
yield.c