/ext-fiber/src/ |
H A D | fiber_asm.c | 23 fcontext_t context; member 39 context->caller = transfer.context; in zend_fiber_trampoline() 41 context->function(context); in zend_fiber_trampoline() 43 context->self = NULL; in zend_fiber_trampoline() 45 zend_fiber_suspend_context(context); in zend_fiber_trampoline() 57 void *stack = (void *) ((uintptr_t) context->stack.pointer + context->stack.size); in zend_fiber_init_context() 59 context->self = make_fcontext(stack, context->stack.size, zend_fiber_trampoline); in zend_fiber_init_context() 61 if (UNEXPECTED(!context->self)) { in zend_fiber_init_context() 66 context->function = coroutine; in zend_fiber_init_context() 67 context->caller = NULL; in zend_fiber_init_context() [all …]
|
/ext-fiber/boost/asm/ |
H A D | make_arm_aapcs_pe_armasm.asm | 34 ; first arg of make_fcontext() == top of context-stack 35 ; save top of context-stack (base) A4 41 ; reserve space for context-data on context-stack 46 ; second arg of make_fcontext() == size of context-stack 47 ; compute bottom address of context-stack (limit) 49 ; save bottom address of context-stack as 'limit' 51 ; save bottom address of context-stack as 'dealloction stack' 54 ; third arg of make_fcontext() == address of context-function 64 ; save address of finish as return-address for context-function 65 ; will be entered after context-function returns [all …]
|
H A D | make_arm64_aapcs_macho_gas.S | 62 ; reserve space for context-data on context-stack 65 ; third arg of make_fcontext() == address of context-function 71 ; save address of finish as return-address for context-function 72 ; will be entered after context-function returns (LR register) 75 ret lr ; return pointer to context-data (x0)
|
H A D | make_arm_aapcs_macho_gas.S | 48 @ reserve space for context-data on context-stack 51 @ third arg of make_fcontext() == address of context-function 61 @ save address of finish as return-address for context-function 62 @ will be entered after context-function returns 65 bx lr @ return pointer to context-data
|
H A D | make_arm_aapcs_elf_gas.S | 51 @ reserve space for context-data on context-stack 54 @ third arg of make_fcontext() == address of context-function 64 @ save address of finish as return-address for context-function 65 @ will be entered after context-function returns 71 bx lr @ return pointer to context-data
|
H A D | make_arm64_aapcs_elf_gas.S | 63 # reserve space for context-data on context-stack 66 # third arg of make_fcontext() == address of context-function 70 # save address of finish as return-address for context-function 71 # will be entered after context-function returns (LR register)
|
H A D | make_riscv64_sysv_elf_gas.S | 69 # reserve space for context-data on context-stack 72 # third arg of make_fcontext() == address of context-function 76 # save address of finish as return-address for context-function 77 # will be entered after context-function returns (RA register)
|
H A D | make_mips64_n64_elf_gas.S | 64 # reserve space for context-data on context-stack 67 # third arg of make_fcontext() == address of context-function 69 # save global pointer in context-data 75 # save address of finish as return-address for context-function 76 # will be entered after context-function returns 79 jr $ra # return pointer to context-data
|
H A D | make_ppc32_sysv_elf_gas.S | 66 # reserve space on context-stack, including 16 bytes of linkage 67 # and parameter area + 240 bytes of context-data (R1 % 16 == 0) 70 # third arg of make_fcontext() == address of context-function 72 # save context-function as PC 75 # save context-function for trampoline 83 # copy FPSCR to new context 103 # save address of finish as return-address for context-function 104 # will be entered after context-function returns 110 blr # return pointer to context-data 116 # our context-function. [all …]
|
H A D | make_ppc32_sysv_xcoff_gas.S | 86 # first arg of make_fcontext() == top address of context-function 90 # reserve space for context-data on context-stack 94 # third arg of make_fcontext() == address of context-function 117 # save address of finish as return-address for context-function 118 # will be entered after context-function returns 124 blr # return pointer to context-data
|
H A D | make_ppc64_sysv_xcoff_gas.S | 16 # first arg of make_fcontext() == top address of context-function 20 # reserve space for context-data on context-stack 24 # third arg of make_fcontext() == address of context-function 47 # save address of finish as return-address for context-function 48 # will be entered after context-function returns 54 blr # return pointer to context-data
|
H A D | make_i386_ms_pe_masm.asm | 30 ; first arg of make_fcontext() == top of context-stack 40 ; reserve space for context-data on context-stack 41 ; on context-function entry: (ESP -0x4) % 8 == 0 52 ; save top address of context stack as 'base' 58 ; compute bottom address of context stack (limit) 60 ; save bottom address of context-stack as 'limit' 82 ; will be entered after context-function returns 110 ; save address in ECX as SEH handler for context 121 ret ; return pointer to context-data 124 ; move transport_t for entering context-function [all …]
|
H A D | make_ppc64_sysv_elf_gas.S | 102 # first arg of make_fcontext() == top address of context-stack 106 # reserve space for context-data on context-stack 110 # third arg of make_fcontext() == address of context-function 113 # save address of context-function entry point 116 # save address of context-function entry point 119 # save TOC of context-function 129 # zero in r3 indicates first jump to context-function 144 # save address of finish as return-address for context-function 145 # will be entered after context-function returns 151 blr # return pointer to context-data
|
H A D | make_mips32_o32_elf_gas.S | 57 # reserve space for context-data on context-stack 66 # third arg of make_fcontext() == address of context-function 68 # save global pointer in context-data 77 # save address of finish as return-address for context-function 78 # will be entered after context-function returns 81 jr $ra # return pointer to context-data
|
H A D | make_ppc32_sysv_macho_gas.S | 83 # first arg of make_fcontext() == top address of context-function 87 # reserve space for context-data on context-stack 91 # third arg of make_fcontext() == address of context-function 117 # save address of finish as return-address for context-function 118 # will be entered after context-function returns 124 blr # return pointer to context-data
|
H A D | jump_arm_aapcs_elf_gas.S | 60 @ store RSP (pointing to context-data) in A1 63 @ restore RSP (pointing to context-data) from A2 79 @ pass transfer_t as first arg in context function
|
H A D | jump_arm_aapcs_macho_gas.S | 66 @ store RSP (pointing to context-data) in A1 69 @ restore RSP (pointing to context-data) from A2 90 @ pass transfer_t as first arg in context function
|
H A D | jump_ppc64_sysv_elf_gas.S | 136 # store RSP (pointing to context-data) in R6 140 # restore RSP (pointing to context-data) from R3 143 # restore RSP (pointing to context-data) from R4 190 # jump to context 194 # zero in r3 indicates first jump to context-function 202 # jump to context 210 # jump to context
|
H A D | jump_arm64_aapcs_macho_gas.S | 78 ; store RSP (pointing to context-data) in X0 81 ; restore RSP (pointing to context-data) from X1 99 ; pass transfer_t as first arg in context function
|
H A D | jump_arm64_aapcs_elf_gas.S | 80 # store RSP (pointing to context-data) in X0 83 # restore RSP (pointing to context-data) from X1 101 # pass transfer_t as first arg in context function
|
H A D | jump_ppc64_sysv_macho_gas.S | 106 ; store RSP (pointing to context-data) in R6 109 ; restore RSP (pointing to context-data) from R4 147 # zero in r3 indicates first jump to context-function 155 # jump to context 163 # jump to context
|
H A D | jump_ppc64_sysv_xcoff_gas.S | 45 # store RSP (pointing to context-data) in R6 48 # restore RSP (pointing to context-data) from R4 91 # jump to context
|
H A D | jump_mips32_o32_elf_gas.S | 73 # store SP (pointing to context-data) in A0 76 # restore SP (pointing to context-data) from A1 109 # pass transfer_t as first arg in context function 113 # jump to context
|
H A D | jump_riscv64_sysv_elf_gas.S | 101 # store SP (pointing to context-data) in A2 104 # restore SP (pointing to context-data) from A0 137 # pass transfer_t as first arg in context function
|
/ext-fiber/ |
H A D | fiber.h | 44 typedef void (*zend_fiber_coroutine)(zend_fiber_context *context); 76 zend_fiber_context context; member 125 PHP_FIBER_API zend_bool zend_fiber_init_context(zend_fiber_context *context, zend_fiber_coroutine c… 126 PHP_FIBER_API void zend_fiber_destroy_context(zend_fiber_context *context);
|