mirror of
				https://github.com/python/cpython.git
				synced 2025-11-02 14:41:33 +00:00 
			
		
		
		
	
		
			
	
	
		
			29 lines
		
	
	
	
		
			776 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
	
		
			776 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| 
								 | 
							
								    .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
							 |