mirror of
https://github.com/golang/go
synced 2024-11-23 16:50:06 -07:00
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:
parent
d35ed09486
commit
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
|
||||
|
Loading…
Reference in New Issue
Block a user