mirror of
https://github.com/golang/go
synced 2024-11-13 17:30:24 -07:00
runtime: manage stack by ourselves for badcallback on windows/amd64
This function uses 48-byte of precious non-split stack for every callback function, and without this CL, it can easily overflow the non-split stack. I encountered this when trying to enable misc/cgo/test on windows/amd64. R=rsc CC=golang-dev https://golang.org/cl/5784075
This commit is contained in:
parent
1ddc9feb53
commit
b2a9079e54
@ -60,7 +60,11 @@ loadregs:
|
||||
|
||||
RET
|
||||
|
||||
TEXT runtime·badcallback(SB),7,$48
|
||||
// This should be called on a system stack,
|
||||
// so we don't need to concern about split stack.
|
||||
TEXT runtime·badcallback(SB),7,$0
|
||||
SUBQ $48, SP
|
||||
|
||||
// stderr
|
||||
MOVQ $-12, CX // stderr
|
||||
MOVQ CX, 0(SP)
|
||||
@ -80,6 +84,7 @@ TEXT runtime·badcallback(SB),7,$48
|
||||
MOVQ runtime·WriteFile(SB), AX
|
||||
CALL AX
|
||||
|
||||
ADDQ $48, SP
|
||||
RET
|
||||
|
||||
TEXT runtime·badsignal(SB),7,$48
|
||||
|
Loading…
Reference in New Issue
Block a user