Lines Matching refs:CG

40 			target.constant = zend_add_literal(CG(active_op_array), &(src)->u.constant); \
55 #define FC(member) (CG(file_context).member)
68 zend_op_array *op_array = CG(active_op_array); in zend_alloc_cache_slot()
76 zend_op_array *op_array = CG(active_op_array); in zend_alloc_polymorphic_cache_slot()
117 zend_string *filename = CG(active_op_array)->filename; in zend_build_runtime_definition_key()
220 *prev_context = CG(context); in zend_oparray_context_begin()
221 CG(context).opcodes_size = INITIAL_OP_ARRAY_SIZE; in zend_oparray_context_begin()
222 CG(context).vars_size = 0; in zend_oparray_context_begin()
223 CG(context).literals_size = 0; in zend_oparray_context_begin()
224 CG(context).current_brk_cont = -1; in zend_oparray_context_begin()
225 CG(context).backpatch_count = 0; in zend_oparray_context_begin()
226 CG(context).in_finally = 0; in zend_oparray_context_begin()
227 CG(context).fast_call_var = -1; in zend_oparray_context_begin()
228 CG(context).labels = NULL; in zend_oparray_context_begin()
234 if (CG(context).labels) { in zend_oparray_context_end()
235 zend_hash_destroy(CG(context).labels); in zend_oparray_context_end()
236 FREE_HASHTABLE(CG(context).labels); in zend_oparray_context_end()
237 CG(context).labels = NULL; in zend_oparray_context_end()
239 CG(context) = *prev_context; in zend_oparray_context_end()
277 *prev_context = CG(file_context); in zend_file_context_begin()
291 CG(file_context) = *prev_context; in zend_file_context_end()
297 zend_stack_init(&CG(loop_var_stack), sizeof(zend_loop_var)); in zend_init_compiler_data_structures()
298 zend_stack_init(&CG(delayed_oplines_stack), sizeof(zend_op)); in zend_init_compiler_data_structures()
299 CG(active_class_entry) = NULL; in zend_init_compiler_data_structures()
300 CG(in_compilation) = 0; in zend_init_compiler_data_structures()
301 CG(start_lineno) = 0; in zend_init_compiler_data_structures()
302 zend_hash_init(&CG(const_filenames), 8, NULL, NULL, 0); in zend_init_compiler_data_structures()
304 CG(encoding_declared) = 0; in zend_init_compiler_data_structures()
317 CG(arena) = zend_arena_create(64 * 1024); in init_compiler()
318 CG(active_op_array) = NULL; in init_compiler()
319 memset(&CG(context), 0, sizeof(CG(context))); in init_compiler()
322 zend_hash_init(&CG(filenames_table), 8, NULL, ZVAL_PTR_DTOR, 0); in init_compiler()
323 zend_llist_init(&CG(open_files), sizeof(zend_file_handle), (void (*)(void *)) file_handle_dtor, 0); in init_compiler()
324 CG(unclean_shutdown) = 0; in init_compiler()
330 zend_stack_destroy(&CG(loop_var_stack)); in shutdown_compiler()
331 zend_stack_destroy(&CG(delayed_oplines_stack)); in shutdown_compiler()
332 zend_hash_destroy(&CG(filenames_table)); in shutdown_compiler()
333 zend_hash_destroy(&CG(const_filenames)); in shutdown_compiler()
334 zend_arena_destroy(CG(arena)); in shutdown_compiler()
342 if ((p = zend_hash_find(&CG(filenames_table), new_compiled_filename))) { in zend_set_compiled_filename()
344 CG(compiled_filename) = Z_STR_P(p); in zend_set_compiled_filename()
349 zend_hash_update(&CG(filenames_table), new_compiled_filename, &rv); in zend_set_compiled_filename()
351 CG(compiled_filename) = new_compiled_filename; in zend_set_compiled_filename()
358 CG(compiled_filename) = original_compiled_filename; in zend_restore_compiled_filename()
364 return CG(compiled_filename); in zend_get_compiled_filename()
370 return CG(zend_lineno); in zend_get_compiled_lineno()
376 return CG(in_compilation); in zend_is_compiling()
402 if (op_array->last_var > CG(context).vars_size) { in lookup_cv()
403 CG(context).vars_size += 16; /* FIXME */ in lookup_cv()
404 op_array->vars = erealloc(op_array->vars, CG(context).vars_size * sizeof(zend_string*)); in lookup_cv()
445 if (i >= CG(context).literals_size) { in zend_add_literal()
446 while (i >= CG(context).literals_size) { in zend_add_literal()
447 CG(context).literals_size += 16; /* FIXME */ in zend_add_literal()
449 …op_array->literals = (zval*)erealloc(op_array->literals, CG(context).literals_size * sizeof(zval)); in zend_add_literal()
563 op.constant = zend_add_literal(CG(active_op_array), &_c); \
576 int parent = CG(context).current_brk_cont; in zend_begin_loop()
579 CG(context).current_brk_cont = CG(active_op_array)->last_brk_cont; in zend_begin_loop()
580 brk_cont_element = get_next_brk_cont_element(CG(active_op_array)); in zend_begin_loop()
587 info.u.brk_cont_offset = CG(context).current_brk_cont; in zend_begin_loop()
588 brk_cont_element->start = get_next_op_number(CG(active_op_array)); in zend_begin_loop()
596 zend_stack_push(&CG(loop_var_stack), &info); in zend_begin_loop()
603 = &CG(active_op_array)->brk_cont_array[CG(context).current_brk_cont]; in zend_end_loop()
605 brk_cont_element->brk = get_next_op_number(CG(active_op_array)); in zend_end_loop()
606 CG(context).current_brk_cont = brk_cont_element->parent; in zend_end_loop()
608 zend_stack_del_top(&CG(loop_var_stack)); in zend_end_loop()
615 zend_op *opline = &CG(active_op_array)->opcodes[CG(active_op_array)->last-1]; in zend_do_free()
627 opline = get_next_op(CG(active_op_array)); in zend_do_free()
633 zend_op *opline = &CG(active_op_array)->opcodes[CG(active_op_array)->last-1]; in zend_do_free()
647 opline = get_next_op(CG(active_op_array)); in zend_do_free()
655 while (opline >= CG(active_op_array)->opcodes) { in zend_do_free()
659 opline = get_next_op(CG(active_op_array)); in zend_do_free()
670 opline = &CG(active_op_array)->opcodes[CG(active_op_array)->last-1]; in zend_do_free()
913 zend_op_array *op_array = CG(active_op_array); in zend_add_try_element()
966 new_function = zend_arena_alloc(&CG(arena), sizeof(zend_op_array)); in do_bind_function()
1073 zend_op *opline = &CG(active_op_array)->opcodes[CG(active_op_array)->last-1]; in zend_do_early_binding()
1076 while (opline->opcode == ZEND_TICKS && opline > CG(active_op_array)->opcodes) { in zend_do_early_binding()
1082 if (do_bind_function(CG(active_op_array), opline, CG(function_table), 1) == FAILURE) { in zend_do_early_binding()
1085 table = CG(function_table); in zend_do_early_binding()
1088 if (do_bind_class(CG(active_op_array), opline, CG(class_table), 1) == NULL) { in zend_do_early_binding()
1091 table = CG(class_table); in zend_do_early_binding()
1101 ((CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_CLASSES) && in zend_do_early_binding()
1103 if (CG(compiler_options) & ZEND_COMPILE_DELAYED_BINDING) { in zend_do_early_binding()
1104 uint32_t *opline_num = &CG(active_op_array)->early_binding; in zend_do_early_binding()
1107 opline_num = &CG(active_op_array)->opcodes[*opline_num].result.opline_num; in zend_do_early_binding()
1109 *opline_num = opline - CG(active_op_array)->opcodes; in zend_do_early_binding()
1116 if (do_bind_inherited_class(CG(active_op_array), opline, CG(class_table), ce, 1) == NULL) { in zend_do_early_binding()
1120 zend_del_literal(CG(active_op_array), fetch_class_opline->op2.constant); in zend_do_early_binding()
1123 table = CG(class_table); in zend_do_early_binding()
1139 zend_del_literal(CG(active_op_array), opline->op1.constant); in zend_do_early_binding()
1140 zend_del_literal(CG(active_op_array), opline->op2.constant); in zend_do_early_binding()
1147 if (!CG(active_op_array)->function_name) { in zend_mark_function_as_generator()
1151 if (CG(active_op_array)->fn_flags & ZEND_ACC_HAS_RETURN_TYPE) { in zend_mark_function_as_generator()
1153 if (!CG(active_op_array)->arg_info[-1].class_name) { in zend_mark_function_as_generator()
1155 zend_get_type_by_const(CG(active_op_array)->arg_info[-1].type_hint)); in zend_mark_function_as_generator()
1157 if (!(ZSTR_LEN(CG(active_op_array)->arg_info[-1].class_name) == sizeof("Traversable")-1 in zend_mark_function_as_generator()
1158 …&& zend_binary_strcasecmp(ZSTR_VAL(CG(active_op_array)->arg_info[-1].class_name), sizeof("Traversa… in zend_mark_function_as_generator()
1159 !(ZSTR_LEN(CG(active_op_array)->arg_info[-1].class_name) == sizeof("Iterator")-1 in zend_mark_function_as_generator()
1160 …&& zend_binary_strcasecmp(ZSTR_VAL(CG(active_op_array)->arg_info[-1].class_name), sizeof("Iterator… in zend_mark_function_as_generator()
1161 !(ZSTR_LEN(CG(active_op_array)->arg_info[-1].class_name) == sizeof("Generator")-1 in zend_mark_function_as_generator()
1162 …&& zend_binary_strcasecmp(ZSTR_VAL(CG(active_op_array)->arg_info[-1].class_name), sizeof("Generato… in zend_mark_function_as_generator()
1163 … zend_error_noreturn(E_COMPILE_ERROR, msg, ZSTR_VAL(CG(active_op_array)->arg_info[-1].class_name)); in zend_mark_function_as_generator()
1167 CG(active_op_array)->fn_flags |= ZEND_ACC_GENERATOR; in zend_mark_function_as_generator()
1174 zend_bool orig_in_compilation = CG(in_compilation); in zend_do_delayed_early_binding()
1178 CG(in_compilation) = 1; in zend_do_delayed_early_binding()
1186 CG(in_compilation) = orig_in_compilation; in zend_do_delayed_early_binding()
1274 …((c->flags & CONST_PERSISTENT) && !(CG(compiler_options) & ZEND_COMPILE_NO_PERSISTENT_CONSTANT_SUB… in zend_try_ct_eval_const()
1275 …|| (Z_TYPE(c->value) < IS_OBJECT && !(CG(compiler_options) & ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION… in zend_try_ct_eval_const()
1303 if (CG(active_op_array)->fn_flags & ZEND_ACC_CLOSURE) { in zend_is_scope_known()
1308 if (!CG(active_class_entry)) { in zend_is_scope_known()
1311 return CG(active_op_array)->function_name != NULL; in zend_is_scope_known()
1315 return (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT) == 0; in zend_is_scope_known()
1321 if (!CG(active_class_entry)) { in class_name_refers_to_active_ce()
1328 && zend_string_equals_ci(class_name, CG(active_class_entry)->name); in class_name_refers_to_active_ce()
1359 if (fetch_type != ZEND_FETCH_CLASS_DEFAULT && !CG(active_class_entry) && zend_is_scope_known()) { in zend_ensure_valid_class_fetch_type()
1389 if (constant || (CG(active_class_entry) && zend_is_scope_known())) { in zend_try_compile_const_expr_resolve_class_name()
1390 ZVAL_STR_COPY(zv, CG(active_class_entry)->name); in zend_try_compile_const_expr_resolve_class_name()
1420 c = zend_hash_find(&CG(active_class_entry)->constants_table, name); in zend_try_ct_eval_class_const()
1421 …} else if (fetch_type == ZEND_FETCH_CLASS_DEFAULT && !(CG(compiler_options) & ZEND_COMPILE_NO_CONS… in zend_try_ct_eval_class_const()
1422 …zend_class_entry *ce = zend_hash_find_ptr_lc(CG(class_table), ZSTR_VAL(class_name), ZSTR_LEN(class… in zend_try_ct_eval_class_const()
1432 if (CG(compiler_options) & ZEND_COMPILE_NO_PERSISTENT_CONSTANT_SUBSTITUTION) { in zend_try_ct_eval_class_const()
1470 if (!(CG(compiler_options) & ZEND_COMPILE_EXTENDED_INFO)) { in zend_do_extended_info()
1474 opline = get_next_op(CG(active_op_array)); in zend_do_extended_info()
1486 if (!(CG(compiler_options) & ZEND_COMPILE_EXTENDED_INFO)) { in zend_do_extended_fcall_begin()
1490 opline = get_next_op(CG(active_op_array)); in zend_do_extended_fcall_begin()
1502 if (!(CG(compiler_options) & ZEND_COMPILE_EXTENDED_INFO)) { in zend_do_extended_fcall_end()
1506 opline = get_next_op(CG(active_op_array)); in zend_do_extended_fcall_end()
1517 if ((auto_global = zend_hash_str_find_ptr(CG(auto_globals), name, len)) != NULL) { in zend_is_auto_global_str()
1531 if ((auto_global = zend_hash_find_ptr(CG(auto_globals), name)) != NULL) { in zend_is_auto_global()
1550 …retval = zend_hash_add_mem(CG(auto_globals), auto_global.name, &auto_global, sizeof(zend_auto_glob… in zend_register_auto_global()
1561 ZEND_HASH_FOREACH_PTR(CG(auto_globals), auto_global) { in zend_activate_auto_globals()
1579 if (CG(increment_lineno)) { in zendlex()
1580 CG(zend_lineno)++; in zendlex()
1581 CG(increment_lineno) = 0; in zendlex()
1586 start_lineno = CG(zend_lineno); in zendlex()
1601 CG(increment_lineno) = 1; in zendlex()
1625 if (CG(compiler_options) & ZEND_COMPILE_GUARDS) { in zend_initialize_class_data()
1637 int n = zend_hash_num_elements(CG(class_table)); in zend_initialize_class_data()
1639 if (CG(static_members_table) && n >= CG(last_static_member)) { in zend_initialize_class_data()
1641 CG(last_static_member) = n+1; in zend_initialize_class_data()
1642 CG(static_members_table) = realloc(CG(static_members_table), (n+1)*sizeof(zval*)); in zend_initialize_class_data()
1643 CG(static_members_table)[n] = NULL; in zend_initialize_class_data()
1852 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_make_var_result()
1860 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_make_tmp_result()
1867 zend_op *opline = get_next_op(CG(active_op_array)); in zend_emit_op()
1891 zend_op *opline = get_next_op(CG(active_op_array)); in zend_emit_op_tmp()
1919 …if (CG(active_op_array)->last && CG(active_op_array)->opcodes[CG(active_op_array)->last - 1].opcod… in zend_emit_tick()
1923 opline = get_next_op(CG(active_op_array)); in zend_emit_tick()
1940 uint32_t opnum = get_next_op_number(CG(active_op_array)); in zend_emit_jump()
1972 uint32_t opnum = get_next_op_number(CG(active_op_array)); in zend_emit_cond_jump()
1977 && zend_is_smart_branch(CG(active_op_array)->opcodes + opnum - 1)) { in zend_emit_cond_jump()
1980 opnum = get_next_op_number(CG(active_op_array)); in zend_emit_cond_jump()
1990 zend_op *opline = &CG(active_op_array)->opcodes[opnum_jump]; in zend_update_jump_target()
2009 zend_update_jump_target(opnum_jump, get_next_op_number(CG(active_op_array))); in zend_update_jump_target_to_next()
2032 zend_stack_push(&CG(delayed_oplines_stack), &tmp_opline); in zend_delayed_emit_op()
2033 return zend_stack_top(&CG(delayed_oplines_stack)); in zend_delayed_emit_op()
2039 return zend_stack_count(&CG(delayed_oplines_stack)); in zend_delayed_compile_begin()
2045 zend_op *opline = NULL, *oplines = zend_stack_base(&CG(delayed_oplines_stack)); in zend_delayed_compile_end()
2046 uint32_t i, count = zend_stack_count(&CG(delayed_oplines_stack)); in zend_delayed_compile_end()
2050 opline = get_next_op(CG(active_op_array)); in zend_delayed_compile_end()
2053 CG(delayed_oplines_stack).top = offset; in zend_delayed_compile_end()
2064 opline->result.var = expr->u.op.var = get_temporary_variable(CG(active_op_array)); in zend_emit_return_type_check()
2067 opline->op2.num = CG(active_op_array)->cache_size; in zend_emit_return_type_check()
2068 CG(active_op_array)->cache_size += sizeof(void*); in zend_emit_return_type_check()
2080 zend_bool returns_reference = (CG(active_op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) != 0; in zend_emit_final_return()
2082 if (CG(active_op_array)->fn_flags & ZEND_ACC_HAS_RETURN_TYPE) { in zend_emit_final_return()
2083 zend_emit_return_type_check(NULL, CG(active_op_array)->arg_info - 1); in zend_emit_final_return()
2161 CG(active_op_array), Z_STR(class_node->u.constant)); in zend_set_class_name_op1()
2191 opline->op2.constant = zend_add_class_name_literal(CG(active_op_array), in zend_compile_class_ref()
2219 result->u.op.var = lookup_cv(CG(active_op_array), name); in zend_try_compile_cv()
2222 name = CG(active_op_array)->vars[EX_VAR_TO_NUM(result->u.op.var)]; in zend_try_compile_cv()
2225 CG(active_op_array)->this_var = result->u.op.var; in zend_try_compile_cv()
2259 && CG(active_op_array)->scope && CG(active_op_array)->this_var == (uint32_t)-1 in zend_compile_simple_var_no_cv()
2262 CG(active_op_array)->this_var = lookup_cv(CG(active_op_array), key); in zend_compile_simple_var_no_cv()
2434 CG(active_op_array), Z_STR(class_node.u.constant)); in zend_compile_static_prop_common()
2813 opline = get_next_op(CG(active_op_array)); in zend_compile_args()
2867 uint32_t opnum_init = get_next_op_number(CG(active_op_array)) - 1; in zend_compile_call_common()
2875 opline = &CG(active_op_array)->opcodes[opnum_init]; in zend_compile_call_common()
2905 zend_op *opline = get_next_op(CG(active_op_array)); in zend_compile_ns_call()
2910 CG(active_op_array), Z_STR(name_node->u.constant)); in zend_compile_ns_call()
2919 zend_op *opline = get_next_op(CG(active_op_array)); in zend_compile_dynamic_call()
2928 opline->op1.constant = zend_add_class_name_literal(CG(active_op_array), class); in zend_compile_dynamic_call()
2930 opline->op2.constant = zend_add_func_name_literal(CG(active_op_array), method); in zend_compile_dynamic_call()
2937 opline->op2.constant = zend_add_func_name_literal(CG(active_op_array), str); in zend_compile_dynamic_call()
2966 if ((CG(compiler_options) & ZEND_COMPILE_NO_BUILTIN_STRLEN) in zend_compile_func_strlen()
3025 zend_add_literal(CG(active_op_array), &c); in zend_compile_func_defined()
3044 fbc = zend_hash_find_ptr(CG(function_table), lcname); in zend_try_compile_ct_bound_init_user_func()
3046 …|| (fbc->type == ZEND_INTERNAL_FUNCTION && (CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_FU… in zend_try_compile_ct_bound_init_user_func()
3047 …|| (fbc->type == ZEND_USER_FUNCTION && (CG(compiler_options) & ZEND_COMPILE_IGNORE_USER_FUNCTIONS)) in zend_try_compile_ct_bound_init_user_func()
3154 uint32_t check_op_number = get_next_op_number(CG(active_op_array)); in zend_compile_assert()
3167 CG(active_op_array), name); in zend_compile_assert()
3182CG(active_op_array)->opcodes[check_op_number].op2.opline_num = get_next_op_number(CG(active_op_arr… in zend_compile_assert()
3207 if (CG(compiler_options) & ZEND_COMPILE_NO_BUILTINS) { in zend_try_compile_special_func()
3280 fbc = zend_hash_find_ptr(CG(function_table), lcname); in zend_compile_call()
3282 …|| (fbc->type == ZEND_INTERNAL_FUNCTION && (CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_FU… in zend_compile_call()
3283 …|| (fbc->type == ZEND_USER_FUNCTION && (CG(compiler_options) & ZEND_COMPILE_IGNORE_USER_FUNCTIONS)) in zend_compile_call()
3333 opline->op2.constant = zend_add_func_name_literal(CG(active_op_array), in zend_compile_method_call()
3380 opline = get_next_op(CG(active_op_array)); in zend_compile_static_call()
3388 opline->op2.constant = zend_add_func_name_literal(CG(active_op_array), in zend_compile_static_call()
3418 uint32_t dcl_opnum = get_next_op_number(CG(active_op_array)); in zend_compile_new()
3421 opline = &CG(active_op_array)->opcodes[dcl_opnum]; in zend_compile_new()
3427 opline->op1.opline_num = get_next_op_number(CG(active_op_array)); in zend_compile_new()
3432 opnum = get_next_op_number(CG(active_op_array)); in zend_compile_new()
3438 CG(active_op_array), Z_STR(class_node.u.constant)); in zend_compile_new()
3447 opline = &CG(active_op_array)->opcodes[opnum]; in zend_compile_new()
3448 opline->op2.opline_num = get_next_op_number(CG(active_op_array)); in zend_compile_new()
3496 if (!CG(active_op_array)->static_variables) { in zend_compile_static_var_common()
3497 if (CG(active_op_array)->scope) { in zend_compile_static_var_common()
3498 CG(active_op_array)->scope->ce_flags |= ZEND_HAS_STATIC_IN_METHODS; in zend_compile_static_var_common()
3500 ALLOC_HASHTABLE(CG(active_op_array)->static_variables); in zend_compile_static_var_common()
3501 zend_hash_init(CG(active_op_array)->static_variables, 8, NULL, ZVAL_PTR_DTOR, 0); in zend_compile_static_var_common()
3504 if (GC_REFCOUNT(CG(active_op_array)->static_variables) > 1) { in zend_compile_static_var_common()
3505 if (!(GC_FLAGS(CG(active_op_array)->static_variables) & IS_ARRAY_IMMUTABLE)) { in zend_compile_static_var_common()
3506 GC_REFCOUNT(CG(active_op_array)->static_variables)--; in zend_compile_static_var_common()
3508 CG(active_op_array)->static_variables = zend_array_dup(CG(active_op_array)->static_variables); in zend_compile_static_var_common()
3510 zend_hash_update(CG(active_op_array)->static_variables, Z_STR(var_node.u.constant), value); in zend_compile_static_var_common()
3579 zend_loop_var *loop_var = zend_stack_top(&CG(loop_var_stack)); in zend_handle_loops_and_finally_ex()
3584 base = zend_stack_base(&CG(loop_var_stack)); in zend_handle_loops_and_finally_ex()
3587 zend_op *opline = get_next_op(CG(active_op_array)); in zend_handle_loops_and_finally_ex()
3607 opline = get_next_op(CG(active_op_array)); in zend_handle_loops_and_finally_ex()
3623 return zend_handle_loops_and_finally_ex(zend_stack_count(&CG(loop_var_stack)) + 1); in zend_handle_loops_and_finally()
3630 zend_bool by_ref = (CG(active_op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) != 0; in zend_compile_return()
3644 if (CG(context).in_finally) { in zend_compile_return()
3647 opline->op1.var = CG(context).fast_call_var; in zend_compile_return()
3651 …if (!(CG(active_op_array)->fn_flags & ZEND_ACC_GENERATOR) && CG(active_op_array)->fn_flags & ZEND_… in zend_compile_return()
3652 zend_emit_return_type_check(expr_ast ? &expr_node : NULL, CG(active_op_array)->arg_info - 1); in zend_compile_return()
3721 if (CG(context).current_brk_cont == -1) { in zend_compile_break_continue()
3732 opline->op1.num = CG(context).current_brk_cont; in zend_compile_break_continue()
3745 if (CG(context).labels == NULL || in zend_resolve_goto_label()
3746 (dest = zend_hash_find_ptr(CG(context).labels, Z_STR_P(label))) == NULL in zend_resolve_goto_label()
3748 CG(in_compilation) = 1; in zend_resolve_goto_label()
3749 CG(active_op_array) = op_array; in zend_resolve_goto_label()
3750 CG(zend_lineno) = opline->lineno; in zend_resolve_goto_label()
3760 CG(in_compilation) = 1; in zend_resolve_goto_label()
3761 CG(active_op_array) = op_array; in zend_resolve_goto_label()
3762 CG(zend_lineno) = opline->lineno; in zend_resolve_goto_label()
3803 uint32_t opnum_start = get_next_op_number(CG(active_op_array)); in zend_compile_goto()
3810 opline->op1.num = get_next_op_number(CG(active_op_array)) - opnum_start - 1; in zend_compile_goto()
3811 opline->extended_value = CG(context).current_brk_cont; in zend_compile_goto()
3820 if (!CG(context).labels) { in zend_compile_label()
3821 ALLOC_HASHTABLE(CG(context).labels); in zend_compile_label()
3822 zend_hash_init(CG(context).labels, 8, NULL, label_ptr_dtor, 0); in zend_compile_label()
3825 dest.brk_cont = CG(context).current_brk_cont; in zend_compile_label()
3826 dest.opline_num = get_next_op_number(CG(active_op_array)); in zend_compile_label()
3828 if (!zend_hash_add_mem(CG(context).labels, label, &dest, sizeof(zend_label))) { in zend_compile_label()
3845 opnum_start = get_next_op_number(CG(active_op_array)); in zend_compile_while()
3848 opnum_cond = get_next_op_number(CG(active_op_array)); in zend_compile_while()
3868 opnum_start = get_next_op_number(CG(active_op_array)); in zend_compile_do_while()
3871 opnum_cond = get_next_op_number(CG(active_op_array)); in zend_compile_do_while()
3919 opnum_start = get_next_op_number(CG(active_op_array)); in zend_compile_for()
3922 opnum_loop = get_next_op_number(CG(active_op_array)); in zend_compile_for()
3973 opnum_reset = get_next_op_number(CG(active_op_array)); in zend_compile_foreach()
3976 opnum_fetch = get_next_op_number(CG(active_op_array)); in zend_compile_foreach()
3984 opline->op2.var = get_temporary_variable(CG(active_op_array)); in zend_compile_foreach()
3994 opline = &CG(active_op_array)->opcodes[opnum_fetch]; in zend_compile_foreach()
4005 opline = &CG(active_op_array)->opcodes[opnum_reset]; in zend_compile_foreach()
4006 opline->op2.opline_num = get_next_op_number(CG(active_op_array)); in zend_compile_foreach()
4008 opline = &CG(active_op_array)->opcodes[opnum_fetch]; in zend_compile_foreach()
4009 opline->extended_value = get_next_op_number(CG(active_op_array)); in zend_compile_foreach()
4085 zend_end_loop(get_next_op_number(CG(active_op_array))); in zend_compile_switch()
4092 case_node.u.op.var = get_temporary_variable(CG(active_op_array)); in zend_compile_switch()
4102 CG(zend_lineno) = case_ast->lineno; in zend_compile_switch()
4149 zend_end_loop(get_next_op_number(CG(active_op_array))); in zend_compile_switch()
4177 if (CG(context).labels) { in zend_compile_try()
4179 ZEND_HASH_REVERSE_FOREACH_PTR(CG(context).labels, label) { in zend_compile_try()
4180 if (label->opline_num == get_next_op_number(CG(active_op_array))) { in zend_compile_try()
4187 try_catch_offset = zend_add_try_element(get_next_op_number(CG(active_op_array))); in zend_compile_try()
4191 if (!(CG(active_op_array)->fn_flags & ZEND_ACC_HAS_FINALLY_BLOCK)) { in zend_compile_try()
4192 CG(active_op_array)->fn_flags |= ZEND_ACC_HAS_FINALLY_BLOCK; in zend_compile_try()
4193 CG(context).fast_call_var = get_temporary_variable(CG(active_op_array)); in zend_compile_try()
4199 fast_call.var_num = CG(context).fast_call_var; in zend_compile_try()
4201 zend_stack_push(&CG(loop_var_stack), &fast_call); in zend_compile_try()
4224 opnum_catch = get_next_op_number(CG(active_op_array)); in zend_compile_try()
4226 CG(active_op_array)->try_catch_array[try_catch_offset].catch_op = opnum_catch; in zend_compile_try()
4229 CG(zend_lineno) = catch_ast->lineno; in zend_compile_try()
4231 opline = get_next_op(CG(active_op_array)); in zend_compile_try()
4234 opline->op1.constant = zend_add_class_name_literal(CG(active_op_array), in zend_compile_try()
4238 opline->op2.var = lookup_cv(CG(active_op_array), zend_string_copy(Z_STR_P(var_name))); in zend_compile_try()
4247 opline = &CG(active_op_array)->opcodes[opnum_catch]; in zend_compile_try()
4248 opline->extended_value = get_next_op_number(CG(active_op_array)); in zend_compile_try()
4256 uint32_t opnum_jmp = get_next_op_number(CG(active_op_array)) + 1; in zend_compile_try()
4259 zend_stack_del_top(&CG(loop_var_stack)); in zend_compile_try()
4261 CG(zend_lineno) = finally_ast->lineno; in zend_compile_try()
4266 opline->result.var = CG(context).fast_call_var; in zend_compile_try()
4270 CG(context).in_finally++; in zend_compile_try()
4272 CG(context).in_finally--; in zend_compile_try()
4274 CG(active_op_array)->try_catch_array[try_catch_offset].finally_op = opnum_jmp + 1; in zend_compile_try()
4275 CG(active_op_array)->try_catch_array[try_catch_offset].finally_end in zend_compile_try()
4276 = get_next_op_number(CG(active_op_array)); in zend_compile_try()
4280 opline->op1.var = CG(context).fast_call_var; in zend_compile_try()
4305 if (CG(multibyte)) { in zend_handle_encoding_declaration()
4311 CG(encoding_declared) = 1; in zend_handle_encoding_declaration()
4341 zend_ast_list *file_ast = zend_ast_get_list(CG(ast)); in zend_declare_is_first_statement()
4408 CG(active_op_array)->fn_flags |= ZEND_ACC_STRICT_TYPES; in zend_compile_declare()
4495 zend_op_array *op_array = CG(active_op_array); in zend_compile_params()
4539 var_node.u.op.var = lookup_cv(CG(active_op_array), zend_string_copy(name)); in zend_compile_params()
4567 uint32_t cops = CG(compiler_options); in zend_compile_params()
4568CG(compiler_options) |= ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION | ZEND_COMPILE_NO_PERSISTENT_CONSTAN… in zend_compile_params()
4572 CG(compiler_options) = cops; in zend_compile_params()
4702 zend_class_entry *ce = CG(active_class_entry); in zend_begin_method_decl()
4899 opline = get_next_op(CG(active_op_array)); in zend_begin_func_decl()
4911 zend_hash_update_ptr(CG(function_table), key, op_array); in zend_begin_func_decl()
4927 zend_op_array *orig_op_array = CG(active_op_array); in zend_compile_func_decl()
4928 zend_op_array *op_array = zend_arena_alloc(&CG(arena), sizeof(zend_op_array)); in zend_compile_func_decl()
4951 CG(active_op_array) = op_array; in zend_compile_func_decl()
4955 if (CG(compiler_options) & ZEND_COMPILE_EXTENDED_INFO) { in zend_compile_func_decl()
4965 zend_stack_push(&CG(loop_var_stack), (void *) &dummy_var); in zend_compile_func_decl()
4976 CG(active_class_entry), (zend_function *) op_array, E_COMPILE_ERROR); in zend_compile_func_decl()
4980 CG(zend_lineno) = decl->end_lineno; in zend_compile_func_decl()
4985 pass_two(CG(active_op_array)); in zend_compile_func_decl()
4989 zend_stack_del_top(&CG(loop_var_stack)); in zend_compile_func_decl()
4991 CG(active_op_array) = orig_op_array; in zend_compile_func_decl()
4999 zend_class_entry *ce = CG(active_class_entry); in zend_compile_prop_decl()
5050 zend_class_entry *ce = CG(active_class_entry); in zend_compile_class_const_decl()
5131 zend_add_to_list(&CG(active_class_entry)->trait_precedences, precedence); in zend_compile_trait_precedence()
5161 zend_add_to_list(&CG(active_class_entry)->trait_aliases, alias); in zend_compile_trait_alias()
5169 zend_class_entry *ce = CG(active_class_entry); in zend_compile_use_trait()
5191 opline = get_next_op(CG(active_op_array)); in zend_compile_use_trait()
5195 opline->op2.constant = zend_add_class_name_literal(CG(active_op_array), in zend_compile_use_trait()
5237 opline->op2.constant = zend_add_class_name_literal(CG(active_op_array), in zend_compile_implements()
5240 CG(active_class_entry)->num_interfaces++; in zend_compile_implements()
5250 zend_string *filename = CG(active_op_array)->filename; in zend_generate_anon_class_name()
5266 zend_class_entry *ce = zend_arena_alloc(&CG(arena), sizeof(zend_class_entry)); in zend_compile_class_decl()
5270 zend_class_entry *original_ce = CG(active_class_entry); in zend_compile_class_decl()
5276 if (CG(active_class_entry)) { in zend_compile_class_decl()
5328 opline = get_next_op(CG(active_op_array)); in zend_compile_class_decl()
5347 if (!zend_hash_exists(CG(class_table), lcname)) { in zend_compile_class_decl()
5348 zend_hash_add_ptr(CG(class_table), lcname, ce); in zend_compile_class_decl()
5371 zend_hash_update_ptr(CG(class_table), key, ce); in zend_compile_class_decl()
5374 CG(active_class_entry) = ce; in zend_compile_class_decl()
5379 CG(zend_lineno) = ast->lineno; in zend_compile_class_decl()
5456 CG(active_class_entry) = original_ce; in zend_compile_class_decl()
5520 zend_class_entry *ce = zend_hash_find_ptr(CG(class_table), lookup_name); in zend_check_use_conflict()
5522 && ce->info.user.filename == CG(compiled_filename) in zend_check_use_conflict()
5530 zend_function *fn = zend_hash_find_ptr(CG(function_table), lookup_name); in zend_check_use_conflict()
5532 && fn->op_array.filename == CG(compiled_filename) in zend_check_use_conflict()
5540 zend_string *filename = zend_hash_find_ptr(&CG(const_filenames), lookup_name); in zend_check_use_conflict()
5541 if (filename && filename == CG(compiled_filename)) { in zend_check_use_conflict()
5683 zend_hash_add_ptr(&CG(const_filenames), name, CG(compiled_filename)); in zend_compile_const_decl()
5715 || (with_bracket && !FC(has_bracketed_namespaces))) && CG(active_op_array)->last > 0 in zend_compile_namespace()
5718 uint32_t num = CG(active_op_array)->last; in zend_compile_namespace()
5720 (CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT || in zend_compile_namespace()
5721 CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) { in zend_compile_namespace()
5784 zend_op_array *op_array = CG(active_op_array); in zend_try_ct_eval_magic_const()
5785 zend_class_entry *ce = CG(active_class_entry); in zend_try_ct_eval_magic_const()
5792 ZVAL_STR_COPY(zv, CG(compiled_filename)); in zend_try_ct_eval_magic_const()
5796 zend_string *filename = CG(compiled_filename); in zend_try_ct_eval_magic_const()
6146 opnum_jmpz = get_next_op_number(CG(active_op_array)); in zend_compile_short_circuiting()
6153 opline_jmpz->result.var = get_temporary_variable(CG(active_op_array)); in zend_compile_short_circuiting()
6232 opnum_jmp_set = get_next_op_number(CG(active_op_array)); in zend_compile_shorthand_conditional()
6291 opnum = get_next_op_number(CG(active_op_array)); in zend_compile_coalesce()
6299 opline = &CG(active_op_array)->opcodes[opnum]; in zend_compile_coalesce()
6300 opline->op2.opline_num = get_next_op_number(CG(active_op_array)); in zend_compile_coalesce()
6345 zend_bool returns_by_ref = (CG(active_op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) != 0; in zend_compile_yield()
6378 if (CG(active_op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { in zend_compile_yield_from()
6415 CG(active_op_array), Z_STR(class_node.u.constant)); in zend_compile_instanceof()
6497 begin_opline_num = get_next_op_number(CG(active_op_array)); in zend_compile_silence()
6508 end_opline_num = get_next_op_number(CG(active_op_array)); in zend_compile_silence()
6513 brk_cont_element = get_next_brk_cont_element(CG(active_op_array)); in zend_compile_silence()
6572 opnum_init = get_next_op_number(CG(active_op_array)); in zend_compile_array()
6595 opline = &CG(active_op_array)->opcodes[opnum_init]; in zend_compile_array()
6612 zend_ast *last = CG(ast); in zend_compile_const()
6637 CG(active_op_array), resolved_name, 0); in zend_compile_const()
6643 CG(active_op_array), resolved_name, 1); in zend_compile_const()
6646 CG(active_op_array), resolved_name, 0); in zend_compile_const()
6723 if (CG(active_class_entry) && zend_is_scope_known()) { in zend_compile_resolve_class_name()
6725 ZVAL_STR_COPY(&result->u.constant, CG(active_class_entry)->name); in zend_compile_resolve_class_name()
6749 zend_op *opline = get_next_op(CG(active_op_array)); in zend_compile_rope_add()
6797 rope_init_lineno = get_next_op_number(CG(active_op_array)); in zend_compile_encaps_list()
6819 init_opline = CG(active_op_array)->opcodes + rope_init_lineno; in zend_compile_encaps_list()
6830 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_compile_encaps_list()
6840 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_compile_encaps_list()
6845 zend_brk_cont_element *info = get_next_brk_cont_element(CG(active_op_array)); in zend_compile_encaps_list()
6847 info->parent = CG(context).current_brk_cont; in zend_compile_encaps_list()
6848 info->cont = info->brk = opline - CG(active_op_array)->opcodes; in zend_compile_encaps_list()
6852 opline->result.var = get_temporary_variable(CG(active_op_array)); in zend_compile_encaps_list()
6853 var = opline->op1.var = get_temporary_variable(CG(active_op_array)); in zend_compile_encaps_list()
6859 get_temporary_variable(CG(active_op_array)); in zend_compile_encaps_list()
6888 CG(active_class_entry) && in zend_compile_magic_const()
6889 (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT) != 0); in zend_compile_magic_const()
6991 CG(active_class_entry) && in zend_compile_const_expr_magic_const()
6992 (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT) != 0); in zend_compile_const_expr_magic_const()
7075 CG(zend_lineno) = ((zend_ast_decl *) ast)->end_lineno; in zend_compile_top_stmt()
7087 CG(zend_lineno) = ast->lineno; in zend_compile_stmt()
7089 if ((CG(compiler_options) & ZEND_COMPILE_EXTENDED_INFO) && !zend_is_unticked_stmt(ast)) { in zend_compile_stmt()
7197 CG(zend_lineno) = zend_ast_get_lineno(ast); in zend_compile_expr()
7320 CG(zend_lineno) = zend_ast_get_lineno(ast); in zend_compile_var()
7564 if (CG(one_char_string)[c]) { in zend_eval_const_expr()
7565 ZVAL_INTERNED_STR(&result, CG(one_char_string)[c]); in zend_eval_const_expr()