runtime: fix invalid nil g check for for mips64x

In CL 292109 we removed unnecessary writes to gp.sched.g
but put wrong register to save g (R4 saves pointer to g) on mips64x

Change-Id: I9777846a7b0a46e1af83dcfc73b74649e0dba3c9
Reviewed-on: https://go-review.googlesource.com/c/go/+/293989
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Joel Sing <joel@sing.id.au>
Trust: Meng Zhuo <mzh@golangcn.org>
Run-TryBot: Meng Zhuo <mzh@golangcn.org>
This commit is contained in:
Meng Zhuo 2021-02-19 14:31:57 +08:00
parent 87f425da14
commit 7764ee5614

View File

@ -98,11 +98,11 @@ TEXT runtime·mstart(SB),NOSPLIT|TOPFRAME,$0
TEXT runtime·gogo(SB), NOSPLIT|NOFRAME, $0-8
MOVV buf+0(FP), R3
MOVV gobuf_g(R3), R4
MOVV 0(R4), R5 // make sure g != nil
MOVV 0(R4), R0 // make sure g != nil
JMP gogo<>(SB)
TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
MOVV R5, g
MOVV R4, g
JAL runtime·save_g(SB)
MOVV 0(g), R2