1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

Sync all boost.context files with release 1.86.0

This commit is contained in:
Michael Voříšek
2025-11-03 15:14:23 +01:00
committed by Niels Dossche
parent b828cc535d
commit 04bdc4aee0
4 changed files with 17 additions and 7 deletions

View File

@@ -6,12 +6,14 @@
*/ */
/* /*
* typedef struct { * typedef void* fcontext_t;
* void *handle;
* zend_fiber_transfer *transfer;
* } boost_context_data;
* *
* boost_context_data jump_fcontext(void *to, zend_fiber_transfer *transfer); * struct transfer_t {
* fcontext_t fctx;
* void * data;
* };
*
* transfer_t jump_fcontext(fcontext_t const to, void *vp);
*/ */
#define CC64FSZ 176 #define CC64FSZ 176
#define BIAS 2047 #define BIAS 2047

View File

@@ -89,6 +89,7 @@
.file "jump_x86_64_ms_pe_gas.asm" .file "jump_x86_64_ms_pe_gas.asm"
.text .text
.p2align 4,,15 .p2align 4,,15
.globl jump_fcontext
.def jump_fcontext; .scl 2; .type 32; .endef .def jump_fcontext; .scl 2; .type 32; .endef
.seh_proc jump_fcontext .seh_proc jump_fcontext
jump_fcontext: jump_fcontext:
@@ -203,3 +204,6 @@ jump_fcontext:
/* indirect jump to context */ /* indirect jump to context */
jmp *%r10 jmp *%r10
.seh_endproc .seh_endproc
.section .drectve
.ascii " -export:\"jump_fcontext\""

View File

@@ -6,7 +6,7 @@
*/ */
/* /*
* void *make_fcontext(void *sp, size_t size, void (*fn)(boost_context_data)); * fcontext_t *make_fcontext(void *sp, size_t size, void (*fn)(transfer_t));
*/ */
#define CC64FSZ 176 #define CC64FSZ 176
#define BIAS 2047 #define BIAS 2047
@@ -56,7 +56,7 @@ make_fcontext:
trampoline: trampoline:
ldx [%sp + BIAS + I7], %l0 ldx [%sp + BIAS + I7], %l0
# no need to setup boost_context_data, already in %o0 and %o1 # no need to setup transfer_t, already in %o0 and %o1
jmpl %l0, %o7 jmpl %l0, %o7
nop nop

View File

@@ -89,6 +89,7 @@
.file "make_x86_64_ms_pe_gas.asm" .file "make_x86_64_ms_pe_gas.asm"
.text .text
.p2align 4,,15 .p2align 4,,15
.globl make_fcontext
.def make_fcontext; .scl 2; .type 32; .endef .def make_fcontext; .scl 2; .type 32; .endef
.seh_proc make_fcontext .seh_proc make_fcontext
make_fcontext: make_fcontext:
@@ -168,3 +169,6 @@ finish:
.seh_endproc .seh_endproc
.def _exit; .scl 2; .type 32; .endef /* standard C library function */ .def _exit; .scl 2; .type 32; .endef /* standard C library function */
.section .drectve
.ascii " -export:\"make_fcontext\""