Skip to content

Commit 253d1f9

Browse files
committed
use one less register
1 parent 0fa1f9d commit 253d1f9

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

src/runtime/asm_mips64x.s

+13-12
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,19 @@ TEXT runtime·return0(SB), NOSPLIT, $0
648648
MOVW $0, R1
649649
RET
650650

651+
// check that SP is in range [g->stack.lo, g->stack.hi)
652+
TEXT runtime·stackcheck(SB), NOSPLIT|NOFRAME, $0-0
653+
MOVV (g_stack+stack_hi)(g), R4
654+
SGT R4, R29, R4
655+
BEQ R4, 2(PC)
656+
JAL runtime·abort(SB)
657+
658+
MOVV (g_stack+stack_lo)(g), R4
659+
SGT R29, R4, R4
660+
BEQ R4, 2(PC)
661+
JAL runtime·abort(SB)
662+
RET
663+
651664
// Called from cgo wrappers, this function returns g->m->curg.stack.hi.
652665
// Must obey the gcc calling convention.
653666
TEXT _cgo_topofstack(SB),NOSPLIT,$16
@@ -872,15 +885,3 @@ TEXT runtime·panicSliceConvert(SB),NOSPLIT,$0-16
872885
MOVV R4, y+8(FP)
873886
JMP runtime·goPanicSliceConvert(SB)
874887

875-
// check that SP is in range [g->stack.lo, g->stack.hi)
876-
TEXT runtime·stackcheck(SB), NOSPLIT|NOFRAME, $0-0
877-
MOVV (g_stack+stack_hi)(g), R4
878-
SGTU R29, R4, R5
879-
BEQ R5, 2(PC)
880-
JAL runtime·abort(SB)
881-
882-
MOVV (g_stack+stack_lo)(g), R4
883-
SGTU R4, R29, R5
884-
BEQ R5, 2(PC)
885-
JAL runtime·abort(SB)
886-
RET

0 commit comments

Comments
 (0)