Lines Matching refs:op_array

68 	zend_op_array *op_array = CG(active_op_array);  in zend_alloc_cache_slot()  local
69 Z_CACHE_SLOT(op_array->literals[literal]) = op_array->cache_size; in zend_alloc_cache_slot()
70 op_array->cache_size += sizeof(void*); in zend_alloc_cache_slot()
76 zend_op_array *op_array = CG(active_op_array); in zend_alloc_polymorphic_cache_slot() local
77 Z_CACHE_SLOT(op_array->literals[literal]) = op_array->cache_size; in zend_alloc_polymorphic_cache_slot()
78 op_array->cache_size += POLYMORPHIC_CACHE_SLOT_SIZE * sizeof(void*); in zend_alloc_polymorphic_cache_slot()
399 static uint32_t get_temporary_variable(zend_op_array *op_array) /* {{{ */ in get_temporary_variable() argument
401 return (uint32_t)op_array->T++; in get_temporary_variable()
405 static int lookup_cv(zend_op_array *op_array, zend_string* name) /* {{{ */{ in lookup_cv() argument
409 while (i < op_array->last_var) { in lookup_cv()
410 if (ZSTR_VAL(op_array->vars[i]) == ZSTR_VAL(name) || in lookup_cv()
411 (ZSTR_H(op_array->vars[i]) == hash_value && in lookup_cv()
412 ZSTR_LEN(op_array->vars[i]) == ZSTR_LEN(name) && in lookup_cv()
413 memcmp(ZSTR_VAL(op_array->vars[i]), ZSTR_VAL(name), ZSTR_LEN(name)) == 0)) { in lookup_cv()
419 i = op_array->last_var; in lookup_cv()
420 op_array->last_var++; in lookup_cv()
421 if (op_array->last_var > CG(context).vars_size) { in lookup_cv()
423 op_array->vars = erealloc(op_array->vars, CG(context).vars_size * sizeof(zend_string*)); in lookup_cv()
426 op_array->vars[i] = zend_new_interned_string(name); in lookup_cv()
431 void zend_del_literal(zend_op_array *op_array, int n) /* {{{ */ in zend_del_literal() argument
433 zval_dtor(CT_CONSTANT_EX(op_array, n)); in zend_del_literal()
434 if (n + 1 == op_array->last_literal) { in zend_del_literal()
435 op_array->last_literal--; in zend_del_literal()
437 ZVAL_UNDEF(CT_CONSTANT_EX(op_array, n)); in zend_del_literal()
443 static inline void zend_insert_literal(zend_op_array *op_array, zval *zv, int literal_position) /* … in zend_insert_literal() argument
452 ZVAL_COPY_VALUE(CT_CONSTANT_EX(op_array, literal_position), zv); in zend_insert_literal()
453 Z_CACHE_SLOT(op_array->literals[literal_position]) = -1; in zend_insert_literal()
460 int zend_add_literal(zend_op_array *op_array, zval *zv) /* {{{ */ in zend_add_literal() argument
462 int i = op_array->last_literal; in zend_add_literal()
463 op_array->last_literal++; in zend_add_literal()
468op_array->literals = (zval*)erealloc(op_array->literals, CG(context).literals_size * sizeof(zval)); in zend_add_literal()
470 zend_insert_literal(op_array, zv, i); in zend_add_literal()
475 static inline int zend_add_literal_string(zend_op_array *op_array, zend_string **str) /* {{{ */ in zend_add_literal_string() argument
480 ret = zend_add_literal(op_array, &zv); in zend_add_literal_string()
486 static int zend_add_func_name_literal(zend_op_array *op_array, zend_string *name) /* {{{ */ in zend_add_func_name_literal() argument
489 int ret = zend_add_literal_string(op_array, &name); in zend_add_func_name_literal()
493 zend_add_literal_string(op_array, &lc_name); in zend_add_func_name_literal()
499 static int zend_add_ns_func_name_literal(zend_op_array *op_array, zend_string *name) /* {{{ */ in zend_add_ns_func_name_literal() argument
505 int ret = zend_add_literal_string(op_array, &name); in zend_add_ns_func_name_literal()
509 zend_add_literal_string(op_array, &lc_name); in zend_add_ns_func_name_literal()
515 zend_add_literal_string(op_array, &lc_name); in zend_add_ns_func_name_literal()
522 static int zend_add_class_name_literal(zend_op_array *op_array, zend_string *name) /* {{{ */ in zend_add_class_name_literal() argument
525 int ret = zend_add_literal_string(op_array, &name); in zend_add_class_name_literal()
529 zend_add_literal_string(op_array, &lc_name); in zend_add_class_name_literal()
537 static int zend_add_const_name_literal(zend_op_array *op_array, zend_string *name, zend_bool unqual… in zend_add_const_name_literal() argument
541 int ret = zend_add_literal_string(op_array, &name); in zend_add_const_name_literal()
553 zend_add_literal_string(op_array, &tmp_name); in zend_add_const_name_literal()
557 zend_add_literal_string(op_array, &tmp_name); in zend_add_const_name_literal()
568 zend_add_literal_string(op_array, &tmp_name); in zend_add_const_name_literal()
573 zend_add_literal_string(op_array, &tmp_name); in zend_add_const_name_literal()
594 static uint32_t zend_start_live_range(zend_op_array *op_array, uint32_t start) /* {{{ */ in zend_start_live_range() argument
598 op_array->last_live_range++; in zend_start_live_range()
599op_array->live_range = erealloc(op_array->live_range, sizeof(zend_live_range) * op_array->last_liv… in zend_start_live_range()
600 range = op_array->live_range + op_array->last_live_range - 1; in zend_start_live_range()
602 return op_array->last_live_range - 1; in zend_start_live_range()
606 static uint32_t zend_start_live_range_ex(zend_op_array *op_array, uint32_t start) /* {{{ */ in zend_start_live_range_ex() argument
608 if (op_array->last_live_range == 0 || in zend_start_live_range_ex()
609 op_array->live_range[op_array->last_live_range - 1].start <= start) { in zend_start_live_range_ex()
610 return zend_start_live_range(op_array, start); in zend_start_live_range_ex()
613 uint32_t n = op_array->last_live_range; in zend_start_live_range_ex()
616 op_array->last_live_range = n + 1; in zend_start_live_range_ex()
617op_array->live_range = erealloc(op_array->live_range, sizeof(zend_live_range) * op_array->last_liv… in zend_start_live_range_ex()
619 op_array->live_range[n] = op_array->live_range[n-1]; in zend_start_live_range_ex()
621 } while (n != 0 && op_array->live_range[n-1].start > start); in zend_start_live_range_ex()
624 op_array->live_range[n].start = start; in zend_start_live_range_ex()
649 zend_op *opline = op_array->opcodes + op_array->live_range[n+1].start; in zend_start_live_range_ex()
650 zend_op *end = op_array->opcodes + op_array->last; in zend_start_live_range_ex()
668 static void zend_end_live_range(zend_op_array *op_array, uint32_t offset, uint32_t end, uint32_t ki… in zend_end_live_range() argument
670 zend_live_range *range = op_array->live_range + offset; in zend_end_live_range()
672 if (range->start == end && offset == (uint32_t)op_array->last_live_range - 1) { in zend_end_live_range()
673 op_array->last_live_range--; in zend_end_live_range()
1019 zend_op_array *op_array = CG(active_op_array); in zend_add_try_element() local
1020 uint32_t try_catch_offset = op_array->last_try_catch++; in zend_add_try_element()
1023 op_array->try_catch_array = safe_erealloc( in zend_add_try_element()
1024 op_array->try_catch_array, sizeof(zend_try_catch_element), op_array->last_try_catch, 0); in zend_add_try_element()
1026 elem = &op_array->try_catch_array[try_catch_offset]; in zend_add_try_element()
1039 zend_op_array *op_array = &function->op_array; in function_add_ref() local
1041 if (op_array->refcount) { in function_add_ref()
1042 (*op_array->refcount)++; in function_add_ref()
1044 if (op_array->static_variables) { in function_add_ref()
1045 if (!(GC_FLAGS(op_array->static_variables) & IS_ARRAY_IMMUTABLE)) { in function_add_ref()
1046 GC_REFCOUNT(op_array->static_variables)++; in function_add_ref()
1049 op_array->run_time_cache = NULL; in function_add_ref()
1058 ZEND_API int do_bind_function(const zend_op_array *op_array, const zend_op *opline, HashTable *func… in do_bind_function() argument
1064 lcname = CT_CONSTANT_EX(op_array, opline->op1.constant); in do_bind_function()
1067 lcname = RT_CONSTANT(op_array, opline->op1); in do_bind_function()
1080 && old_function->op_array.last > 0) { in do_bind_function()
1083 ZSTR_VAL(old_function->op_array.filename), in do_bind_function()
1084 old_function->op_array.opcodes[0].lineno); in do_bind_function()
1090 if (function->op_array.refcount) { in do_bind_function()
1091 (*function->op_array.refcount)++; in do_bind_function()
1093 function->op_array.static_variables = NULL; /* NULL out the unbound function */ in do_bind_function()
1099 ZEND_API zend_class_entry *do_bind_class(const zend_op_array* op_array, const zend_op *opline, Hash… in do_bind_class() argument
1105 lcname = CT_CONSTANT_EX(op_array, opline->op1.constant); in do_bind_class()
1108 lcname = RT_CONSTANT(op_array, opline->op1); in do_bind_class()
1134 ZEND_API zend_class_entry *do_bind_inherited_class(const zend_op_array *op_array, const zend_op *op… in do_bind_inherited_class() argument
1140 lcname = CT_CONSTANT_EX(op_array, opline->op1.constant); in do_bind_inherited_class()
1143 lcname = RT_CONSTANT(op_array, opline->op1); in do_bind_inherited_class()
1280 ZEND_API void zend_do_delayed_early_binding(const zend_op_array *op_array) /* {{{ */ in zend_do_delayed_early_binding() argument
1282 if (op_array->early_binding != (uint32_t)-1) { in zend_do_delayed_early_binding()
1284 uint32_t opline_num = op_array->early_binding; in zend_do_delayed_early_binding()
1289 zval *parent_name = RT_CONSTANT(op_array, op_array->opcodes[opline_num-1].op2); in zend_do_delayed_early_binding()
1291 do_bind_inherited_class(op_array, &op_array->opcodes[opline_num], EG(class_table), ce, 0); in zend_do_delayed_early_binding()
1293 opline_num = op_array->opcodes[opline_num].result.opline_num; in zend_do_delayed_early_binding()
1808 ZEND_API zend_string *zend_get_compiled_variable_name(const zend_op_array *op_array, uint32_t var) … in zend_get_compiled_variable_name() argument
1810 return op_array->vars[EX_VAR_TO_NUM(var)]; in zend_get_compiled_variable_name()
4302 void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline) /* {{{ */ in zend_resolve_goto_label() argument
4307 uint32_t opnum = opline - op_array->opcodes; in zend_resolve_goto_label()
4309 label = CT_CONSTANT_EX(op_array, opline->op2.constant); in zend_resolve_goto_label()
4314 CG(active_op_array) = op_array; in zend_resolve_goto_label()
4326 CG(active_op_array) = op_array; in zend_resolve_goto_label()
4335 for (current = 0; current < op_array->last_try_catch; ++current) { in zend_resolve_goto_label()
4336 zend_try_catch_element *elem = &op_array->try_catch_array[current]; in zend_resolve_goto_label()
5095 zend_op_array *op_array = CG(active_op_array); in zend_compile_params() local
5102 arg_infos->pass_by_reference = (op_array->fn_flags & ZEND_ACC_RETURN_REFERENCE) != 0; in zend_compile_params()
5120 op_array->fn_flags |= ZEND_ACC_HAS_RETURN_TYPE; in zend_compile_params()
5157 if (op_array->fn_flags & ZEND_ACC_VARIADIC) { in zend_compile_params()
5164 op_array->fn_flags |= ZEND_ACC_VARIADIC; in zend_compile_params()
5181 op_array->required_num_args = i + 1; in zend_compile_params()
5203 op_array->fn_flags |= ZEND_ACC_HAS_TYPE_HINTS; in zend_compile_params()
5264 Z_CACHE_SLOT(op_array->literals[opline->op2.constant]) = -1; in zend_compile_params()
5268 opline->op2.num = op_array->cache_size; in zend_compile_params()
5269 op_array->cache_size += sizeof(void*); in zend_compile_params()
5276 Z_CACHE_SLOT(op_array->literals[opline->op2.constant]) = -1; in zend_compile_params()
5284 op_array->num_args = list->children; in zend_compile_params()
5285 op_array->arg_info = arg_infos; in zend_compile_params()
5288 if (op_array->fn_flags & ZEND_ACC_VARIADIC) { in zend_compile_params()
5289 op_array->num_args--; in zend_compile_params()
5291 zend_set_function_arg_flags((zend_function*)op_array); in zend_compile_params()
5324 zend_op_array *op_array = CG(active_op_array); in zend_compile_closure_uses() local
5335 if (op_array->static_variables in zend_compile_closure_uses()
5336 && zend_hash_exists(op_array->static_variables, var_name)) { in zend_compile_closure_uses()
5343 for (i = 0; i < op_array->last_var; i++) { in zend_compile_closure_uses()
5344 if (zend_string_equals(op_array->vars[i], var_name)) { in zend_compile_closure_uses()
5356 void zend_begin_method_decl(zend_op_array *op_array, zend_string *name, zend_bool has_body) /* {{{ … in zend_begin_method_decl() argument
5361 zend_bool is_public = (op_array->fn_flags & ZEND_ACC_PUBLIC) != 0; in zend_begin_method_decl()
5362 zend_bool is_static = (op_array->fn_flags & ZEND_ACC_STATIC) != 0; in zend_begin_method_decl()
5367 if (!is_public || (op_array->fn_flags & (ZEND_ACC_FINAL|ZEND_ACC_ABSTRACT))) { in zend_begin_method_decl()
5371 op_array->fn_flags |= ZEND_ACC_ABSTRACT; in zend_begin_method_decl()
5374 if (op_array->fn_flags & ZEND_ACC_ABSTRACT) { in zend_begin_method_decl()
5375 if (op_array->fn_flags & ZEND_ACC_PRIVATE) { in zend_begin_method_decl()
5391 op_array->scope = ce; in zend_begin_method_decl()
5392 op_array->function_name = zend_string_copy(name); in zend_begin_method_decl()
5397 if (zend_hash_add_ptr(&ce->function_table, lcname, op_array) == NULL) { in zend_begin_method_decl()
5452 ce->constructor = (zend_function *) op_array; in zend_begin_method_decl()
5455 ce->constructor = (zend_function *) op_array; in zend_begin_method_decl()
5457 ce->destructor = (zend_function *) op_array; in zend_begin_method_decl()
5459 ce->clone = (zend_function *) op_array; in zend_begin_method_decl()
5465 ce->__call = (zend_function *) op_array; in zend_begin_method_decl()
5471 ce->__callstatic = (zend_function *) op_array; in zend_begin_method_decl()
5477 ce->__get = (zend_function *) op_array; in zend_begin_method_decl()
5484 ce->__set = (zend_function *) op_array; in zend_begin_method_decl()
5491 ce->__unset = (zend_function *) op_array; in zend_begin_method_decl()
5498 ce->__isset = (zend_function *) op_array; in zend_begin_method_decl()
5505 ce->__tostring = (zend_function *) op_array; in zend_begin_method_decl()
5516 ce->__debugInfo = (zend_function *) op_array; in zend_begin_method_decl()
5518 op_array->fn_flags |= ZEND_ACC_ALLOW_STATIC; in zend_begin_method_decl()
5526 static void zend_begin_func_decl(znode *result, zend_op_array *op_array, zend_ast_decl *decl) /* {{… in zend_begin_func_decl() argument
5533 op_array->function_name = name = zend_prefix_with_ns(unqualified_name); in zend_begin_func_decl()
5553 zend_hash_update_ptr(CG(function_table), key, op_array); in zend_begin_func_decl()
5555 if (op_array->fn_flags & ZEND_ACC_CLOSURE) { in zend_begin_func_decl()
5583 zend_op_array *op_array = zend_arena_alloc(&CG(arena), sizeof(zend_op_array)); in zend_compile_func_decl() local
5586 init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE); in zend_compile_func_decl()
5588 op_array->fn_flags |= (orig_op_array->fn_flags & ZEND_ACC_STRICT_TYPES); in zend_compile_func_decl()
5589 op_array->fn_flags |= decl->flags; in zend_compile_func_decl()
5590 op_array->line_start = decl->start_lineno; in zend_compile_func_decl()
5591 op_array->line_end = decl->end_lineno; in zend_compile_func_decl()
5593 op_array->doc_comment = zend_string_copy(decl->doc_comment); in zend_compile_func_decl()
5596 op_array->fn_flags |= ZEND_ACC_CLOSURE; in zend_compile_func_decl()
5601 zend_begin_method_decl(op_array, decl->name, has_body); in zend_compile_func_decl()
5603 zend_begin_func_decl(result, op_array, decl); in zend_compile_func_decl()
5609 CG(active_op_array) = op_array; in zend_compile_func_decl()
5638 CG(active_class_entry), (zend_function *) op_array, E_COMPILE_ERROR); in zend_compile_func_decl()
6192 && fn->op_array.filename == CG(compiled_filename) in zend_check_use_conflict()
6444 zend_op_array *op_array = CG(active_op_array); in zend_try_ct_eval_magic_const() local
6478 if (op_array && op_array->function_name) { in zend_try_ct_eval_magic_const()
6479 ZVAL_STR_COPY(zv, op_array->function_name); in zend_try_ct_eval_magic_const()
6485 …if ((op_array && !op_array->scope && op_array->function_name) || (op_array->fn_flags & ZEND_ACC_CL… in zend_try_ct_eval_magic_const()
6486 ZVAL_STR_COPY(zv, op_array->function_name); in zend_try_ct_eval_magic_const()
6488 if (op_array && op_array->function_name) { in zend_try_ct_eval_magic_const()
6490 ZSTR_VAL(op_array->function_name), ZSTR_LEN(op_array->function_name))); in zend_try_ct_eval_magic_const()
6494 } else if (op_array && op_array->function_name) { in zend_try_ct_eval_magic_const()
6495 ZVAL_STR_COPY(zv, op_array->function_name); in zend_try_ct_eval_magic_const()