github.com/primecitizens/pcz/std@v0.2.1/runtime/panic_mips64x.s (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright 2023 The Prime Citizens 3 // 4 // Copyright 2009 The Go Authors. All rights reserved. 5 // Use of this source code is governed by a BSD-style 6 // license that can be found in the LICENSE file. 7 8 //go:build pcz && (mips64 || mips64le) 9 10 #include "textflag.h" 11 12 // Note: these functions use a special calling convention to save generated code space. 13 // Arguments are passed in registers, but the space for those arguments are allocated 14 // in the caller's stack frame. These stubs write the args into that stack space and 15 // then tail call to the corresponding runtime handler. 16 // The tail call makes these stubs disappear in backtraces. 17 18 TEXT runtime·panicIndex(SB),NOSPLIT,$0-16 19 MOVV R1, x+0(FP) 20 MOVV R2, y+8(FP) 21 JMP runtime·goPanicIndex(SB) 22 23 TEXT runtime·panicIndexU(SB),NOSPLIT,$0-16 24 MOVV R1, x+0(FP) 25 MOVV R2, y+8(FP) 26 JMP runtime·goPanicIndexU(SB) 27 28 TEXT runtime·panicSliceAlen(SB),NOSPLIT,$0-16 29 MOVV R2, x+0(FP) 30 MOVV R3, y+8(FP) 31 JMP runtime·goPanicSliceAlen(SB) 32 33 TEXT runtime·panicSliceAlenU(SB),NOSPLIT,$0-16 34 MOVV R2, x+0(FP) 35 MOVV R3, y+8(FP) 36 JMP runtime·goPanicSliceAlenU(SB) 37 38 TEXT runtime·panicSliceAcap(SB),NOSPLIT,$0-16 39 MOVV R2, x+0(FP) 40 MOVV R3, y+8(FP) 41 JMP runtime·goPanicSliceAcap(SB) 42 43 TEXT runtime·panicSliceAcapU(SB),NOSPLIT,$0-16 44 MOVV R2, x+0(FP) 45 MOVV R3, y+8(FP) 46 JMP runtime·goPanicSliceAcapU(SB) 47 48 TEXT runtime·panicSliceB(SB),NOSPLIT,$0-16 49 MOVV R1, x+0(FP) 50 MOVV R2, y+8(FP) 51 JMP runtime·goPanicSliceB(SB) 52 53 TEXT runtime·panicSliceBU(SB),NOSPLIT,$0-16 54 MOVV R1, x+0(FP) 55 MOVV R2, y+8(FP) 56 JMP runtime·goPanicSliceBU(SB) 57 58 TEXT runtime·panicSlice3Alen(SB),NOSPLIT,$0-16 59 MOVV R3, x+0(FP) 60 MOVV R4, y+8(FP) 61 JMP runtime·goPanicSlice3Alen(SB) 62 63 TEXT runtime·panicSlice3AlenU(SB),NOSPLIT,$0-16 64 MOVV R3, x+0(FP) 65 MOVV R4, y+8(FP) 66 JMP runtime·goPanicSlice3AlenU(SB) 67 68 TEXT runtime·panicSlice3Acap(SB),NOSPLIT,$0-16 69 MOVV R3, x+0(FP) 70 MOVV R4, y+8(FP) 71 JMP runtime·goPanicSlice3Acap(SB) 72 73 TEXT runtime·panicSlice3AcapU(SB),NOSPLIT,$0-16 74 MOVV R3, x+0(FP) 75 MOVV R4, y+8(FP) 76 JMP runtime·goPanicSlice3AcapU(SB) 77 78 TEXT runtime·panicSlice3B(SB),NOSPLIT,$0-16 79 MOVV R2, x+0(FP) 80 MOVV R3, y+8(FP) 81 JMP runtime·goPanicSlice3B(SB) 82 83 TEXT runtime·panicSlice3BU(SB),NOSPLIT,$0-16 84 MOVV R2, x+0(FP) 85 MOVV R3, y+8(FP) 86 JMP runtime·goPanicSlice3BU(SB) 87 88 TEXT runtime·panicSlice3C(SB),NOSPLIT,$0-16 89 MOVV R1, x+0(FP) 90 MOVV R2, y+8(FP) 91 JMP runtime·goPanicSlice3C(SB) 92 93 TEXT runtime·panicSlice3CU(SB),NOSPLIT,$0-16 94 MOVV R1, x+0(FP) 95 MOVV R2, y+8(FP) 96 JMP runtime·goPanicSlice3CU(SB) 97 98 TEXT runtime·panicSliceConvert(SB),NOSPLIT,$0-16 99 MOVV R3, x+0(FP) 100 MOVV R4, y+8(FP) 101 JMP runtime·goPanicSliceConvert(SB)