PATH:
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
greenlet
/
platform
/* * this is the internal transfer function. * * HISTORY * 17-Aug-12 Fantix King <fantix.king@gmail.com> * Ported from amd64. */ #define STACK_REFPLUS 1 #ifdef SLP_EVAL #define STACK_MAGIC 0 #define REGS_TO_SAVE "r12", "r13", "r14", "r15" static int slp_switch(void) { void* ebp; void* ebx; unsigned int csr; unsigned short cw; int err; int *stackref, stsizediff; __asm__ volatile ("" : : : REGS_TO_SAVE); __asm__ volatile ("fstcw %0" : "=m" (cw)); __asm__ volatile ("stmxcsr %0" : "=m" (csr)); __asm__ volatile ("movl %%ebp, %0" : "=m" (ebp)); __asm__ volatile ("movl %%ebx, %0" : "=m" (ebx)); __asm__ ("movl %%esp, %0" : "=g" (stackref)); { SLP_SAVE_STATE(stackref, stsizediff); __asm__ volatile ( "addl %0, %%esp\n" "addl %0, %%ebp\n" : : "r" (stsizediff) ); SLP_RESTORE_STATE(); } __asm__ volatile ("movl %0, %%ebx" : : "m" (ebx)); __asm__ volatile ("movl %0, %%ebp" : : "m" (ebp)); __asm__ volatile ("ldmxcsr %0" : : "m" (csr)); __asm__ volatile ("fldcw %0" : : "m" (cw)); __asm__ volatile ("" : : : REGS_TO_SAVE); __asm__ volatile ("xorl %%eax, %%eax" : "=a" (err)); return err; } #endif /* * further self-processing support */ /* * if you want to add self-inspection tools, place them * here. See the x86_msvc for the necessary defines. * These features are highly experimental und not * essential yet. */
[+]
__pycache__
[-] switch_arm64_msvc.h
[edit]
[-] switch_ppc_unix.h
[edit]
[-] switch_amd64_unix.h
[edit]
[-] switch_x86_msvc.h
[edit]
[-] switch_aarch64_gcc.h
[edit]
[-] switch_ppc_macosx.h
[edit]
[-] __init__.py
[edit]
[-] switch_riscv_unix.h
[edit]
[-] switch_sparc_sun_gcc.h
[edit]
[-] switch_x86_unix.h
[edit]
[-] switch_ppc64_linux.h
[edit]
[+]
..
[-] switch_arm32_gcc.h
[edit]
[-] switch_arm64_masm.asm
[edit]
[-] switch_m68k_gcc.h
[edit]
[-] switch_mips_unix.h
[edit]
[-] switch_x64_masm.obj
[edit]
[-] switch_s390_unix.h
[edit]
[-] switch_ppc_linux.h
[edit]
[-] switch_alpha_unix.h
[edit]
[-] switch_arm64_masm.obj
[edit]
[-] switch_ppc_aix.h
[edit]
[-] switch_ppc64_aix.h
[edit]
[-] setup_switch_x64_masm.cmd
[edit]
[-] switch_csky_gcc.h
[edit]
[-] switch_sh_gcc.h
[edit]
[-] switch_x64_masm.asm
[edit]
[-] switch_x32_unix.h
[edit]
[-] switch_x64_msvc.h
[edit]
[-] switch_loongarch64_linux.h
[edit]
[-] switch_arm32_ios.h
[edit]