github.com/primecitizens/pcz/std@v0.2.1/runtime/panic_s390x.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 && s390x 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 MOVD R0, x+0(FP) 20 MOVD R1, y+8(FP) 21 JMP runtime·goPanicIndex(SB) 22 23 TEXT runtime·panicIndexU(SB),NOSPLIT,$0-16 24 MOVD R0, x+0(FP) 25 MOVD R1, y+8(FP) 26 JMP runtime·goPanicIndexU(SB) 27 28 TEXT runtime·panicSliceAlen(SB),NOSPLIT,$0-16 29 MOVD R1, x+0(FP) 30 MOVD R2, y+8(FP) 31 JMP runtime·goPanicSliceAlen(SB) 32 33 TEXT runtime·panicSliceAlenU(SB),NOSPLIT,$0-16 34 MOVD R1, x+0(FP) 35 MOVD R2, y+8(FP) 36 JMP runtime·goPanicSliceAlenU(SB) 37 38 TEXT runtime·panicSliceAcap(SB),NOSPLIT,$0-16 39 MOVD R1, x+0(FP) 40 MOVD R2, y+8(FP) 41 JMP runtime·goPanicSliceAcap(SB) 42 43 TEXT runtime·panicSliceAcapU(SB),NOSPLIT,$0-16 44 MOVD R1, x+0(FP) 45 MOVD R2, y+8(FP) 46 JMP runtime·goPanicSliceAcapU(SB) 47 48 TEXT runtime·panicSliceB(SB),NOSPLIT,$0-16 49 MOVD R0, x+0(FP) 50 MOVD R1, y+8(FP) 51 JMP runtime·goPanicSliceB(SB) 52 53 TEXT runtime·panicSliceBU(SB),NOSPLIT,$0-16 54 MOVD R0, x+0(FP) 55 MOVD R1, y+8(FP) 56 JMP runtime·goPanicSliceBU(SB) 57 58 TEXT runtime·panicSlice3Alen(SB),NOSPLIT,$0-16 59 MOVD R2, x+0(FP) 60 MOVD R3, y+8(FP) 61 JMP runtime·goPanicSlice3Alen(SB) 62 63 TEXT runtime·panicSlice3AlenU(SB),NOSPLIT,$0-16 64 MOVD R2, x+0(FP) 65 MOVD R3, y+8(FP) 66 JMP runtime·goPanicSlice3AlenU(SB) 67 68 TEXT runtime·panicSlice3Acap(SB),NOSPLIT,$0-16 69 MOVD R2, x+0(FP) 70 MOVD R3, y+8(FP) 71 JMP runtime·goPanicSlice3Acap(SB) 72 73 TEXT runtime·panicSlice3AcapU(SB),NOSPLIT,$0-16 74 MOVD R2, x+0(FP) 75 MOVD R3, y+8(FP) 76 JMP runtime·goPanicSlice3AcapU(SB) 77 78 TEXT runtime·panicSlice3B(SB),NOSPLIT,$0-16 79 MOVD R1, x+0(FP) 80 MOVD R2, y+8(FP) 81 JMP runtime·goPanicSlice3B(SB) 82 83 TEXT runtime·panicSlice3BU(SB),NOSPLIT,$0-16 84 MOVD R1, x+0(FP) 85 MOVD R2, y+8(FP) 86 JMP runtime·goPanicSlice3BU(SB) 87 88 TEXT runtime·panicSlice3C(SB),NOSPLIT,$0-16 89 MOVD R0, x+0(FP) 90 MOVD R1, y+8(FP) 91 JMP runtime·goPanicSlice3C(SB) 92 93 TEXT runtime·panicSlice3CU(SB),NOSPLIT,$0-16 94 MOVD R0, x+0(FP) 95 MOVD R1, y+8(FP) 96 JMP runtime·goPanicSlice3CU(SB) 97 98 TEXT runtime·panicSliceConvert(SB),NOSPLIT,$0-16 99 MOVD R2, x+0(FP) 100 MOVD R3, y+8(FP) 101 JMP runtime·goPanicSliceConvert(SB)