Lines Matching refs:transfer
145 zend_fiber_transfer *transfer; member
150 …ern ZEND_INDIRECT_RETURN boost_context_data jump_fcontext(void *to, zend_fiber_transfer *transfer);
285 zend_fiber_transfer transfer = *transfer_data; in zend_fiber_trampoline() local
287 zend_fiber_transfer transfer = *data.transfer; in zend_fiber_trampoline()
290 zend_fiber_context *from = transfer.context; in zend_fiber_trampoline()
308 context->function(&transfer); in zend_fiber_trampoline()
312 zend_fiber_switch_context(&transfer); in zend_fiber_trampoline()
385 ZEND_API void zend_fiber_switch_context(zend_fiber_transfer *transfer) in zend_fiber_switch_context() argument
388 zend_fiber_context *to = transfer->context; in zend_fiber_switch_context()
397 !(transfer->flags & ZEND_FIBER_TRANSFER_FLAG_ERROR) || in zend_fiber_switch_context()
398 (Z_TYPE(transfer->value) == IS_OBJECT && ( in zend_fiber_switch_context()
399 zend_is_unwind_exit(Z_OBJ(transfer->value)) || in zend_fiber_switch_context()
400 zend_is_graceful_exit(Z_OBJ(transfer->value)) || in zend_fiber_switch_context()
401 instanceof_function(Z_OBJCE(transfer->value), zend_ce_throwable) in zend_fiber_switch_context()
416 transfer->context = from; in zend_fiber_switch_context()
429 transfer_data = transfer; in zend_fiber_switch_context()
434 *transfer = *transfer_data; in zend_fiber_switch_context()
436 boost_context_data data = jump_fcontext(to->handle, transfer); in zend_fiber_switch_context()
439 *transfer = *data.transfer; in zend_fiber_switch_context()
442 to = transfer->context; in zend_fiber_switch_context()
476 static ZEND_STACK_ALIGNED void zend_fiber_execute(zend_fiber_transfer *transfer) in zend_fiber_execute() argument
478 …ZEND_ASSERT(Z_TYPE(transfer->value) == IS_NULL && "Initial transfer value to fiber context must be… in zend_fiber_execute()
479 ZEND_ASSERT(!transfer->flags && "No flags should be set on initial transfer"); in zend_fiber_execute()
524 transfer->flags = ZEND_FIBER_TRANSFER_FLAG_ERROR; in zend_fiber_execute()
526 ZVAL_OBJ_COPY(&transfer->value, EG(exception)); in zend_fiber_execute()
533 transfer->flags = ZEND_FIBER_TRANSFER_FLAG_BAILOUT; in zend_fiber_execute()
539 transfer->context = fiber->caller; in zend_fiber_execute()
544 zend_fiber_transfer *transfer, INTERNAL_FUNCTION_PARAMETERS in zend_fiber_delegate_transfer_result() argument
546 if (transfer->flags & ZEND_FIBER_TRANSFER_FLAG_ERROR) { in zend_fiber_delegate_transfer_result()
548 zend_throw_exception_internal(Z_OBJ(transfer->value)); in zend_fiber_delegate_transfer_result()
552 RETURN_COPY_VALUE(&transfer->value); in zend_fiber_delegate_transfer_result()
558 zend_fiber_transfer transfer = { in zend_fiber_switch_to() local
564 ZVAL_COPY(&transfer.value, value); in zend_fiber_switch_to()
566 ZVAL_NULL(&transfer.value); in zend_fiber_switch_to()
569 zend_fiber_switch_context(&transfer); in zend_fiber_switch_to()
572 if (UNEXPECTED(transfer.flags & ZEND_FIBER_TRANSFER_FLAG_BAILOUT)) { in zend_fiber_switch_to()
577 return transfer; in zend_fiber_switch_to()
591 zend_fiber_transfer transfer = zend_fiber_switch_to(fiber->previous, value, exception); in zend_fiber_resume() local
595 return transfer; in zend_fiber_resume()
638 zend_fiber_transfer transfer = zend_fiber_resume(fiber, &graceful_exit, true); in zend_fiber_object_destroy() local
642 if (transfer.flags & ZEND_FIBER_TRANSFER_FLAG_ERROR) { in zend_fiber_object_destroy()
643 EG(exception) = Z_OBJ(transfer.value); in zend_fiber_object_destroy()
656 zval_ptr_dtor(&transfer.value); in zend_fiber_object_destroy()
772 zend_fiber_transfer transfer = zend_fiber_resume(fiber, NULL, false); in ZEND_METHOD() local
774 zend_fiber_delegate_transfer_result(&transfer, INTERNAL_FUNCTION_PARAM_PASSTHRU); in ZEND_METHOD()
807 zend_fiber_transfer transfer = zend_fiber_suspend(fiber, value); in ZEND_METHOD() local
809 zend_fiber_delegate_transfer_result(&transfer, INTERNAL_FUNCTION_PARAM_PASSTHRU); in ZEND_METHOD()
836 zend_fiber_transfer transfer = zend_fiber_resume(fiber, value, false); in ZEND_METHOD() local
838 zend_fiber_delegate_transfer_result(&transfer, INTERNAL_FUNCTION_PARAM_PASSTHRU); in ZEND_METHOD()
864 zend_fiber_transfer transfer = zend_fiber_resume(fiber, exception, true); in ZEND_METHOD() local
866 zend_fiber_delegate_transfer_result(&transfer, INTERNAL_FUNCTION_PARAM_PASSTHRU); in ZEND_METHOD()