{%DEFINES%} ZEND_API void {%EXECUTOR_NAME%}_ex(zend_execute_data *execute_data TSRMLS_DC) { DCL_OPLINE zend_bool original_in_execution; {%HELPER_VARS%} {%INTERNAL_LABELS%} original_in_execution = EG(in_execution); EG(in_execution) = 1; LOAD_REGS(); LOAD_OPLINE(); while (1) { {%ZEND_VM_CONTINUE_LABEL%} #ifdef ZEND_WIN32 if (EG(timed_out)) { zend_timeout(0); } #endif {%ZEND_VM_DISPATCH%} { {%INTERNAL_EXECUTOR%} } } zend_error_noreturn(E_ERROR, "Arrived at end of main loop which shouldn't happen"); } ZEND_API void zend_{%EXECUTOR_NAME%}(zend_op_array *op_array, zval *return_value TSRMLS_DC) { if (EG(exception) != NULL) { return; } zend_{%EXECUTOR_NAME%}_ex(i_create_execute_data_from_op_array(op_array, return_value, 0 TSRMLS_CC) TSRMLS_CC); } {%EXTERNAL_EXECUTOR%} void {%INITIALIZER_NAME%}(void) { {%EXTERNAL_LABELS%} }