Lines Matching refs:op_array

33 #define CONSTANT_EX(op_array, op) \  argument
34 (op_array)->literals[op].constant
289 static zend_uint get_temporary_variable(zend_op_array *op_array) /* {{{ */ in get_temporary_variable() argument
291 return (zend_uint)(zend_uintptr_t)EX_TMP_VAR_NUM(0, (op_array->T)++); in get_temporary_variable()
295 static int lookup_cv(zend_op_array *op_array, char* name, int name_len, ulong hash TSRMLS_DC) /* {{… in lookup_cv() argument
300 while (i < op_array->last_var) { in lookup_cv()
301 if (op_array->vars[i].name == name || in lookup_cv()
302 (op_array->vars[i].hash_value == hash_value && in lookup_cv()
303 op_array->vars[i].name_len == name_len && in lookup_cv()
304 memcmp(op_array->vars[i].name, name, name_len) == 0)) { in lookup_cv()
310 i = op_array->last_var; in lookup_cv()
311 op_array->last_var++; in lookup_cv()
312 if (op_array->last_var > CG(context).vars_size) { in lookup_cv()
314 op_array->vars = erealloc(op_array->vars, CG(context).vars_size * sizeof(zend_compiled_variable)); in lookup_cv()
316 op_array->vars[i].name = zend_new_interned_string(name, name_len + 1, 1 TSRMLS_CC); in lookup_cv()
317 op_array->vars[i].name_len = name_len; in lookup_cv()
318 op_array->vars[i].hash_value = hash_value; in lookup_cv()
323 void zend_del_literal(zend_op_array *op_array, int n) /* {{{ */ in zend_del_literal() argument
325 zval_dtor(&CONSTANT_EX(op_array, n)); in zend_del_literal()
326 if (n + 1 == op_array->last_literal) { in zend_del_literal()
327 op_array->last_literal--; in zend_del_literal()
329 Z_TYPE(CONSTANT_EX(op_array, n)) = IS_NULL; in zend_del_literal()
335 static inline void zend_insert_literal(zend_op_array *op_array, const zval *zv, int literal_positio… in zend_insert_literal() argument
341 CONSTANT_EX(op_array, literal_position) = *zv; in zend_insert_literal()
342 Z_SET_REFCOUNT(CONSTANT_EX(op_array, literal_position), 2); in zend_insert_literal()
343 Z_SET_ISREF(CONSTANT_EX(op_array, literal_position)); in zend_insert_literal()
344 op_array->literals[literal_position].hash_value = 0; in zend_insert_literal()
345 op_array->literals[literal_position].cache_slot = -1; in zend_insert_literal()
352 int zend_add_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ in zend_add_literal() argument
354 int i = op_array->last_literal; in zend_add_literal()
355 op_array->last_literal++; in zend_add_literal()
360op_array->literals = (zend_literal*)erealloc(op_array->literals, CG(context).literals_size * sizeo… in zend_add_literal()
362 zend_insert_literal(op_array, zv, i TSRMLS_CC); in zend_add_literal()
369 int zend_append_individual_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ in zend_append_individual_literal() argument
371 int i = op_array->last_literal; in zend_append_individual_literal()
372 op_array->last_literal++; in zend_append_individual_literal()
373 op_array->literals = (zend_literal*)erealloc(op_array->literals, (i + 1) * sizeof(zend_literal)); in zend_append_individual_literal()
374 zend_insert_literal(op_array, zv, i TSRMLS_CC); in zend_append_individual_literal()
379 int zend_add_func_name_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ in zend_add_func_name_literal() argument
386 if (op_array->last_literal > 0 && in zend_add_func_name_literal()
387 &op_array->literals[op_array->last_literal - 1].constant == zv && in zend_add_func_name_literal()
388 op_array->literals[op_array->last_literal - 1].cache_slot == -1) { in zend_add_func_name_literal()
390 ret = op_array->last_literal - 1; in zend_add_func_name_literal()
392 ret = zend_add_literal(op_array, zv TSRMLS_CC); in zend_add_func_name_literal()
404 int zend_add_ns_func_name_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ in zend_add_ns_func_name_literal() argument
413 if (op_array->last_literal > 0 && in zend_add_ns_func_name_literal()
414 &op_array->literals[op_array->last_literal - 1].constant == zv && in zend_add_ns_func_name_literal()
415 op_array->literals[op_array->last_literal - 1].cache_slot == -1) { in zend_add_ns_func_name_literal()
417 ret = op_array->last_literal - 1; in zend_add_ns_func_name_literal()
419 ret = zend_add_literal(op_array, zv TSRMLS_CC); in zend_add_ns_func_name_literal()
438 int zend_add_class_name_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ in zend_add_class_name_literal() argument
446 if (op_array->last_literal > 0 && in zend_add_class_name_literal()
447 &op_array->literals[op_array->last_literal - 1].constant == zv && in zend_add_class_name_literal()
448 op_array->literals[op_array->last_literal - 1].cache_slot == -1) { in zend_add_class_name_literal()
450 ret = op_array->last_literal - 1; in zend_add_class_name_literal()
452 ret = zend_add_literal(op_array, zv TSRMLS_CC); in zend_add_class_name_literal()
472 int zend_add_const_name_literal(zend_op_array *op_array, const zval *zv, int unqualified TSRMLS_DC)… in zend_add_const_name_literal() argument
480 if (op_array->last_literal > 0 && in zend_add_const_name_literal()
481 &op_array->literals[op_array->last_literal - 1].constant == zv && in zend_add_const_name_literal()
482 op_array->literals[op_array->last_literal - 1].cache_slot == -1) { in zend_add_const_name_literal()
484 ret = op_array->last_literal - 1; in zend_add_const_name_literal()
486 ret = zend_add_literal(op_array, zv TSRMLS_CC); in zend_add_const_name_literal()
556 #define LITERAL_LONG_EX(op_array, op, val) do { \ argument
559 op.constant = zend_add_literal(op_array, &_c TSRMLS_CC); \
1529 zend_op_array op_array; in zend_do_begin_function_declaration() local
1553 function_token->u.op_array = CG(active_op_array); in zend_do_begin_function_declaration()
1557 init_op_array(&op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); in zend_do_begin_function_declaration()
1560 op_array.function_name = name; in zend_do_begin_function_declaration()
1562 op_array.fn_flags |= ZEND_ACC_RETURN_REFERENCE; in zend_do_begin_function_declaration()
1564 op_array.fn_flags |= fn_flags; in zend_do_begin_function_declaration()
1566 op_array.scope = is_method?CG(active_class_entry):NULL; in zend_do_begin_function_declaration()
1567 op_array.prototype = NULL; in zend_do_begin_function_declaration()
1569 op_array.line_start = zend_get_compiled_lineno(TSRMLS_C); in zend_do_begin_function_declaration()
1577 …ass_entry)->function_table, lcname, name_len+1, INTERNED_HASH(lcname), &op_array, sizeof(zend_op_a… in zend_do_begin_function_declaration()
1579 …result = zend_hash_add(&CG(active_class_entry)->function_table, lcname, name_len+1, &op_array, siz… in zend_do_begin_function_declaration()
1707 op_array.function_name = Z_STRVAL(tmp.u.constant); in zend_do_begin_function_declaration()
1723 …STRVAL(key), Z_STRLEN(key), Z_HASH_P(&CONSTANT(opline->op1.constant)), &op_array, sizeof(zend_op_a… in zend_do_begin_function_declaration()
1828 CG(active_op_array) = function_token->u.op_array; in zend_do_end_function_declaration()
2328 void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2 TSRMLS_DC) /* {{{ … in zend_resolve_goto_label() argument
2337 label = &CONSTANT_EX(op_array, opline->op2.constant); in zend_resolve_goto_label()
2344 CG(active_op_array) = op_array; in zend_resolve_goto_label()
2349 INC_BPC(op_array); in zend_resolve_goto_label()
2364 CG(active_op_array) = op_array; in zend_resolve_goto_label()
2369 current = op_array->brk_cont_array[current].parent; in zend_resolve_goto_label()
2383 DEC_BPC(op_array); in zend_resolve_goto_label()
2982 zend_op_array *op_array = &function->op_array; in function_add_ref() local
2984 (*op_array->refcount)++; in function_add_ref()
2985 if (op_array->static_variables) { in function_add_ref()
2986 HashTable *static_variables = op_array->static_variables; in function_add_ref()
2989 ALLOC_HASHTABLE(op_array->static_variables); in function_add_ref()
2990 …zend_hash_init(op_array->static_variables, zend_hash_num_elements(static_variables), NULL, ZVAL_PT… in function_add_ref()
2991 …zend_hash_copy(op_array->static_variables, static_variables, (copy_ctor_func_t) zval_add_ref, (voi… in function_add_ref()
2993 op_array->run_time_cache = NULL; in function_add_ref()
3246 if (fptr->op_array.fn_flags & ZEND_ACC_RETURN_REFERENCE) { in zend_get_function_declaration()
3965 if (fn->type == ZEND_USER_FUNCTION && fn->op_array.static_variables) { in zend_fixup_trait_method()
4448 ZEND_API int do_bind_function(const zend_op_array *op_array, zend_op *opline, HashTable *function_t… in do_bind_function() argument
4454 op1 = &CONSTANT_EX(op_array, opline->op1.constant); in do_bind_function()
4455 op2 = &CONSTANT_EX(op_array, opline->op2.constant); in do_bind_function()
4468 && old_function->op_array.last > 0) { in do_bind_function()
4471 old_function->op_array.filename, in do_bind_function()
4472 old_function->op_array.opcodes[0].lineno); in do_bind_function()
4478 (*function->op_array.refcount)++; in do_bind_function()
4479 function->op_array.static_variables = NULL; /* NULL out the unbound function */ in do_bind_function()
4550 ZEND_API zend_class_entry *do_bind_class(const zend_op_array* op_array, const zend_op *opline, Hash… in do_bind_class() argument
4556 op1 = &CONSTANT_EX(op_array, opline->op1.constant); in do_bind_class()
4557 op2 = &CONSTANT_EX(op_array, opline->op2.constant); in do_bind_class()
4589 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
4596 op1 = &CONSTANT_EX(op_array, opline->op1.constant); in do_bind_inherited_class()
4597 op2 = &CONSTANT_EX(op_array, opline->op2.constant); in do_bind_inherited_class()
4711 ZEND_API void zend_do_delayed_early_binding(const zend_op_array *op_array TSRMLS_DC) /* {{{ */ in zend_do_delayed_early_binding()
4713 if (op_array->early_binding != -1) { in zend_do_delayed_early_binding()
4715 zend_uint opline_num = op_array->early_binding; in zend_do_delayed_early_binding()
4720 …if (zend_lookup_class(Z_STRVAL_P(op_array->opcodes[opline_num-1].op2.zv), Z_STRLEN_P(op_array->opc… in zend_do_delayed_early_binding()
4721 …do_bind_inherited_class(op_array, &op_array->opcodes[opline_num], EG(class_table), *pce, 0 TSRMLS_… in zend_do_delayed_early_binding()
4723 opline_num = op_array->opcodes[opline_num].result.opline_num; in zend_do_delayed_early_binding()
6905 ZEND_API const char* zend_get_compiled_variable_name(const zend_op_array *op_array, zend_uint var, … in zend_get_compiled_variable_name() argument
6908 *name_len = op_array->vars[var].name_len; in zend_get_compiled_variable_name()
6910 return op_array->vars[var].name; in zend_get_compiled_variable_name()