MOVW R8, g_m(g)
// create istack out of the OS stack
- MOVW $(-8192+104)(R13), R0
+ // (1MB of system stack is available on iOS and Android)
+ MOVW $(-64*1024+104)(R13), R0
MOVW R0, g_stackguard0(g)
MOVW R0, g_stackguard1(g)
MOVW R0, (g_stack+stack_lo)(g)
func getproccount() int32 {
// This buffer is huge (8 kB) but we are on the system stack
- // and there should be plenty of space (64 kB) -- except on ARM where
- // the system stack itself is only 8kb (see golang.org/issue/11873).
+ // and there should be plenty of space (64 kB).
// Also this is a leaf, so we're not holding up the memory for long.
// See golang.org/issue/11823.
// The suggested behavior here is to keep trying with ever-larger
// buffers, but we don't have a dynamic memory allocator at the
// moment, so that's a bit tricky and seems like overkill.
- const maxCPUs = 64*1024*(1-goarch_arm) + 1024*goarch_arm
+ const maxCPUs = 64 * 1024
var buf [maxCPUs / (ptrSize * 8)]uintptr
r := sched_getaffinity(0, unsafe.Sizeof(buf), &buf[0])
n := int32(0)