12345678910111213141516171819202122232425262728 |
- .text
- .globl _Py_trampoline_func_start
- # The following assembly is equivalent to:
- # PyObject *
- # trampoline(PyThreadState *ts, _PyInterpreterFrame *f,
- # int throwflag, py_evaluator evaluator)
- # {
- # return evaluator(ts, f, throwflag);
- # }
- _Py_trampoline_func_start:
- #ifdef __x86_64__
- sub $8, %rsp
- call *%rcx
- add $8, %rsp
- ret
- #endif // __x86_64__
- #if defined(__aarch64__) && defined(__AARCH64EL__) && !defined(__ILP32__)
- // ARM64 little endian, 64bit ABI
- // generate with aarch64-linux-gnu-gcc 12.1
- stp x29, x30, [sp, -16]!
- mov x29, sp
- blr x3
- ldp x29, x30, [sp], 16
- ret
- #endif
- .globl _Py_trampoline_func_end
- _Py_trampoline_func_end:
- .section .note.GNU-stack,"",@progbits
|