mirror of
https://github.com/golang/go
synced 2024-11-19 14:54:43 -07:00
runtime: fix windows/386 build
The difference between the old and the new (from earlier) code is that we set stackguard = stack.lo + StackGuard, while the old code set stackguard = stack.lo. That 512 bytes appears to be the difference between the profileloop function running and not running. We don't know how big the system stack is, but it is likely MUCH bigger than 4k. Give Go/C 8k. TBR=iant CC=golang-codereviews https://golang.org/cl/140440044
This commit is contained in:
parent
16c59acb97
commit
ee6c6d96b6
@ -6,6 +6,8 @@
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
// NOTE: Windows externalthreadhandler expects memclr to preserve DX.
|
||||
|
||||
// void runtime·memclr(void*, uintptr)
|
||||
TEXT runtime·memclr(SB), NOSPLIT, $0-8
|
||||
MOVL ptr+0(FP), DI
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
// NOTE: Windows externalthreadhandler expects memclr to preserve DX.
|
||||
|
||||
// void runtime·memclr(void*, uintptr)
|
||||
TEXT runtime·memclr(SB), NOSPLIT, $0-16
|
||||
MOVQ ptr+0(FP), DI
|
||||
|
@ -191,7 +191,7 @@ TEXT runtime·externalthreadhandler(SB),NOSPLIT,$0
|
||||
CALL runtime·memclr(SB) // smashes AX,BX,CX
|
||||
LEAL g_end(SP), BX
|
||||
MOVL BX, g_m(SP)
|
||||
LEAL -4096(SP), CX
|
||||
LEAL -8192(SP), CX
|
||||
MOVL CX, (g_stack+stack_lo)(SP)
|
||||
ADDL $const_StackGuard, CX
|
||||
MOVL CX, g_stackguard0(SP)
|
||||
|
Loading…
Reference in New Issue
Block a user