]> Cypherpunks repositories - gostls13.git/commit
runtime: reduce frame size for runtime.cgocallback_gofunc
authorRuss Cox <rsc@golang.org>
Tue, 23 Jul 2013 22:40:02 +0000 (18:40 -0400)
committerRuss Cox <rsc@golang.org>
Tue, 23 Jul 2013 22:40:02 +0000 (18:40 -0400)
commitdba623b1c7663016c79edbec517f8c8e7feb1437
treefd45c976aa89358de98ae2ad6983d493ea5a43c3
parente97c870692aa80feabd2e22c191476220fc1281f
runtime: reduce frame size for runtime.cgocallback_gofunc

Tying preemption to stack splits means that we have to able to
complete the call to exitsyscall (inside cgocallbackg at least for now)
without any stack split checks, meaning that the whole sequence
has to work within 128 bytes of stack, unless we increase the size
of the red zone. This CL frees up 24 bytes along that critical path
on amd64. (The 32-bit systems have plenty of space because all
their words are smaller.)

R=dvyukov
CC=golang-dev
https://golang.org/cl/11676043
src/pkg/runtime/asm_386.s
src/pkg/runtime/asm_amd64.s
src/pkg/runtime/asm_arm.s
src/pkg/runtime/cgocall.c
src/pkg/runtime/proc.c