github.com/primecitizens/pcz/std@v0.2.1/runtime/panic_arm64.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 && arm64 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 // Defined as ABIInternal since the compiler generates ABIInternal 19 // calls to it directly and it does not use the stack-based Go ABI. 20 21 TEXT runtime·panicIndex<ABIInternal>(SB),NOSPLIT,$0-16 22 JMP runtime·goPanicIndex<ABIInternal>(SB) 23 24 TEXT runtime·panicIndexU<ABIInternal>(SB),NOSPLIT,$0-16 25 JMP runtime·goPanicIndexU<ABIInternal>(SB) 26 27 TEXT runtime·panicSliceAlen<ABIInternal>(SB),NOSPLIT,$0-16 28 MOVD R1, R0 29 MOVD R2, R1 30 JMP runtime·goPanicSliceAlen<ABIInternal>(SB) 31 32 TEXT runtime·panicSliceAlenU<ABIInternal>(SB),NOSPLIT,$0-16 33 MOVD R1, R0 34 MOVD R2, R1 35 JMP runtime·goPanicSliceAlenU<ABIInternal>(SB) 36 37 TEXT runtime·panicSliceAcap<ABIInternal>(SB),NOSPLIT,$0-16 38 MOVD R1, R0 39 MOVD R2, R1 40 JMP runtime·goPanicSliceAcap<ABIInternal>(SB) 41 42 TEXT runtime·panicSliceAcapU<ABIInternal>(SB),NOSPLIT,$0-16 43 MOVD R1, R0 44 MOVD R2, R1 45 JMP runtime·goPanicSliceAcapU<ABIInternal>(SB) 46 47 TEXT runtime·panicSliceB<ABIInternal>(SB),NOSPLIT,$0-16 48 JMP runtime·goPanicSliceB<ABIInternal>(SB) 49 50 TEXT runtime·panicSliceBU<ABIInternal>(SB),NOSPLIT,$0-16 51 JMP runtime·goPanicSliceBU<ABIInternal>(SB) 52 53 TEXT runtime·panicSlice3Alen<ABIInternal>(SB),NOSPLIT,$0-16 54 MOVD R2, R0 55 MOVD R3, R1 56 JMP runtime·goPanicSlice3Alen<ABIInternal>(SB) 57 58 TEXT runtime·panicSlice3AlenU<ABIInternal>(SB),NOSPLIT,$0-16 59 MOVD R2, R0 60 MOVD R3, R1 61 JMP runtime·goPanicSlice3AlenU<ABIInternal>(SB) 62 63 TEXT runtime·panicSlice3Acap<ABIInternal>(SB),NOSPLIT,$0-16 64 MOVD R2, R0 65 MOVD R3, R1 66 JMP runtime·goPanicSlice3Acap<ABIInternal>(SB) 67 68 TEXT runtime·panicSlice3AcapU<ABIInternal>(SB),NOSPLIT,$0-16 69 MOVD R2, R0 70 MOVD R3, R1 71 JMP runtime·goPanicSlice3AcapU<ABIInternal>(SB) 72 73 TEXT runtime·panicSlice3B<ABIInternal>(SB),NOSPLIT,$0-16 74 MOVD R1, R0 75 MOVD R2, R1 76 JMP runtime·goPanicSlice3B<ABIInternal>(SB) 77 78 TEXT runtime·panicSlice3BU<ABIInternal>(SB),NOSPLIT,$0-16 79 MOVD R1, R0 80 MOVD R2, R1 81 JMP runtime·goPanicSlice3BU<ABIInternal>(SB) 82 83 TEXT runtime·panicSlice3C<ABIInternal>(SB),NOSPLIT,$0-16 84 JMP runtime·goPanicSlice3C<ABIInternal>(SB) 85 86 TEXT runtime·panicSlice3CU<ABIInternal>(SB),NOSPLIT,$0-16 87 JMP runtime·goPanicSlice3CU<ABIInternal>(SB) 88 89 TEXT runtime·panicSliceConvert<ABIInternal>(SB),NOSPLIT,$0-16 90 MOVD R2, R0 91 MOVD R3, R1 92 JMP runtime·goPanicSliceConvert<ABIInternal>(SB)