__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/*
* this is the internal transfer function.
*
* HISTORY
* 16-May-15 Alexey Borzenkov <snaury@gmail.com>
* Move stack spilling code inside save/restore functions
* 30-Aug-13 Floris Bruynooghe <flub@devork.be>
Clean the register windows again before returning.
This does not clobber the PIC register as it leaves
the current window intact and is required for multi-
threaded code to work correctly.
* 08-Mar-11 Floris Bruynooghe <flub@devork.be>
* No need to set return value register explicitly
* before the stack and framepointer are adjusted
* as none of the other registers are influenced by
* this. Also don't needlessly clean the windows
* ('ta %0" :: "i" (ST_CLEAN_WINDOWS)') as that
* clobbers the gcc PIC register (%l7).
* 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.
* 17-Sep-02 Christian Tismer <tismer@tismer.com>
* after virtualizing stack save/restore, the
* stack size shrunk a bit. Needed to introduce
* an adjustment STACK_MAGIC per platform.
* 15-Sep-02 Gerd Woetzel <gerd.woetzel@GMD.DE>
* added support for SunOS sparc with gcc
*/
#define STACK_REFPLUS 1
#ifdef SLP_EVAL
#define STACK_MAGIC 0
#if defined(__sparcv9)
#define SLP_FLUSHW __asm__ volatile ("flushw")
#else
#define SLP_FLUSHW __asm__ volatile ("ta 3") /* ST_FLUSH_WINDOWS */
#endif
/* On sparc we need to spill register windows inside save/restore functions */
#define SLP_BEFORE_SAVE_STATE() SLP_FLUSHW
#define SLP_BEFORE_RESTORE_STATE() SLP_FLUSHW
static int
slp_switch(void)
{
int err;
int *stackref, stsizediff;
/* Put current stack pointer into stackref.
* Register spilling is done in save/restore.
*/
__asm__ volatile ("mov %%sp, %0" : "=r" (stackref));
{
/* Thou shalt put SLP_SAVE_STATE into a local block */
/* Copy the current stack onto the heap */
SLP_SAVE_STATE(stackref, stsizediff);
/* Increment stack and frame pointer by stsizediff */
__asm__ volatile (
"add %0, %%sp, %%sp\n\t"
"add %0, %%fp, %%fp"
: : "r" (stsizediff));
/* Copy new stack from it's save store on the heap */
SLP_RESTORE_STATE();
__asm__ volatile ("mov %1, %0" : "=r" (err) : "i" (0));
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.
*/
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| __init__.py | File | 0 B | 0644 |
|
| setup_switch_x64_masm.cmd | File | 143 B | 0644 |
|
| switch_aarch64_gcc.h | File | 4.21 KB | 0644 |
|
| switch_alpha_unix.h | File | 671 B | 0644 |
|
| switch_amd64_unix.h | File | 2.68 KB | 0644 |
|
| switch_arm32_gcc.h | File | 2.42 KB | 0644 |
|
| switch_arm32_ios.h | File | 1.85 KB | 0644 |
|
| switch_arm64_masm.asm | File | 1.22 KB | 0644 |
|
| switch_arm64_masm.obj | File | 746 B | 0644 |
|
| switch_arm64_msvc.h | File | 398 B | 0644 |
|
| switch_csky_gcc.h | File | 1.3 KB | 0644 |
|
| switch_loongarch64_linux.h | File | 779 B | 0644 |
|
| switch_m68k_gcc.h | File | 928 B | 0644 |
|
| switch_mips_unix.h | File | 1.43 KB | 0644 |
|
| switch_ppc64_aix.h | File | 3.77 KB | 0644 |
|
| switch_ppc64_linux.h | File | 3.73 KB | 0644 |
|
| switch_ppc_aix.h | File | 2.87 KB | 0644 |
|
| switch_ppc_linux.h | File | 2.69 KB | 0644 |
|
| switch_ppc_macosx.h | File | 2.56 KB | 0644 |
|
| switch_ppc_unix.h | File | 2.59 KB | 0644 |
|
| switch_riscv_unix.h | File | 949 B | 0644 |
|
| switch_s390_unix.h | File | 2.7 KB | 0644 |
|
| switch_sh_gcc.h | File | 901 B | 0644 |
|
| switch_sparc_sun_gcc.h | File | 2.73 KB | 0644 |
|
| switch_x32_unix.h | File | 1.47 KB | 0644 |
|
| switch_x64_masm.asm | File | 1.8 KB | 0644 |
|
| switch_x64_masm.obj | File | 1.05 KB | 0644 |
|
| switch_x64_msvc.h | File | 1.76 KB | 0644 |
|
| switch_x86_msvc.h | File | 12.54 KB | 0644 |
|
| switch_x86_unix.h | File | 2.99 KB | 0644 |
|