1{%DEFINES%} 2 3ZEND_API void {%EXECUTOR_NAME%}_ex(zend_execute_data *ex) 4{ 5 DCL_OPLINE 6 7 {%HELPER_VARS%} 8 9 {%INTERNAL_LABELS%} 10 11 LOAD_OPLINE(); 12 13 while (1) { 14 {%ZEND_VM_CONTINUE_LABEL%} 15 {%ZEND_VM_DISPATCH%} { 16 {%INTERNAL_EXECUTOR%} 17 } 18 19 } 20 zend_error_noreturn(E_CORE_ERROR, "Arrived at end of main loop which shouldn't happen"); 21} 22 23ZEND_API void zend_{%EXECUTOR_NAME%}(zend_op_array *op_array, zval *return_value) 24{ 25 zend_execute_data *execute_data; 26 27 if (EG(exception) != NULL) { 28 return; 29 } 30 31 execute_data = zend_vm_stack_push_call_frame(ZEND_CALL_TOP_CODE, 32 (zend_function*)op_array, 0, zend_get_called_scope(EG(current_execute_data)), zend_get_this_object(EG(current_execute_data))); 33 if (EG(current_execute_data)) { 34 execute_data->symbol_table = zend_rebuild_symbol_table(); 35 } else { 36 execute_data->symbol_table = &EG(symbol_table); 37 } 38 EX(prev_execute_data) = EG(current_execute_data); 39 i_init_execute_data(execute_data, op_array, return_value); 40 zend_{%EXECUTOR_NAME%}_ex(execute_data); 41 zend_vm_stack_free_call_frame(execute_data); 42} 43 44{%EXTERNAL_EXECUTOR%} 45 46void {%INITIALIZER_NAME%}(void) 47{ 48 {%EXTERNAL_LABELS%} 49} 50