mirror of
https://github.com/python/cpython.git
synced 2025-10-10 00:43:41 +00:00
gh-96143: Move the perf trampoline files to the Python directory (#98675)
This commit is contained in:
parent
0c84593275
commit
1f737edb67
11 changed files with 18 additions and 18 deletions
28
Python/asm_trampoline.S
Normal file
28
Python/asm_trampoline.S
Normal file
|
@ -0,0 +1,28 @@
|
|||
.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
|
Loading…
Add table
Add a link
Reference in a new issue