mirror of
https://github.com/golang/go
synced 2024-11-26 17:56:55 -07:00
cmd/internal/obj: use REGENTRYTMP* in a few more places
There are a few remaining places in obj6 where we hard-code safe-on-entry registers. Fix those to use the consts. For #40724. Change-Id: Ie640521aa67d6c99bc057553dc122160049c6edc Reviewed-on: https://go-review.googlesource.com/c/go/+/307009 Trust: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
parent
f25d78f8e2
commit
2ebe77a2fd
@ -1046,7 +1046,7 @@ func stacksplit(ctxt *obj.Link, cursym *obj.LSym, p *obj.Prog, newprog obj.ProgA
|
|||||||
tmp := int16(REG_AX) // use AX for 32-bit
|
tmp := int16(REG_AX) // use AX for 32-bit
|
||||||
if ctxt.Arch.Family == sys.AMD64 {
|
if ctxt.Arch.Family == sys.AMD64 {
|
||||||
// for 64-bit, stay away from register ABI parameter registers, even w/o GOEXPERIMENT=regabi
|
// for 64-bit, stay away from register ABI parameter registers, even w/o GOEXPERIMENT=regabi
|
||||||
tmp = int16(REG_R13)
|
tmp = int16(REGENTRYTMP0)
|
||||||
}
|
}
|
||||||
// large stack: SP-framesize <= stackguard-StackSmall
|
// large stack: SP-framesize <= stackguard-StackSmall
|
||||||
// LEAQ -xxx(SP), tmp
|
// LEAQ -xxx(SP), tmp
|
||||||
@ -1076,8 +1076,8 @@ func stacksplit(ctxt *obj.Link, cursym *obj.LSym, p *obj.Prog, newprog obj.ProgA
|
|||||||
tmp1 := int16(REG_SI)
|
tmp1 := int16(REG_SI)
|
||||||
tmp2 := int16(REG_AX)
|
tmp2 := int16(REG_AX)
|
||||||
if ctxt.Arch.Family == sys.AMD64 {
|
if ctxt.Arch.Family == sys.AMD64 {
|
||||||
tmp1 = int16(REG_R13) // register ABI uses REG_SI and REG_AX for parameters.
|
tmp1 = int16(REGENTRYTMP0) // register ABI uses REG_SI and REG_AX for parameters.
|
||||||
tmp2 = int16(REG_R12)
|
tmp2 = int16(REGENTRYTMP1)
|
||||||
}
|
}
|
||||||
// Such a large stack we need to protect against wraparound.
|
// Such a large stack we need to protect against wraparound.
|
||||||
// If SP is close to zero:
|
// If SP is close to zero:
|
||||||
|
Loading…
Reference in New Issue
Block a user