GRAYBYTE WORDPRESS FILE MANAGER9019

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/hc_python/lib/python3.12/site-packages/greenlet/platform/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/hc_python/lib/python3.12/site-packages/greenlet/platform//switch_s390_unix.h
/*
 * this is the internal transfer function.
 *
 * HISTORY
 * 25-Jan-12  Alexey Borzenkov <snaury@gmail.com>
 *      Fixed Linux/S390 port to work correctly with
 *      different optimization options both on 31-bit
 *      and 64-bit. Thanks to Stefan Raabe for lots
 *      of testing.
 * 24-Nov-02  Christian Tismer  <tismer@tismer.com>
 *      needed to add another magic constant to insure
 *      that f in slp_eval_frame(PyFrameObject *f)
 *      STACK_REFPLUS will probably be 1 in most cases.
 *      gets included into the saved stack area.
 * 06-Oct-02  Gustavo Niemeyer <niemeyer@conectiva.com>
 *      Ported to Linux/S390.
 */

#define STACK_REFPLUS 1

#ifdef SLP_EVAL

#ifdef __s390x__
#define STACK_MAGIC 20 /* 20 * 8 = 160 bytes of function call area */
#else
#define STACK_MAGIC 24 /* 24 * 4 = 96 bytes of function call area */
#endif

/* Technically, r11-r13 also need saving, but function prolog starts
   with stm(g) and since there are so many saved registers already
   it won't be optimized, resulting in all r6-r15 being saved */
#define REGS_TO_SAVE "r6", "r7", "r8", "r9", "r10", "r14", \
		     "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
		     "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15"

static int
slp_switch(void)
{
    int ret;
    long *stackref, stsizediff;
    __asm__ volatile ("" : : : REGS_TO_SAVE);
#ifdef __s390x__
    __asm__ volatile ("lgr %0, 15" : "=r" (stackref) : );
#else
    __asm__ volatile ("lr %0, 15" : "=r" (stackref) : );
#endif
    {
        SLP_SAVE_STATE(stackref, stsizediff);
/* N.B.
   r11 may be used as the frame pointer, and in that case it cannot be
   clobbered and needs offsetting just like the stack pointer (but in cases
   where frame pointer isn't used we might clobber it accidentally). What's
   scary is that r11 is 2nd (and even 1st when GOT is used) callee saved
   register that gcc would chose for surviving function calls. However,
   since r6-r10 are clobbered above, their cost for reuse is reduced, so
   gcc IRA will chose them over r11 (not seeing r11 is implicitly saved),
   making it relatively safe to offset in all cases. :) */
        __asm__ volatile (
#ifdef __s390x__
            "agr 15, %0\n\t"
            "agr 11, %0"
#else
            "ar 15, %0\n\t"
            "ar 11, %0"
#endif
            : /* no outputs */
            : "r" (stsizediff)
            );
        SLP_RESTORE_STATE();
    }
    __asm__ volatile ("" : : : REGS_TO_SAVE);
    __asm__ volatile ("lhi %0, 0" : "=r" (ret) : );
    return ret;
}

#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.
 */

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 23 2025 08:31:29
root / root
0755
__pycache__
--
May 23 2025 08:31:29
root / root
0755
__init__.py
0 KB
May 23 2025 08:31:29
root / root
0644
setup_switch_x64_masm.cmd
0.14 KB
May 23 2025 08:31:29
root / root
0644
switch_aarch64_gcc.h
4.206 KB
May 23 2025 08:31:29
root / root
0644
switch_alpha_unix.h
0.655 KB
May 23 2025 08:31:29
root / root
0644
switch_amd64_unix.h
2.684 KB
May 23 2025 08:31:29
root / root
0644
switch_arm32_gcc.h
2.421 KB
May 23 2025 08:31:29
root / root
0644
switch_arm32_ios.h
1.848 KB
May 23 2025 08:31:29
root / root
0644
switch_arm64_masm.asm
1.216 KB
May 23 2025 08:31:29
root / root
0644
switch_arm64_masm.obj
0.729 KB
May 23 2025 08:31:29
root / root
0644
switch_arm64_msvc.h
0.389 KB
May 23 2025 08:31:29
root / root
0644
switch_csky_gcc.h
1.3 KB
May 23 2025 08:31:29
root / root
0644
switch_loongarch64_linux.h
0.761 KB
May 23 2025 08:31:29
root / root
0644
switch_m68k_gcc.h
0.906 KB
May 23 2025 08:31:29
root / root
0644
switch_mips_unix.h
1.393 KB
May 23 2025 08:31:29
root / root
0644
switch_ppc64_aix.h
3.77 KB
May 23 2025 08:31:29
root / root
0644
switch_ppc64_linux.h
3.726 KB
May 23 2025 08:31:29
root / root
0644
switch_ppc_aix.h
2.872 KB
May 23 2025 08:31:29
root / root
0644
switch_ppc_linux.h
2.694 KB
May 23 2025 08:31:29
root / root
0644
switch_ppc_macosx.h
2.563 KB
May 23 2025 08:31:29
root / root
0644
switch_ppc_unix.h
2.59 KB
May 23 2025 08:31:29
root / root
0644
switch_riscv_unix.h
0.927 KB
May 23 2025 08:31:29
root / root
0644
switch_s390_unix.h
2.698 KB
May 23 2025 08:31:29
root / root
0644
switch_sh_gcc.h
0.88 KB
May 23 2025 08:31:29
root / root
0644
switch_sparc_sun_gcc.h
2.731 KB
May 23 2025 08:31:29
root / root
0644
switch_x32_unix.h
1.474 KB
May 23 2025 08:31:29
root / root
0644
switch_x64_masm.asm
1.798 KB
May 23 2025 08:31:29
root / root
0644
switch_x64_masm.obj
1.053 KB
May 23 2025 08:31:29
root / root
0644
switch_x64_msvc.h
1.763 KB
May 23 2025 08:31:29
root / root
0644
switch_x86_msvc.h
12.537 KB
May 23 2025 08:31:29
root / root
0644
switch_x86_unix.h
2.987 KB
May 23 2025 08:31:29
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF