Lines Matching refs:execute_data
55 generator->execute_data->call = prev_call; in zend_generator_restore_call_stack()
61 ZEND_API zend_execute_data* zend_generator_freeze_call_stack(zend_execute_data *execute_data) /* {{… in zend_generator_freeze_call_stack() argument
93 execute_data->call = NULL; in zend_generator_freeze_call_stack()
115 zend_generator *generator, zend_execute_data *execute_data, uint32_t catch_op_num) /* {{{ */ in zend_generator_cleanup_unfinished_execution() argument
117 zend_op_array *op_array = &execute_data->func->op_array; in zend_generator_cleanup_unfinished_execution()
118 if (execute_data->opline != op_array->opcodes) { in zend_generator_cleanup_unfinished_execution()
119 uint32_t op_num = execute_data->opline - op_array->opcodes; in zend_generator_cleanup_unfinished_execution()
123 zend_execute_data *save_ex = generator->execute_data; in zend_generator_cleanup_unfinished_execution()
124 generator->execute_data = execute_data; in zend_generator_cleanup_unfinished_execution()
126 generator->execute_data = save_ex; in zend_generator_cleanup_unfinished_execution()
129 zend_cleanup_unfinished_execution(execute_data, op_num, catch_op_num); in zend_generator_cleanup_unfinished_execution()
136 if (EXPECTED(generator->execute_data)) { in zend_generator_close()
137 zend_execute_data *execute_data = generator->execute_data; in zend_generator_close() local
140 generator->execute_data = NULL; in zend_generator_close()
143 zend_clean_and_cache_symbol_table(execute_data->symbol_table); in zend_generator_close()
146 zend_free_compiled_variables(execute_data); in zend_generator_close()
148 zend_free_extra_named_params(execute_data->extra_named_params); in zend_generator_close()
152 OBJ_RELEASE(Z_OBJ(execute_data->This)); in zend_generator_close()
158 generator->execute_data = NULL; in zend_generator_close()
162 zend_vm_stack_free_extra_args(execute_data); in zend_generator_close()
167 zend_generator_cleanup_unfinished_execution(generator, execute_data, 0); in zend_generator_close()
170 efree(execute_data); in zend_generator_close()
217 ZEND_ASSERT(generator->execute_data); in check_node_running_in_fiber()
245 zend_execute_data *ex = generator->execute_data; in zend_generator_dtor_storage()
387 zend_execute_data *execute_data = generator->execute_data; in zend_generator_frame_gc() local
400 HashTable *ht = zend_unfinished_execution_gc_ex(execute_data, call, gc_buffer, true); in zend_generator_frame_gc()
416 zend_execute_data *execute_data = generator->execute_data; in zend_generator_get_gc() local
418 if (!execute_data) { in zend_generator_get_gc()
490 generator->execute_data->prev_execute_data = prev; in zend_generator_check_placeholder_frame()
491 prev = generator->execute_data; in zend_generator_check_placeholder_frame()
494 generator->execute_data->prev_execute_data = prev; in zend_generator_check_placeholder_frame()
495 ptr = generator->execute_data; in zend_generator_check_placeholder_frame()
507 EG(current_execute_data) = generator->execute_data; in zend_generator_throw_exception()
508 generator->execute_data->prev_execute_data = original_execute_data; in zend_generator_throw_exception()
574 while (!root->execute_data && root->node.children == 1) { in get_new_root()
578 if (root->execute_data) { in get_new_root()
584 while (generator->node.parent->execute_data) { in get_new_root()
594 ZEND_ASSERT(!old_root->execute_data && "Nothing to update?"); in zend_generator_update_current()
608 zend_op *yield_from = (zend_op *) new_root->execute_data->opline; in zend_generator_update_current()
614 EG(current_execute_data) = new_root->execute_data; in zend_generator_update_current()
617 new_root->execute_data->prev_execute_data = original_execute_data; in zend_generator_update_current()
619 new_root->execute_data->prev_execute_data = &generator->execute_fake; in zend_generator_update_current()
636 …ZVAL_COPY(ZEND_CALL_VAR(new_root->execute_data, yield_from->result.var), &new_root_parent->retval); in zend_generator_update_current()
745 if (UNEXPECTED(!generator->execute_data)) { in zend_generator_resume()
774 EG(current_execute_data) = generator->execute_data; in zend_generator_resume()
781 generator->execute_data->prev_execute_data = original_execute_data; in zend_generator_resume()
785 generator->execute_data->prev_execute_data = &orig_generator->execute_fake; in zend_generator_resume()
810 ZEND_ASSERT(generator->execute_data->opline->opcode == ZEND_GENERATOR_CREATE in zend_generator_resume()
811 || generator->execute_data->opline->opcode == ZEND_YIELD in zend_generator_resume()
812 || generator->execute_data->opline->opcode == ZEND_YIELD_FROM in zend_generator_resume()
815 || generator->execute_data->opline->opcode == ZEND_HANDLE_EXCEPTION in zend_generator_resume()
819 generator->execute_data->opline++; in zend_generator_resume()
822 zend_execute_ex(generator->execute_data); in zend_generator_resume()
824 zend_observer_generator_resume(generator->execute_data); in zend_generator_resume()
825 zend_execute_ex(generator->execute_data); in zend_generator_resume()
826 if (generator->execute_data) { in zend_generator_resume()
828 zend_observer_fcall_end(generator->execute_data, &generator->value); in zend_generator_resume()
834 if (EXPECTED(generator->execute_data) && in zend_generator_resume()
835 UNEXPECTED(generator->execute_data->call)) { in zend_generator_resume()
837 generator->frozen_call_stack = zend_generator_freeze_call_stack(generator->execute_data); in zend_generator_resume()
866 …nerator && !Z_ISUNDEF(generator->retval)) || (generator->execute_data && generator->execute_data->… in zend_generator_resume()
877 …if (UNEXPECTED(Z_TYPE(generator->value) == IS_UNDEF) && EXPECTED(generator->execute_data) && EXPEC… in zend_generator_ensure_initialized()
920 RETURN_BOOL(EXPECTED(generator->execute_data != NULL)); in ZEND_METHOD()
936 if (EXPECTED(generator->execute_data != NULL && Z_TYPE(root->value) != IS_UNDEF)) { in ZEND_METHOD()
954 if (EXPECTED(generator->execute_data != NULL && Z_TYPE(root->key) != IS_UNDEF)) { in ZEND_METHOD()
990 if (UNEXPECTED(!generator->execute_data)) { in ZEND_METHOD()
1003 if (EXPECTED(generator->execute_data)) { in ZEND_METHOD()
1025 if (generator->execute_data) { in ZEND_METHOD()
1033 if (generator->execute_data) { in ZEND_METHOD()
1114 return generator->execute_data ? SUCCESS : FAILURE; in zend_generator_iterator_valid()
1191 if (!generator->execute_data) { in zend_generator_get_iterator()
1196 …if (UNEXPECTED(by_ref) && !(generator->execute_data->func->op_array.fn_flags & ZEND_ACC_RETURN_REF… in zend_generator_get_iterator()