| 
									
										
										
										
											2022-08-30 18:11:18 +01:00
										 |  |  |     .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 | 
					
						
							| 
									
										
										
										
											2024-06-14 17:03:24 +02:00
										 |  |  | #endif | 
					
						
							|  |  |  | #ifdef __riscv | 
					
						
							|  |  |  |     addi    sp,sp,-16 | 
					
						
							|  |  |  |     sd      ra,8(sp) | 
					
						
							|  |  |  |     jalr    a3 | 
					
						
							|  |  |  |     ld      ra,8(sp) | 
					
						
							|  |  |  |     addi    sp,sp,16 | 
					
						
							|  |  |  |     jr      ra | 
					
						
							| 
									
										
										
										
											2022-08-30 18:11:18 +01:00
										 |  |  | #endif | 
					
						
							|  |  |  |     .globl	_Py_trampoline_func_end
 | 
					
						
							|  |  |  | _Py_trampoline_func_end: | 
					
						
							|  |  |  |     .section        .note.GNU-stack,"",@progbits
 |