runtime: add missing {TOPFRAME,NOFRAME} flag for linux/loong64

Co-authored-by: limeidan <limeidan@loongson.cn>
Change-Id: I0011a10f831e6c2b0da96265682212b0747f0e2a
Reviewed-on: https://go-review.googlesource.com/c/go/+/407774
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: WANG Xuerui <git@xen0n.name>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
This commit is contained in:
Guoqi Chen 2022-05-23 08:58:51 +08:00 committed by Gopher Robot
parent 654b03167f
commit 61fc5df689
1 changed files with 8 additions and 4 deletions

View File

@ -9,7 +9,7 @@
#define REGCTXT R29
TEXT runtime·rt0_go(SB),NOSPLIT,$0
TEXT runtime·rt0_go(SB),NOSPLIT|TOPFRAME,$0
// R3 = stack; R4 = argc; R5 = argv
ADDV $-24, R3
@ -107,12 +107,16 @@ TEXT runtime·gosave(SB), NOSPLIT|NOFRAME, $0-8
// void gogo(Gobuf*)
// restore state from Gobuf; longjmp
TEXT runtime·gogo(SB), NOSPLIT, $16-8
TEXT runtime·gogo(SB), NOSPLIT|NOFRAME, $0-8
MOVV buf+0(FP), R4
MOVV gobuf_g(R4), g // make sure g is not nil
MOVV gobuf_g(R4), R5
MOVV 0(R5), R0 // make sure g != nil
JMP gogo<>(SB)
TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
MOVV R5, g
JAL runtime·save_g(SB)
MOVV 0(g), R5
MOVV gobuf_sp(R4), R3
MOVV gobuf_lr(R4), R1
MOVV gobuf_ret(R4), R19