зеркало из https://github.com/CryptoPro/go.git
reflect: call ABIInternal moveMakeFuncArgPtrs on ARM64
Save some stack space, to avoid nosplit overflow in -race -N -l build. For #51247. Change-Id: I7357d6227f816a612a64f55f7ca1b1384e9268e1 Reviewed-on: https://go-review.googlesource.com/c/go/+/386714 Trust: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
This commit is contained in:
Родитель
d35ed09486
Коммит
20b177268f
|
@ -33,9 +33,14 @@ TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$432
|
|||
ADD $LOCAL_REGARGS, RSP, R20
|
||||
CALL runtime·spillArgs(SB)
|
||||
MOVD R26, 32(RSP) // outside of moveMakeFuncArgPtrs's arg area
|
||||
#ifdef GOEXPERIMENT_regabiargs
|
||||
MOVD R26, R0
|
||||
MOVD R20, R1
|
||||
#else
|
||||
MOVD R26, 8(RSP)
|
||||
MOVD R20, 16(RSP)
|
||||
CALL ·moveMakeFuncArgPtrs(SB)
|
||||
#endif
|
||||
CALL ·moveMakeFuncArgPtrs<ABIInternal>(SB)
|
||||
MOVD 32(RSP), R26
|
||||
MOVD R26, 8(RSP)
|
||||
MOVD $argframe+0(FP), R3
|
||||
|
@ -61,9 +66,14 @@ TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$432
|
|||
ADD $LOCAL_REGARGS, RSP, R20
|
||||
CALL runtime·spillArgs(SB)
|
||||
MOVD R26, 32(RSP) // outside of moveMakeFuncArgPtrs's arg area
|
||||
#ifdef GOEXPERIMENT_regabiargs
|
||||
MOVD R26, R0
|
||||
MOVD R20, R1
|
||||
#else
|
||||
MOVD R26, 8(RSP)
|
||||
MOVD R20, 16(RSP)
|
||||
CALL ·moveMakeFuncArgPtrs(SB)
|
||||
#endif
|
||||
CALL ·moveMakeFuncArgPtrs<ABIInternal>(SB)
|
||||
MOVD 32(RSP), R26
|
||||
MOVD R26, 8(RSP)
|
||||
MOVD $argframe+0(FP), R3
|
||||
|
|
Загрузка…
Ссылка в новой задаче