aarch64_macho.s (1695B)
1 .text 2 .align 4 3 4 .globl _setjmp 5 .weak_definition _setjmp 6 _setjmp: 7 stp x19, x20, [x0, #0] 8 stp x21, x22, [x0, #16] 9 stp x23, x24, [x0, #32] 10 stp x25, x26, [x0, #48] 11 stp x27, x28, [x0, #64] 12 stp x29, x30, [x0, #80] 13 mov x9, sp 14 str x9, [x0, #96] 15 stp d8, d9, [x0, #104] 16 stp d10, d11, [x0, #120] 17 stp d12, d13, [x0, #136] 18 stp d14, d15, [x0, #152] 19 mov x0, #0 20 ret 21 22 .globl _longjmp 23 .weak_definition _longjmp 24 _longjmp: 25 ldp d8, d9, [x0, #104] 26 ldp d10, d11, [x0, #120] 27 ldp d12, d13, [x0, #136] 28 ldp d14, d15, [x0, #152] 29 ldp x19, x20, [x0, #0] 30 ldp x21, x22, [x0, #16] 31 ldp x23, x24, [x0, #32] 32 ldp x25, x26, [x0, #48] 33 ldp x27, x28, [x0, #64] 34 ldp x29, x30, [x0, #80] 35 ldr x9, [x0, #96] 36 mov sp, x9 37 cmp x1, #0 38 csinc x0, x1, xzr, ne 39 ret 40 41 .globl ___kit_coro_switch 42 ___kit_coro_switch: 43 stp x19, x20, [x0, #0] 44 stp x21, x22, [x0, #16] 45 stp x23, x24, [x0, #32] 46 stp x25, x26, [x0, #48] 47 stp x27, x28, [x0, #64] 48 stp x29, x30, [x0, #80] 49 mov x9, sp 50 str x9, [x0, #96] 51 stp d8, d9, [x0, #104] 52 stp d10, d11, [x0, #120] 53 stp d12, d13, [x0, #136] 54 stp d14, d15, [x0, #152] 55 ldp d8, d9, [x1, #104] 56 ldp d10, d11, [x1, #120] 57 ldp d12, d13, [x1, #136] 58 ldp d14, d15, [x1, #152] 59 ldp x19, x20, [x1, #0] 60 ldp x21, x22, [x1, #16] 61 ldp x23, x24, [x1, #32] 62 ldp x25, x26, [x1, #48] 63 ldp x27, x28, [x1, #64] 64 ldp x29, x30, [x1, #80] 65 ldr x9, [x1, #96] 66 mov sp, x9 67 mov x0, x2 68 ret 69 70 .globl ___kit_coro_trampoline 71 ___kit_coro_trampoline: 72 blr x19 73 brk #0