op_array 2848 Zend/zend_API.c if ((fcc->function_handler->op_array.fn_flags & ZEND_ACC_CHANGED) && op_array 2863 Zend/zend_API.c if (fcc->function_handler->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 2973 Zend/zend_API.c if (fcc->function_handler->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 4021 Zend/zend_API.c *(f->op_array.refcount) < 2 || op_array 1101 Zend/zend_builtin_functions.c *mptr->op_array.refcount > 1 && op_array 2102 Zend/zend_builtin_functions.c if (!skip->op_array && op_array 2111 Zend/zend_builtin_functions.c if (skip->op_array) { op_array 2112 Zend/zend_builtin_functions.c filename = skip->op_array->filename; op_array 2217 Zend/zend_builtin_functions.c if (prev->op_array) { op_array 2218 Zend/zend_builtin_functions.c zend_printf(") called at [%s:%d]\n", prev->op_array->filename, prev->opline->lineno); op_array 2269 Zend/zend_builtin_functions.c if (!skip->op_array && op_array 2278 Zend/zend_builtin_functions.c if (skip->op_array) { op_array 2279 Zend/zend_builtin_functions.c filename = skip->op_array->filename; op_array 2297 Zend/zend_builtin_functions.c if (prev->op_array) { op_array 2298 Zend/zend_builtin_functions.c add_assoc_string_ex(stack_frame, "file", sizeof("file"), (char*)prev->op_array->filename, 1); op_array 261 Zend/zend_closures.c if (ex->op_array == &closure->func.op_array) { op_array 266 Zend/zend_closures.c destroy_op_array(&closure->func.op_array TSRMLS_CC); op_array 348 Zend/zend_closures.c if (closure->func.type == ZEND_USER_FUNCTION && closure->func.op_array.static_variables) { op_array 349 Zend/zend_closures.c HashTable *static_variables = closure->func.op_array.static_variables; op_array 400 Zend/zend_closures.c closure->func.op_array.static_variables : NULL; op_array 476 Zend/zend_closures.c if (closure->func.op_array.static_variables) { op_array 477 Zend/zend_closures.c HashTable *static_variables = closure->func.op_array.static_variables; op_array 479 Zend/zend_closures.c ALLOC_HASHTABLE(closure->func.op_array.static_variables); op_array 480 Zend/zend_closures.c zend_hash_init(closure->func.op_array.static_variables, zend_hash_num_elements(static_variables), NULL, ZVAL_PTR_DTOR, 0); op_array 481 Zend/zend_closures.c zend_hash_apply_with_arguments(static_variables TSRMLS_CC, (apply_func_args_t)zval_copy_static_var, 1, closure->func.op_array.static_variables); op_array 483 Zend/zend_closures.c closure->func.op_array.run_time_cache = NULL; op_array 484 Zend/zend_closures.c (*closure->func.op_array.refcount)++; op_array 31 Zend/zend_closures.h ZEND_API void zend_create_closure(zval *res, zend_function *op_array, zend_class_entry *scope, zval *this_ptr TSRMLS_DC); op_array 33 Zend/zend_compile.c #define CONSTANT_EX(op_array, op) \ op_array 34 Zend/zend_compile.c (op_array)->literals[op].constant op_array 293 Zend/zend_compile.c static zend_uint get_temporary_variable(zend_op_array *op_array) /* {{{ */ op_array 295 Zend/zend_compile.c return (zend_uint)(zend_uintptr_t)EX_TMP_VAR_NUM(0, (op_array->T)++); op_array 299 Zend/zend_compile.c static int lookup_cv(zend_op_array *op_array, char* name, int name_len, ulong hash TSRMLS_DC) /* {{{ */ op_array 304 Zend/zend_compile.c while (i < op_array->last_var) { op_array 305 Zend/zend_compile.c if (op_array->vars[i].name == name || op_array 306 Zend/zend_compile.c (op_array->vars[i].hash_value == hash_value && op_array 307 Zend/zend_compile.c op_array->vars[i].name_len == name_len && op_array 308 Zend/zend_compile.c memcmp(op_array->vars[i].name, name, name_len) == 0)) { op_array 314 Zend/zend_compile.c i = op_array->last_var; op_array 315 Zend/zend_compile.c op_array->last_var++; op_array 316 Zend/zend_compile.c if (op_array->last_var > CG(context).vars_size) { op_array 318 Zend/zend_compile.c op_array->vars = erealloc(op_array->vars, CG(context).vars_size * sizeof(zend_compiled_variable)); op_array 320 Zend/zend_compile.c op_array->vars[i].name = zend_new_interned_string(name, name_len + 1, 1 TSRMLS_CC); op_array 321 Zend/zend_compile.c op_array->vars[i].name_len = name_len; op_array 322 Zend/zend_compile.c op_array->vars[i].hash_value = hash_value; op_array 327 Zend/zend_compile.c void zend_del_literal(zend_op_array *op_array, int n) /* {{{ */ op_array 329 Zend/zend_compile.c zval_dtor(&CONSTANT_EX(op_array, n)); op_array 330 Zend/zend_compile.c if (n + 1 == op_array->last_literal) { op_array 331 Zend/zend_compile.c op_array->last_literal--; op_array 333 Zend/zend_compile.c Z_TYPE(CONSTANT_EX(op_array, n)) = IS_NULL; op_array 339 Zend/zend_compile.c static inline void zend_insert_literal(zend_op_array *op_array, const zval *zv, int literal_position TSRMLS_DC) /* {{{ */ op_array 345 Zend/zend_compile.c CONSTANT_EX(op_array, literal_position) = *zv; op_array 346 Zend/zend_compile.c Z_SET_REFCOUNT(CONSTANT_EX(op_array, literal_position), 2); op_array 347 Zend/zend_compile.c Z_SET_ISREF(CONSTANT_EX(op_array, literal_position)); op_array 348 Zend/zend_compile.c op_array->literals[literal_position].hash_value = 0; op_array 349 Zend/zend_compile.c op_array->literals[literal_position].cache_slot = -1; op_array 356 Zend/zend_compile.c int zend_add_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ op_array 358 Zend/zend_compile.c int i = op_array->last_literal; op_array 359 Zend/zend_compile.c op_array->last_literal++; op_array 364 Zend/zend_compile.c op_array->literals = (zend_literal*)erealloc(op_array->literals, CG(context).literals_size * sizeof(zend_literal)); op_array 366 Zend/zend_compile.c zend_insert_literal(op_array, zv, i TSRMLS_CC); op_array 373 Zend/zend_compile.c int zend_append_individual_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ op_array 375 Zend/zend_compile.c int i = op_array->last_literal; op_array 376 Zend/zend_compile.c op_array->last_literal++; op_array 377 Zend/zend_compile.c op_array->literals = (zend_literal*)erealloc(op_array->literals, (i + 1) * sizeof(zend_literal)); op_array 378 Zend/zend_compile.c zend_insert_literal(op_array, zv, i TSRMLS_CC); op_array 383 Zend/zend_compile.c int zend_add_func_name_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ op_array 390 Zend/zend_compile.c if (op_array->last_literal > 0 && op_array 391 Zend/zend_compile.c &op_array->literals[op_array->last_literal - 1].constant == zv && op_array 392 Zend/zend_compile.c op_array->literals[op_array->last_literal - 1].cache_slot == -1) { op_array 394 Zend/zend_compile.c ret = op_array->last_literal - 1; op_array 396 Zend/zend_compile.c ret = zend_add_literal(op_array, zv TSRMLS_CC); op_array 408 Zend/zend_compile.c int zend_add_ns_func_name_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ op_array 417 Zend/zend_compile.c if (op_array->last_literal > 0 && op_array 418 Zend/zend_compile.c &op_array->literals[op_array->last_literal - 1].constant == zv && op_array 419 Zend/zend_compile.c op_array->literals[op_array->last_literal - 1].cache_slot == -1) { op_array 421 Zend/zend_compile.c ret = op_array->last_literal - 1; op_array 423 Zend/zend_compile.c ret = zend_add_literal(op_array, zv TSRMLS_CC); op_array 446 Zend/zend_compile.c int zend_add_class_name_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) /* {{{ */ op_array 454 Zend/zend_compile.c if (op_array->last_literal > 0 && op_array 455 Zend/zend_compile.c &op_array->literals[op_array->last_literal - 1].constant == zv && op_array 456 Zend/zend_compile.c op_array->literals[op_array->last_literal - 1].cache_slot == -1) { op_array 458 Zend/zend_compile.c ret = op_array->last_literal - 1; op_array 460 Zend/zend_compile.c ret = zend_add_literal(op_array, zv TSRMLS_CC); op_array 480 Zend/zend_compile.c int zend_add_const_name_literal(zend_op_array *op_array, const zval *zv, int unqualified TSRMLS_DC) /* {{{ */ op_array 488 Zend/zend_compile.c if (op_array->last_literal > 0 && op_array 489 Zend/zend_compile.c &op_array->literals[op_array->last_literal - 1].constant == zv && op_array 490 Zend/zend_compile.c op_array->literals[op_array->last_literal - 1].cache_slot == -1) { op_array 492 Zend/zend_compile.c ret = op_array->last_literal - 1; op_array 494 Zend/zend_compile.c ret = zend_add_literal(op_array, zv TSRMLS_CC); op_array 564 Zend/zend_compile.c #define LITERAL_LONG_EX(op_array, op, val) do { \ op_array 567 Zend/zend_compile.c op.constant = zend_add_literal(op_array, &_c TSRMLS_CC); \ op_array 1537 Zend/zend_compile.c zend_op_array op_array; op_array 1561 Zend/zend_compile.c function_token->u.op_array = CG(active_op_array); op_array 1565 Zend/zend_compile.c init_op_array(&op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); op_array 1568 Zend/zend_compile.c op_array.function_name = name; op_array 1570 Zend/zend_compile.c op_array.fn_flags |= ZEND_ACC_RETURN_REFERENCE; op_array 1572 Zend/zend_compile.c op_array.fn_flags |= fn_flags; op_array 1574 Zend/zend_compile.c op_array.scope = is_method?CG(active_class_entry):NULL; op_array 1575 Zend/zend_compile.c op_array.prototype = NULL; op_array 1577 Zend/zend_compile.c op_array.line_start = zend_get_compiled_lineno(TSRMLS_C); op_array 1584 Zend/zend_compile.c if (zend_hash_quick_add(&CG(active_class_entry)->function_table, lcname, name_len+1, hash, &op_array, sizeof(zend_op_array), (void **) &CG(active_op_array)) == FAILURE) { op_array 1721 Zend/zend_compile.c op_array.function_name = Z_STRVAL(tmp.u.constant); op_array 1750 Zend/zend_compile.c zend_hash_quick_update(CG(function_table), Z_STRVAL(key), Z_STRLEN(key), Z_HASH_P(&CONSTANT(opline->op1.constant)), &op_array, sizeof(zend_op_array), (void **) &CG(active_op_array)); op_array 1856 Zend/zend_compile.c CG(active_op_array) = function_token->u.op_array; op_array 2399 Zend/zend_compile.c void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2 TSRMLS_DC) /* {{{ */ op_array 2408 Zend/zend_compile.c label = &CONSTANT_EX(op_array, opline->op2.constant); op_array 2415 Zend/zend_compile.c CG(active_op_array) = op_array; op_array 2420 Zend/zend_compile.c INC_BPC(op_array); op_array 2435 Zend/zend_compile.c CG(active_op_array) = op_array; op_array 2440 Zend/zend_compile.c current = op_array->brk_cont_array[current].parent; op_array 2454 Zend/zend_compile.c DEC_BPC(op_array); op_array 3101 Zend/zend_compile.c zend_op_array *op_array = &function->op_array; op_array 3103 Zend/zend_compile.c (*op_array->refcount)++; op_array 3104 Zend/zend_compile.c if (op_array->static_variables) { op_array 3105 Zend/zend_compile.c HashTable *static_variables = op_array->static_variables; op_array 3108 Zend/zend_compile.c ALLOC_HASHTABLE(op_array->static_variables); op_array 3109 Zend/zend_compile.c zend_hash_init(op_array->static_variables, zend_hash_num_elements(static_variables), NULL, ZVAL_PTR_DTOR, 0); op_array 3110 Zend/zend_compile.c zend_hash_copy(op_array->static_variables, static_variables, (copy_ctor_func_t) zval_add_ref, (void *) &tmp_zval, sizeof(zval *)); op_array 3112 Zend/zend_compile.c op_array->run_time_cache = NULL; op_array 3379 Zend/zend_compile.c if (fptr->op_array.fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 4106 Zend/zend_compile.c if (fn->type == ZEND_USER_FUNCTION && fn->op_array.static_variables) { op_array 4589 Zend/zend_compile.c ZEND_API int do_bind_function(const zend_op_array *op_array, zend_op *opline, HashTable *function_table, zend_bool compile_time) /* {{{ */ op_array 4595 Zend/zend_compile.c op1 = &CONSTANT_EX(op_array, opline->op1.constant); op_array 4596 Zend/zend_compile.c op2 = &CONSTANT_EX(op_array, opline->op2.constant); op_array 4609 Zend/zend_compile.c && old_function->op_array.last > 0) { op_array 4612 Zend/zend_compile.c old_function->op_array.filename, op_array 4613 Zend/zend_compile.c old_function->op_array.opcodes[0].lineno); op_array 4619 Zend/zend_compile.c (*function->op_array.refcount)++; op_array 4620 Zend/zend_compile.c function->op_array.static_variables = NULL; /* NULL out the unbound function */ op_array 4691 Zend/zend_compile.c ZEND_API zend_class_entry *do_bind_class(const zend_op_array* op_array, const zend_op *opline, HashTable *class_table, zend_bool compile_time TSRMLS_DC) /* {{{ */ op_array 4697 Zend/zend_compile.c op1 = &CONSTANT_EX(op_array, opline->op1.constant); op_array 4698 Zend/zend_compile.c op2 = &CONSTANT_EX(op_array, opline->op2.constant); op_array 4730 Zend/zend_compile.c ZEND_API zend_class_entry *do_bind_inherited_class(const zend_op_array *op_array, const zend_op *opline, HashTable *class_table, zend_class_entry *parent_ce, zend_bool compile_time TSRMLS_DC) /* {{{ */ op_array 4737 Zend/zend_compile.c op1 = &CONSTANT_EX(op_array, opline->op1.constant); op_array 4738 Zend/zend_compile.c op2 = &CONSTANT_EX(op_array, opline->op2.constant); op_array 4852 Zend/zend_compile.c ZEND_API void zend_do_delayed_early_binding(const zend_op_array *op_array TSRMLS_DC) /* {{{ */ op_array 4854 Zend/zend_compile.c if (op_array->early_binding != -1) { op_array 4856 Zend/zend_compile.c zend_uint opline_num = op_array->early_binding; op_array 4861 Zend/zend_compile.c if (zend_lookup_class(Z_STRVAL_P(op_array->opcodes[opline_num-1].op2.zv), Z_STRLEN_P(op_array->opcodes[opline_num-1].op2.zv), &pce TSRMLS_CC) == SUCCESS) { op_array 4862 Zend/zend_compile.c do_bind_inherited_class(op_array, &op_array->opcodes[opline_num], EG(class_table), *pce, 0 TSRMLS_CC); op_array 4864 Zend/zend_compile.c opline_num = op_array->opcodes[opline_num].result.opline_num; op_array 7029 Zend/zend_compile.c ZEND_API const char* zend_get_compiled_variable_name(const zend_op_array *op_array, zend_uint var, int* name_len) /* {{{ */ op_array 7032 Zend/zend_compile.c *name_len = op_array->vars[var].name_len; op_array 7034 Zend/zend_compile.c return op_array->vars[var].name; op_array 7289 Zend/zend_compile.c if (zend_hash_find(lookup_table, lookup_name, Z_STRLEN_P(name)+1, (void **) &function) == SUCCESS && function->type == ZEND_USER_FUNCTION && strcmp(function->op_array.filename, CG(compiled_filename)) == 0) { op_array 40 Zend/zend_compile.h #define INC_BPC(op_array) if (op_array->fn_flags & ZEND_ACC_INTERACTIVE) { (CG(context).backpatch_count++); } op_array 41 Zend/zend_compile.h #define DEC_BPC(op_array) if (op_array->fn_flags & ZEND_ACC_INTERACTIVE) { (CG(context).backpatch_count--); } op_array 95 Zend/zend_compile.h zend_op_array *op_array; op_array 356 Zend/zend_compile.h zend_op_array op_array; op_array 399 Zend/zend_compile.h zend_op_array *op_array; op_array 457 Zend/zend_compile.h ZEND_API const char* zend_get_compiled_variable_name(const zend_op_array *op_array, zend_uint var, int* name_len); op_array 542 Zend/zend_compile.h ZEND_API int do_bind_function(const zend_op_array *op_array, zend_op *opline, HashTable *function_table, zend_bool compile_time); op_array 543 Zend/zend_compile.h ZEND_API zend_class_entry *do_bind_class(const zend_op_array *op_array, const zend_op *opline, HashTable *class_table, zend_bool compile_time TSRMLS_DC); op_array 544 Zend/zend_compile.h ZEND_API zend_class_entry *do_bind_inherited_class(const zend_op_array *op_array, const zend_op *opline, HashTable *class_table, zend_class_entry *parent_ce, zend_bool compile_time TSRMLS_DC); op_array 560 Zend/zend_compile.h ZEND_API void zend_do_delayed_early_binding(const zend_op_array *op_array TSRMLS_DC); op_array 665 Zend/zend_compile.h void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2 TSRMLS_DC); op_array 680 Zend/zend_compile.h ZEND_API void init_op_array(zend_op_array *op_array, zend_uchar type, int initial_ops_size TSRMLS_DC); op_array 681 Zend/zend_compile.h ZEND_API void destroy_op_array(zend_op_array *op_array TSRMLS_DC); op_array 705 Zend/zend_compile.h zend_op *get_next_op(zend_op_array *op_array TSRMLS_DC); op_array 707 Zend/zend_compile.h int get_next_op_number(zend_op_array *op_array); op_array 709 Zend/zend_compile.h void print_op_array(zend_op_array *op_array, int optimizations); op_array 710 Zend/zend_compile.h ZEND_API int pass_two(zend_op_array *op_array TSRMLS_DC); op_array 711 Zend/zend_compile.h zend_brk_cont_element *get_next_brk_cont_element(zend_op_array *op_array); op_array 737 Zend/zend_compile.h int zend_add_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC); op_array 29 Zend/zend_dtrace.c if (EG(current_execute_data) && EG(current_execute_data)->op_array) { op_array 30 Zend/zend_dtrace.c return EG(current_execute_data)->op_array->filename; op_array 34 Zend/zend_dtrace.h ZEND_API void (*zend_dtrace_execute)(zend_op_array *op_array TSRMLS_DC); op_array 59 Zend/zend_execute.c static void zend_extension_statement_handler(const zend_extension *extension, zend_op_array *op_array TSRMLS_DC); op_array 60 Zend/zend_execute.c static void zend_extension_fcall_begin_handler(const zend_extension *extension, zend_op_array *op_array TSRMLS_DC); op_array 61 Zend/zend_execute.c static void zend_extension_fcall_end_handler(const zend_extension *extension, zend_op_array *op_array TSRMLS_DC); op_array 603 Zend/zend_execute.c if (ptr && ptr->op_array) { op_array 604 Zend/zend_execute.c zend_error(error_type, "Argument %d passed to %s%s%s() must %s%s, %s%s given, called in %s on line %d and defined", arg_num, fclass, fsep, fname, need_msg, need_kind, given_msg, given_kind, ptr->op_array->filename, ptr->opline->lineno); op_array 982 Zend/zend_execute.c static void zend_extension_statement_handler(const zend_extension *extension, zend_op_array *op_array TSRMLS_DC) op_array 985 Zend/zend_execute.c extension->statement_handler(op_array); op_array 990 Zend/zend_execute.c static void zend_extension_fcall_begin_handler(const zend_extension *extension, zend_op_array *op_array TSRMLS_DC) op_array 993 Zend/zend_execute.c extension->fcall_begin_handler(op_array); op_array 998 Zend/zend_execute.c static void zend_extension_fcall_end_handler(const zend_extension *extension, zend_op_array *op_array TSRMLS_DC) op_array 1001 Zend/zend_execute.c extension->fcall_end_handler(op_array); op_array 1453 Zend/zend_execute.c static inline zend_brk_cont_element* zend_brk_cont(int nest_levels, int array_offset, const zend_op_array *op_array, const zend_execute_data *execute_data TSRMLS_DC) op_array 1462 Zend/zend_execute.c jmp_to = &op_array->brk_cont_array[array_offset]; op_array 1464 Zend/zend_execute.c zend_op *brk_opline = &op_array->opcodes[jmp_to->brk]; op_array 1552 Zend/zend_execute.c zval ***end = cv + EX(op_array)->last_var; op_array 1610 Zend/zend_execute.c static zend_always_inline zend_execute_data *i_create_execute_data_from_op_array(zend_op_array *op_array, zend_bool nested TSRMLS_DC) /* {{{ */ op_array 1626 Zend/zend_execute.c size_t CVs_size = ZEND_MM_ALIGNED_SIZE(sizeof(zval **) * op_array->last_var * (EG(active_symbol_table) ? 1 : 2)); op_array 1627 Zend/zend_execute.c size_t Ts_size = ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * op_array->T; op_array 1628 Zend/zend_execute.c size_t call_slots_size = ZEND_MM_ALIGNED_SIZE(sizeof(call_slot)) * op_array->nested_calls; op_array 1629 Zend/zend_execute.c size_t stack_size = ZEND_MM_ALIGNED_SIZE(sizeof(zval*)) * op_array->used_stack; op_array 1642 Zend/zend_execute.c if (UNEXPECTED((op_array->fn_flags & ZEND_ACC_GENERATOR) != 0)) { op_array 1658 Zend/zend_execute.c EX(prev_execute_data)->function_state.function = (zend_function*)op_array; op_array 1679 Zend/zend_execute.c memset(EX_CV_NUM(execute_data, 0), 0, sizeof(zval **) * op_array->last_var); op_array 1684 Zend/zend_execute.c EX(op_array) = op_array; op_array 1697 Zend/zend_execute.c if (!op_array->run_time_cache && op_array->last_cache_slot) { op_array 1698 Zend/zend_execute.c op_array->run_time_cache = ecalloc(op_array->last_cache_slot, sizeof(void*)); op_array 1701 Zend/zend_execute.c if (op_array->this_var != -1 && EG(This)) { op_array 1704 Zend/zend_execute.c EX_CV(op_array->this_var) = (zval **) EX_CV_NUM(execute_data, op_array->last_var + op_array->this_var); op_array 1705 Zend/zend_execute.c *EX_CV(op_array->this_var) = EG(This); op_array 1707 Zend/zend_execute.c if (zend_hash_add(EG(active_symbol_table), "this", sizeof("this"), &EG(This), sizeof(zval *), (void **) EX_CV_NUM(execute_data, op_array->this_var))==FAILURE) { op_array 1713 Zend/zend_execute.c EX(opline) = UNEXPECTED((op_array->fn_flags & ZEND_ACC_INTERACTIVE) != 0) && EG(start_op) ? EG(start_op) : op_array->opcodes; op_array 1716 Zend/zend_execute.c EX(function_state).function = (zend_function *) op_array; op_array 1723 Zend/zend_execute.c ZEND_API zend_execute_data *zend_create_execute_data_from_op_array(zend_op_array *op_array, zend_bool nested TSRMLS_DC) /* {{{ */ op_array 1725 Zend/zend_execute.c return i_create_execute_data_from_op_array(op_array, nested TSRMLS_CC); op_array 59 Zend/zend_execute.h ZEND_API zend_execute_data *zend_create_execute_data_from_op_array(zend_op_array *op_array, zend_bool nested TSRMLS_DC); op_array 60 Zend/zend_execute.h ZEND_API void zend_execute(zend_op_array *op_array TSRMLS_DC); op_array 267 Zend/zend_execute.h ZEND_MM_ALIGNED_SIZE(sizeof(call_slot)) * ex->op_array->nested_calls); op_array 657 Zend/zend_execute_API.c EX(op_array) = NULL; op_array 1496 Zend/zend_execute_API.c if (ex->op_array && ex->symbol_table == symbol_table) { op_array 1497 Zend/zend_execute_API.c for (i = 0; i < ex->op_array->last_var; i++) { op_array 1512 Zend/zend_execute_API.c if (ex->op_array) { op_array 1513 Zend/zend_execute_API.c for (i = 0; i < ex->op_array->last_var; i++) { op_array 1514 Zend/zend_execute_API.c if (ex->op_array->vars[i].hash_value == hash_value && op_array 1515 Zend/zend_execute_API.c ex->op_array->vars[i].name_len == name_len && op_array 1516 Zend/zend_execute_API.c !memcmp(ex->op_array->vars[i].name, name, name_len)) { op_array 1534 Zend/zend_execute_API.c if (ex->op_array && ex->symbol_table == &EG(symbol_table)) { op_array 1536 Zend/zend_execute_API.c for (i = 0; i < ex->op_array->last_var; i++) { op_array 1537 Zend/zend_execute_API.c if (ex->op_array->vars[i].hash_value == hash_value && op_array 1538 Zend/zend_execute_API.c ex->op_array->vars[i].name_len == name_len && op_array 1539 Zend/zend_execute_API.c !memcmp(ex->op_array->vars[i].name, name, name_len) op_array 1568 Zend/zend_execute_API.c while (ex && !ex->op_array) { op_array 1576 Zend/zend_execute_API.c if (ex && ex->op_array) { op_array 1582 Zend/zend_execute_API.c zend_hash_init(EG(active_symbol_table), ex->op_array->last_var, NULL, ZVAL_PTR_DTOR, 0); op_array 1586 Zend/zend_execute_API.c for (i = 0; i < ex->op_array->last_var; i++) { op_array 1593 Zend/zend_execute_API.c ex->op_array->vars[i].name, op_array 1594 Zend/zend_execute_API.c ex->op_array->vars[i].name_len + 1, op_array 1595 Zend/zend_execute_API.c ex->op_array->vars[i].hash_value, op_array 50 Zend/zend_extensions.h typedef void (*op_array_handler_func_t)(zend_op_array *op_array); op_array 52 Zend/zend_extensions.h typedef void (*statement_handler_func_t)(zend_op_array *op_array); op_array 53 Zend/zend_extensions.h typedef void (*fcall_begin_handler_func_t)(zend_op_array *op_array); op_array 54 Zend/zend_extensions.h typedef void (*fcall_end_handler_func_t)(zend_op_array *op_array); op_array 56 Zend/zend_extensions.h typedef void (*op_array_ctor_func_t)(zend_op_array *op_array); op_array 57 Zend/zend_extensions.h typedef void (*op_array_dtor_func_t)(zend_op_array *op_array); op_array 35 Zend/zend_generators.c zend_op_array *op_array = execute_data->op_array; op_array 47 Zend/zend_generators.c zend_uint op_num = execute_data->opline - op_array->opcodes - 1; op_array 50 Zend/zend_generators.c for (i = 0; i < op_array->last_brk_cont; ++i) { op_array 51 Zend/zend_generators.c zend_brk_cont_element *brk_cont = op_array->brk_cont_array + i; op_array 58 Zend/zend_generators.c zend_op *brk_opline = op_array->opcodes + brk_cont->brk; op_array 113 Zend/zend_generators.c zend_op_array *op_array = execute_data->op_array; op_array 157 Zend/zend_generators.c if (op_array->fn_flags & ZEND_ACC_CLOSURE) { op_array 158 Zend/zend_generators.c destroy_op_array(op_array TSRMLS_CC); op_array 159 Zend/zend_generators.c efree(op_array); op_array 174 Zend/zend_generators.c if (!ex || !ex->op_array->has_finally_block) { op_array 180 Zend/zend_generators.c op_num = ex->opline - ex->op_array->opcodes - 1; op_array 184 Zend/zend_generators.c for (i = 0; i < ex->op_array->last_try_catch; i++) { op_array 185 Zend/zend_generators.c zend_try_catch_element *try_catch = &ex->op_array->try_catch_array[i]; op_array 199 Zend/zend_generators.c ex->opline = &ex->op_array->opcodes[finally_op_num]; op_array 255 Zend/zend_generators.c ZEND_API zval *zend_generator_create_zval(zend_op_array *op_array TSRMLS_DC) /* {{{ */ op_array 266 Zend/zend_generators.c if (op_array->fn_flags & ZEND_ACC_CLOSURE) { op_array 268 Zend/zend_generators.c *op_array_copy = *op_array; op_array 270 Zend/zend_generators.c (*op_array->refcount)++; op_array 271 Zend/zend_generators.c op_array->run_time_cache = NULL; op_array 272 Zend/zend_generators.c if (op_array->static_variables) { op_array 276 Zend/zend_generators.c zend_hash_num_elements(op_array->static_variables), op_array 280 Zend/zend_generators.c op_array->static_variables TSRMLS_CC, op_array 286 Zend/zend_generators.c op_array = op_array_copy; op_array 296 Zend/zend_generators.c execute_data = zend_create_execute_data_from_op_array(op_array, 0 TSRMLS_CC); op_array 365 Zend/zend_generators.c EG(active_op_array) = generator->execute_data->op_array; op_array 694 Zend/zend_generators.c if (by_ref && !(generator->execute_data->op_array->fn_flags & ZEND_ACC_RETURN_REFERENCE)) { op_array 65 Zend/zend_generators.h ZEND_API zval *zend_generator_create_zval(zend_op_array *op_array TSRMLS_DC); op_array 558 Zend/zend_language_scanner.c zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array)); op_array 572 Zend/zend_language_scanner.c retval = op_array; /* success oriented */ op_array 583 Zend/zend_language_scanner.c init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); op_array 585 Zend/zend_language_scanner.c CG(active_op_array) = op_array; op_array 600 Zend/zend_language_scanner.c pass_two(op_array TSRMLS_CC); op_array 603 Zend/zend_language_scanner.c efree(op_array); op_array 720 Zend/zend_language_scanner.c zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array)); op_array 728 Zend/zend_language_scanner.c efree(op_array); op_array 741 Zend/zend_language_scanner.c efree(op_array); op_array 747 Zend/zend_language_scanner.c init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); op_array 749 Zend/zend_language_scanner.c CG(active_op_array) = op_array; op_array 763 Zend/zend_language_scanner.c destroy_op_array(op_array TSRMLS_CC); op_array 764 Zend/zend_language_scanner.c efree(op_array); op_array 769 Zend/zend_language_scanner.c pass_two(op_array TSRMLS_CC); op_array 771 Zend/zend_language_scanner.c retval = op_array; op_array 4351 Zend/zend_language_scanner.c zend_op_array *op_array = CG(active_op_array); op_array 4352 Zend/zend_language_scanner.c if (op_array && op_array->function_name) { op_array 4353 Zend/zend_language_scanner.c ZVAL_STRING(zendlval, op_array->function_name, 1); op_array 974 Zend/zend_object_handlers.c && fbc->op_array.fn_flags & ZEND_ACC_PRIVATE op_array 1068 Zend/zend_object_handlers.c if (fbc->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 1090 Zend/zend_object_handlers.c fbc->op_array.fn_flags & ZEND_ACC_CHANGED) { op_array 1231 Zend/zend_object_handlers.c if (fbc->op_array.fn_flags & ZEND_ACC_PUBLIC) { op_array 1233 Zend/zend_object_handlers.c } else if (fbc->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 1338 Zend/zend_object_handlers.c if (constructor->op_array.fn_flags & ZEND_ACC_PUBLIC) { op_array 1340 Zend/zend_object_handlers.c } else if (constructor->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 70 Zend/zend_objects.c if (destructor->op_array.fn_flags & (ZEND_ACC_PRIVATE|ZEND_ACC_PROTECTED)) { op_array 71 Zend/zend_objects.c if (destructor->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 32 Zend/zend_opcode.c static void zend_extension_op_array_ctor_handler(zend_extension *extension, zend_op_array *op_array TSRMLS_DC) op_array 35 Zend/zend_opcode.c extension->op_array_ctor(op_array); op_array 39 Zend/zend_opcode.c static void zend_extension_op_array_dtor_handler(zend_extension *extension, zend_op_array *op_array TSRMLS_DC) op_array 42 Zend/zend_opcode.c extension->op_array_dtor(op_array); op_array 46 Zend/zend_opcode.c static void op_array_alloc_ops(zend_op_array *op_array, zend_uint size) op_array 48 Zend/zend_opcode.c op_array->opcodes = erealloc(op_array->opcodes, size * sizeof(zend_op)); op_array 51 Zend/zend_opcode.c void init_op_array(zend_op_array *op_array, zend_uchar type, int initial_ops_size TSRMLS_DC) op_array 53 Zend/zend_opcode.c op_array->type = type; op_array 62 Zend/zend_opcode.c op_array->refcount = (zend_uint *) emalloc(sizeof(zend_uint)); op_array 63 Zend/zend_opcode.c *op_array->refcount = 1; op_array 64 Zend/zend_opcode.c op_array->last = 0; op_array 65 Zend/zend_opcode.c op_array->opcodes = NULL; op_array 66 Zend/zend_opcode.c op_array_alloc_ops(op_array, initial_ops_size); op_array 68 Zend/zend_opcode.c op_array->last_var = 0; op_array 69 Zend/zend_opcode.c op_array->vars = NULL; op_array 71 Zend/zend_opcode.c op_array->T = 0; op_array 73 Zend/zend_opcode.c op_array->nested_calls = 0; op_array 74 Zend/zend_opcode.c op_array->used_stack = 0; op_array 76 Zend/zend_opcode.c op_array->function_name = NULL; op_array 77 Zend/zend_opcode.c op_array->filename = zend_get_compiled_filename(TSRMLS_C); op_array 78 Zend/zend_opcode.c op_array->doc_comment = NULL; op_array 79 Zend/zend_opcode.c op_array->doc_comment_len = 0; op_array 81 Zend/zend_opcode.c op_array->arg_info = NULL; op_array 82 Zend/zend_opcode.c op_array->num_args = 0; op_array 83 Zend/zend_opcode.c op_array->required_num_args = 0; op_array 85 Zend/zend_opcode.c op_array->scope = NULL; op_array 87 Zend/zend_opcode.c op_array->brk_cont_array = NULL; op_array 88 Zend/zend_opcode.c op_array->try_catch_array = NULL; op_array 89 Zend/zend_opcode.c op_array->last_brk_cont = 0; op_array 91 Zend/zend_opcode.c op_array->static_variables = NULL; op_array 92 Zend/zend_opcode.c op_array->last_try_catch = 0; op_array 93 Zend/zend_opcode.c op_array->has_finally_block = 0; op_array 95 Zend/zend_opcode.c op_array->this_var = -1; op_array 97 Zend/zend_opcode.c op_array->fn_flags = CG(interactive)?ZEND_ACC_INTERACTIVE:0; op_array 99 Zend/zend_opcode.c op_array->early_binding = -1; op_array 101 Zend/zend_opcode.c op_array->last_literal = 0; op_array 102 Zend/zend_opcode.c op_array->literals = NULL; op_array 104 Zend/zend_opcode.c op_array->run_time_cache = NULL; op_array 105 Zend/zend_opcode.c op_array->last_cache_slot = 0; op_array 107 Zend/zend_opcode.c memset(op_array->reserved, 0, ZEND_MAX_RESERVED_RESOURCES * sizeof(void*)); op_array 109 Zend/zend_opcode.c zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_op_array_ctor_handler, op_array TSRMLS_CC); op_array 131 Zend/zend_opcode.c static void zend_cleanup_op_array_data(zend_op_array *op_array) op_array 133 Zend/zend_opcode.c if (op_array->static_variables) { op_array 134 Zend/zend_opcode.c zend_hash_clean(op_array->static_variables); op_array 354 Zend/zend_opcode.c ZEND_API void destroy_op_array(zend_op_array *op_array TSRMLS_DC) op_array 356 Zend/zend_opcode.c zend_literal *literal = op_array->literals; op_array 360 Zend/zend_opcode.c if (op_array->static_variables) { op_array 361 Zend/zend_opcode.c zend_hash_destroy(op_array->static_variables); op_array 362 Zend/zend_opcode.c FREE_HASHTABLE(op_array->static_variables); op_array 365 Zend/zend_opcode.c if (op_array->run_time_cache) { op_array 366 Zend/zend_opcode.c efree(op_array->run_time_cache); op_array 369 Zend/zend_opcode.c if (--(*op_array->refcount)>0) { op_array 373 Zend/zend_opcode.c efree(op_array->refcount); op_array 375 Zend/zend_opcode.c if (op_array->vars) { op_array 376 Zend/zend_opcode.c i = op_array->last_var; op_array 379 Zend/zend_opcode.c str_efree(op_array->vars[i].name); op_array 381 Zend/zend_opcode.c efree(op_array->vars); op_array 385 Zend/zend_opcode.c end = literal + op_array->last_literal; op_array 390 Zend/zend_opcode.c efree(op_array->literals); op_array 392 Zend/zend_opcode.c efree(op_array->opcodes); op_array 394 Zend/zend_opcode.c if (op_array->function_name) { op_array 395 Zend/zend_opcode.c efree((char*)op_array->function_name); op_array 397 Zend/zend_opcode.c if (op_array->doc_comment) { op_array 398 Zend/zend_opcode.c efree((char*)op_array->doc_comment); op_array 400 Zend/zend_opcode.c if (op_array->brk_cont_array) { op_array 401 Zend/zend_opcode.c efree(op_array->brk_cont_array); op_array 403 Zend/zend_opcode.c if (op_array->try_catch_array) { op_array 404 Zend/zend_opcode.c efree(op_array->try_catch_array); op_array 406 Zend/zend_opcode.c if (op_array->fn_flags & ZEND_ACC_DONE_PASS_TWO) { op_array 407 Zend/zend_opcode.c zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_op_array_dtor_handler, op_array TSRMLS_CC); op_array 409 Zend/zend_opcode.c if (op_array->arg_info) { op_array 410 Zend/zend_opcode.c for (i=0; i<op_array->num_args; i++) { op_array 411 Zend/zend_opcode.c str_efree(op_array->arg_info[i].name); op_array 412 Zend/zend_opcode.c if (op_array->arg_info[i].class_name) { op_array 413 Zend/zend_opcode.c str_efree(op_array->arg_info[i].class_name); op_array 416 Zend/zend_opcode.c efree(op_array->arg_info); op_array 427 Zend/zend_opcode.c zend_op *get_next_op(zend_op_array *op_array TSRMLS_DC) op_array 429 Zend/zend_opcode.c zend_uint next_op_num = op_array->last++; op_array 433 Zend/zend_opcode.c if (op_array->fn_flags & ZEND_ACC_INTERACTIVE) { op_array 440 Zend/zend_opcode.c op_array_alloc_ops(op_array, CG(context).opcodes_size); op_array 443 Zend/zend_opcode.c next_op = &(op_array->opcodes[next_op_num]); op_array 450 Zend/zend_opcode.c int get_next_op_number(zend_op_array *op_array) op_array 452 Zend/zend_opcode.c return op_array->last; op_array 455 Zend/zend_opcode.c zend_brk_cont_element *get_next_brk_cont_element(zend_op_array *op_array) op_array 457 Zend/zend_opcode.c op_array->last_brk_cont++; op_array 458 Zend/zend_opcode.c op_array->brk_cont_array = erealloc(op_array->brk_cont_array, sizeof(zend_brk_cont_element)*op_array->last_brk_cont); op_array 459 Zend/zend_opcode.c return &op_array->brk_cont_array[op_array->last_brk_cont-1]; op_array 462 Zend/zend_opcode.c static void zend_update_extended_info(zend_op_array *op_array TSRMLS_DC) op_array 464 Zend/zend_opcode.c zend_op *opline = op_array->opcodes, *end=opline+op_array->last; op_array 485 Zend/zend_opcode.c static void zend_extension_op_array_handler(zend_extension *extension, zend_op_array *op_array TSRMLS_DC) op_array 488 Zend/zend_opcode.c extension->op_array_handler(op_array); op_array 492 Zend/zend_opcode.c static void zend_check_finally_breakout(zend_op_array *op_array, zend_uint op_num, zend_uint dst_num TSRMLS_DC) op_array 496 Zend/zend_opcode.c for (i = 0; i < op_array->last_try_catch; i++) { op_array 497 Zend/zend_opcode.c if ((op_num < op_array->try_catch_array[i].finally_op || op_array 498 Zend/zend_opcode.c op_num >= op_array->try_catch_array[i].finally_end) op_array 499 Zend/zend_opcode.c && (dst_num >= op_array->try_catch_array[i].finally_op && op_array 500 Zend/zend_opcode.c dst_num <= op_array->try_catch_array[i].finally_end)) { op_array 502 Zend/zend_opcode.c CG(active_op_array) = op_array; op_array 503 Zend/zend_opcode.c CG(zend_lineno) = op_array->opcodes[op_num].lineno; op_array 505 Zend/zend_opcode.c } else if ((op_num >= op_array->try_catch_array[i].finally_op op_array 506 Zend/zend_opcode.c && op_num <= op_array->try_catch_array[i].finally_end) op_array 507 Zend/zend_opcode.c && (dst_num > op_array->try_catch_array[i].finally_end op_array 508 Zend/zend_opcode.c || dst_num < op_array->try_catch_array[i].finally_op)) { op_array 510 Zend/zend_opcode.c CG(active_op_array) = op_array; op_array 511 Zend/zend_opcode.c CG(zend_lineno) = op_array->opcodes[op_num].lineno; op_array 517 Zend/zend_opcode.c static void zend_adjust_fast_call(zend_op_array *op_array, zend_uint fast_call, zend_uint start, zend_uint end TSRMLS_DC) op_array 522 Zend/zend_opcode.c for (i = 0; i < op_array->last_try_catch; i++) { op_array 523 Zend/zend_opcode.c if (op_array->try_catch_array[i].finally_op > start op_array 524 Zend/zend_opcode.c && op_array->try_catch_array[i].finally_end < end) { op_array 525 Zend/zend_opcode.c op_num = op_array->try_catch_array[i].finally_op; op_array 526 Zend/zend_opcode.c start = op_array->try_catch_array[i].finally_end; op_array 532 Zend/zend_opcode.c ZEND_ASSERT(op_array->opcodes[op_num - 2].opcode == ZEND_FAST_CALL); op_array 533 Zend/zend_opcode.c op_array->opcodes[op_num - 2].extended_value = ZEND_FAST_CALL_FROM_FINALLY; op_array 534 Zend/zend_opcode.c op_array->opcodes[op_num - 2].op2.opline_num = fast_call; op_array 538 Zend/zend_opcode.c static void zend_resolve_fast_call(zend_op_array *op_array, zend_uint fast_call, zend_uint op_num TSRMLS_DC) op_array 543 Zend/zend_opcode.c for (i = 0; i < op_array->last_try_catch; i++) { op_array 544 Zend/zend_opcode.c if (op_num >= op_array->try_catch_array[i].finally_op op_array 545 Zend/zend_opcode.c && op_num < op_array->try_catch_array[i].finally_end) { op_array 546 Zend/zend_opcode.c finally_op_num = op_array->try_catch_array[i].finally_op; op_array 552 Zend/zend_opcode.c ZEND_ASSERT(op_array->opcodes[finally_op_num - 2].opcode == ZEND_FAST_CALL); op_array 553 Zend/zend_opcode.c if (op_array->opcodes[fast_call].extended_value == 0) { op_array 554 Zend/zend_opcode.c op_array->opcodes[fast_call].extended_value = ZEND_FAST_CALL_FROM_FINALLY; op_array 555 Zend/zend_opcode.c op_array->opcodes[fast_call].op2.opline_num = finally_op_num - 2; op_array 560 Zend/zend_opcode.c static void zend_resolve_finally_call(zend_op_array *op_array, zend_uint op_num, zend_uint dst_num TSRMLS_DC) op_array 564 Zend/zend_opcode.c zend_uint i = op_array->last_try_catch; op_array 567 Zend/zend_opcode.c zend_check_finally_breakout(op_array, op_num, dst_num TSRMLS_CC); op_array 573 Zend/zend_opcode.c if (op_array->try_catch_array[i].finally_op && op_array 574 Zend/zend_opcode.c op_num >= op_array->try_catch_array[i].try_op && op_array 575 Zend/zend_opcode.c op_num < op_array->try_catch_array[i].finally_op - 1 && op_array 576 Zend/zend_opcode.c (dst_num < op_array->try_catch_array[i].try_op || op_array 577 Zend/zend_opcode.c dst_num > op_array->try_catch_array[i].finally_end)) { op_array 581 Zend/zend_opcode.c start_op = get_next_op_number(op_array); op_array 583 Zend/zend_opcode.c opline = get_next_op(op_array TSRMLS_CC); op_array 587 Zend/zend_opcode.c zend_adjust_fast_call(op_array, start_op, op_array 588 Zend/zend_opcode.c op_array->try_catch_array[i].finally_op, op_array 589 Zend/zend_opcode.c op_array->try_catch_array[i].finally_end TSRMLS_CC); op_array 590 Zend/zend_opcode.c if (op_array->try_catch_array[i].catch_op) { op_array 592 Zend/zend_opcode.c opline->op2.opline_num = op_array->try_catch_array[i].catch_op; op_array 593 Zend/zend_opcode.c opline->op1.opline_num = get_next_op_number(op_array); op_array 595 Zend/zend_opcode.c opline = get_next_op(op_array TSRMLS_CC); op_array 599 Zend/zend_opcode.c zend_resolve_fast_call(op_array, start_op + 1, op_array->try_catch_array[i].finally_op - 2 TSRMLS_CC); op_array 601 Zend/zend_opcode.c zend_resolve_fast_call(op_array, start_op, op_array->try_catch_array[i].finally_op - 2 TSRMLS_CC); op_array 603 Zend/zend_opcode.c opline->op1.opline_num = op_array->try_catch_array[i].finally_op; op_array 608 Zend/zend_opcode.c if (op_array->try_catch_array[i].finally_op && op_array 609 Zend/zend_opcode.c op_num >= op_array->try_catch_array[i].try_op && op_array 610 Zend/zend_opcode.c op_num < op_array->try_catch_array[i].finally_op - 1 && op_array 611 Zend/zend_opcode.c (dst_num < op_array->try_catch_array[i].try_op || op_array 612 Zend/zend_opcode.c dst_num > op_array->try_catch_array[i].finally_end)) { op_array 614 Zend/zend_opcode.c opline = get_next_op(op_array TSRMLS_CC); op_array 618 Zend/zend_opcode.c opline->op1.opline_num = op_array->try_catch_array[i].finally_op; op_array 623 Zend/zend_opcode.c opline = get_next_op(op_array TSRMLS_CC); op_array 624 Zend/zend_opcode.c *opline = op_array->opcodes[op_num]; op_array 627 Zend/zend_opcode.c opline = op_array->opcodes + op_num; op_array 638 Zend/zend_opcode.c static void zend_resolve_finally_ret(zend_op_array *op_array, zend_uint op_num TSRMLS_DC) op_array 643 Zend/zend_opcode.c for (i = 0; i < op_array->last_try_catch; i++) { op_array 644 Zend/zend_opcode.c if (op_array->try_catch_array[i].try_op > op_num) { op_array 647 Zend/zend_opcode.c if (op_num < op_array->try_catch_array[i].finally_op) { op_array 648 Zend/zend_opcode.c finally_op_num = op_array->try_catch_array[i].finally_op; op_array 650 Zend/zend_opcode.c if (op_num < op_array->try_catch_array[i].catch_op) { op_array 651 Zend/zend_opcode.c catch_op_num = op_array->try_catch_array[i].catch_op; op_array 657 Zend/zend_opcode.c op_array->opcodes[op_num].extended_value = ZEND_FAST_RET_TO_FINALLY; op_array 658 Zend/zend_opcode.c op_array->opcodes[op_num].op2.opline_num = finally_op_num; op_array 661 Zend/zend_opcode.c op_array->opcodes[op_num].extended_value = ZEND_FAST_RET_TO_CATCH; op_array 662 Zend/zend_opcode.c op_array->opcodes[op_num].op2.opline_num = catch_op_num; op_array 666 Zend/zend_opcode.c static void zend_resolve_finally_calls(zend_op_array *op_array TSRMLS_DC) op_array 671 Zend/zend_opcode.c for (i = 0, j = op_array->last; i < j; i++) { op_array 672 Zend/zend_opcode.c opline = op_array->opcodes + i; op_array 677 Zend/zend_opcode.c zend_resolve_finally_call(op_array, i, (zend_uint)-1 TSRMLS_CC); op_array 685 Zend/zend_opcode.c nest_levels = Z_LVAL(op_array->literals[opline->op2.constant].constant); op_array 688 Zend/zend_opcode.c jmp_to = &op_array->brk_cont_array[array_offset]; op_array 693 Zend/zend_opcode.c zend_resolve_finally_call(op_array, i, opline->opcode == ZEND_BRK ? jmp_to->brk : jmp_to->cont TSRMLS_CC); op_array 698 Zend/zend_opcode.c if (Z_TYPE(op_array->literals[opline->op2.constant].constant) != IS_LONG) { op_array 700 Zend/zend_opcode.c opline->op2.zv = &op_array->literals[opline->op2.constant].constant; op_array 701 Zend/zend_opcode.c zend_resolve_goto_label(op_array, opline, 1 TSRMLS_CC); op_array 706 Zend/zend_opcode.c zend_resolve_finally_call(op_array, i, opline->op1.opline_num TSRMLS_CC); op_array 709 Zend/zend_opcode.c zend_resolve_fast_call(op_array, i, i TSRMLS_CC); op_array 712 Zend/zend_opcode.c zend_resolve_finally_ret(op_array, i TSRMLS_CC); op_array 720 Zend/zend_opcode.c ZEND_API int pass_two(zend_op_array *op_array TSRMLS_DC) op_array 724 Zend/zend_opcode.c if (op_array->type!=ZEND_USER_FUNCTION && op_array->type!=ZEND_EVAL_CODE) { op_array 727 Zend/zend_opcode.c if (op_array->has_finally_block) { op_array 728 Zend/zend_opcode.c zend_resolve_finally_calls(op_array TSRMLS_CC); op_array 731 Zend/zend_opcode.c zend_update_extended_info(op_array TSRMLS_CC); op_array 734 Zend/zend_opcode.c zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_op_array_handler, op_array TSRMLS_CC); op_array 737 Zend/zend_opcode.c if (!(op_array->fn_flags & ZEND_ACC_INTERACTIVE) && CG(context).vars_size != op_array->last_var) { op_array 738 Zend/zend_opcode.c op_array->vars = (zend_compiled_variable *) erealloc(op_array->vars, sizeof(zend_compiled_variable)*op_array->last_var); op_array 739 Zend/zend_opcode.c CG(context).vars_size = op_array->last_var; op_array 741 Zend/zend_opcode.c if (!(op_array->fn_flags & ZEND_ACC_INTERACTIVE) && CG(context).opcodes_size != op_array->last) { op_array 742 Zend/zend_opcode.c op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, sizeof(zend_op)*op_array->last); op_array 743 Zend/zend_opcode.c CG(context).opcodes_size = op_array->last; op_array 745 Zend/zend_opcode.c if (!(op_array->fn_flags & ZEND_ACC_INTERACTIVE) && CG(context).literals_size != op_array->last_literal) { op_array 746 Zend/zend_opcode.c op_array->literals = (zend_literal*)erealloc(op_array->literals, sizeof(zend_literal) * op_array->last_literal); op_array 747 Zend/zend_opcode.c CG(context).literals_size = op_array->last_literal; op_array 750 Zend/zend_opcode.c opline = op_array->opcodes; op_array 751 Zend/zend_opcode.c end = opline + op_array->last; op_array 754 Zend/zend_opcode.c opline->op1.zv = &op_array->literals[opline->op1.constant].constant; op_array 757 Zend/zend_opcode.c opline->op2.zv = &op_array->literals[opline->op2.constant].constant; op_array 762 Zend/zend_opcode.c zend_resolve_goto_label(op_array, opline, 1 TSRMLS_CC); op_array 767 Zend/zend_opcode.c opline->op1.jmp_addr = &op_array->opcodes[opline->op1.opline_num]; op_array 775 Zend/zend_opcode.c opline->op2.jmp_addr = &op_array->opcodes[opline->op2.opline_num]; op_array 779 Zend/zend_opcode.c if (op_array->fn_flags & ZEND_ACC_GENERATOR) { op_array 793 Zend/zend_opcode.c op_array->fn_flags |= ZEND_ACC_DONE_PASS_TWO; op_array 1825 Zend/zend_vm_def.h zend_op_array *op_array = EX(op_array); op_array 1833 Zend/zend_vm_def.h zend_vm_stack_free((char*)execute_data - (ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * op_array->T) TSRMLS_CC); op_array 1835 Zend/zend_vm_def.h if ((op_array->fn_flags & ZEND_ACC_CLOSURE) && op_array->prototype) { op_array 1836 Zend/zend_vm_def.h zval_ptr_dtor((zval**)&op_array->prototype); op_array 1849 Zend/zend_vm_def.h EX(function_state).function = (zend_function *) EX(op_array); op_array 1853 Zend/zend_vm_def.h EG(active_op_array) = EX(op_array); op_array 1855 Zend/zend_vm_def.h destroy_op_array(op_array TSRMLS_CC); op_array 1856 Zend/zend_vm_def.h efree(op_array); op_array 1866 Zend/zend_vm_def.h EG(active_op_array) = EX(op_array); op_array 1873 Zend/zend_vm_def.h EX(function_state).function = (zend_function *) EX(op_array); op_array 2004 Zend/zend_vm_def.h EG(active_op_array) = &fbc->op_array; op_array 2027 Zend/zend_vm_def.h EG(active_op_array) = EX(op_array); op_array 2059 Zend/zend_vm_def.h EX(function_state).function = (zend_function *) EX(op_array); op_array 2188 Zend/zend_vm_def.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->extended_value]); op_array 2194 Zend/zend_vm_def.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 3021 Zend/zend_vm_def.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->extended_value]); op_array 3045 Zend/zend_vm_def.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->extended_value]); op_array 3055 Zend/zend_vm_def.h EX_CV(opline->op2.var) = (zval**)EX_CV_NUM(execute_data, EX(op_array)->last_var + opline->op2.var); op_array 3401 Zend/zend_vm_def.h if(ptr && ptr->op_array) { op_array 3402 Zend/zend_vm_def.h zend_error(E_WARNING, "Missing argument %u for %s%s%s(), called in %s on line %d and defined", opline->op1.num, class_name, space, get_active_function_name(TSRMLS_C), ptr->op_array->filename, ptr->opline->lineno); op_array 3514 Zend/zend_vm_def.h EX(op_array), execute_data TSRMLS_CC); op_array 3515 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes + el->brk); op_array 3525 Zend/zend_vm_def.h EX(op_array), execute_data TSRMLS_CC); op_array 3526 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes + el->cont); op_array 3537 Zend/zend_vm_def.h EX(op_array), execute_data TSRMLS_CC); op_array 3539 Zend/zend_vm_def.h brk_opline = EX(op_array)->opcodes + el->brk; op_array 3609 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes + opline->op2.opline_num); op_array 3664 Zend/zend_vm_def.h if (clone->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 4054 Zend/zend_vm_def.h EX(function_state).function = (zend_function *) EX(op_array); op_array 4057 Zend/zend_vm_def.h EG(active_op_array) = EX(op_array); op_array 4313 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 4447 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 4474 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 4488 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 4518 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 4545 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 4554 Zend/zend_vm_def.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 4883 Zend/zend_vm_def.h zend_error_noreturn(E_ERROR, "Cannot call abstract method %s::%s()", EG(scope)->name, EX(op_array)->function_name); op_array 5027 Zend/zend_vm_def.h zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_statement_handler, EX(op_array) TSRMLS_CC); op_array 5037 Zend/zend_vm_def.h zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_fcall_begin_handler, EX(op_array) TSRMLS_CC); op_array 5047 Zend/zend_vm_def.h zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_fcall_end_handler, EX(op_array) TSRMLS_CC); op_array 5058 Zend/zend_vm_def.h EX_T(opline->result.var).class_entry = do_bind_class(EX(op_array), opline, EG(class_table), 0 TSRMLS_CC); op_array 5068 Zend/zend_vm_def.h EX_T(opline->result.var).class_entry = do_bind_inherited_class(EX(op_array), opline, EG(class_table), EX_T(opline->extended_value).class_entry, 0 TSRMLS_CC); op_array 5082 Zend/zend_vm_def.h do_bind_inherited_class(EX(op_array), opline, EG(class_table), EX_T(opline->extended_value).class_entry, 0 TSRMLS_CC); op_array 5093 Zend/zend_vm_def.h do_bind_function(EX(op_array), opline, EG(function_table), 0); op_array 5236 Zend/zend_vm_def.h catch_op_num = EX(op_array)->try_catch_array[i].catch_op; op_array 5239 Zend/zend_vm_def.h finally_op_num = EX(op_array)->try_catch_array[i].finally_op; op_array 5270 Zend/zend_vm_def.h for (i=0; i<EX(op_array)->last_brk_cont; i++) { op_array 5271 Zend/zend_vm_def.h if (EX(op_array)->brk_cont_array[i].start < 0) { op_array 5273 Zend/zend_vm_def.h } else if (EX(op_array)->brk_cont_array[i].start > op_num) { op_array 5276 Zend/zend_vm_def.h } else if (op_num < EX(op_array)->brk_cont_array[i].brk) { op_array 5278 Zend/zend_vm_def.h catch_op_num >= EX(op_array)->brk_cont_array[i].brk) { op_array 5279 Zend/zend_vm_def.h zend_op *brk_opline = &EX(op_array)->opcodes[EX(op_array)->brk_cont_array[i].brk]; op_array 5316 Zend/zend_vm_def.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[finally_op_num]); op_array 5326 Zend/zend_vm_def.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); op_array 5333 Zend/zend_vm_def.h if (UNEXPECTED((EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) != 0)) { op_array 5364 Zend/zend_vm_def.h if (UNEXPECTED((EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) != 0)) { op_array 5430 Zend/zend_vm_def.h zend_function *op_array; op_array 5434 Zend/zend_vm_def.h if (UNEXPECTED(zend_hash_quick_find(EG(function_table), Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), Z_HASH_P(opline->op1.zv), (void *) &op_array) == FAILURE) || op_array 5435 Zend/zend_vm_def.h UNEXPECTED(op_array->type != ZEND_USER_FUNCTION)) { op_array 5439 Zend/zend_vm_def.h if (UNEXPECTED((op_array->common.fn_flags & ZEND_ACC_STATIC) || op_array 5442 Zend/zend_vm_def.h zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(called_scope), NULL TSRMLS_CC); op_array 5444 Zend/zend_vm_def.h zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(scope), EG(This) TSRMLS_CC); op_array 5497 Zend/zend_vm_def.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 5651 Zend/zend_vm_def.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 5668 Zend/zend_vm_def.h EX(fast_ret) = &EX(op_array)->opcodes[EX(fast_ret)->op2.opline_num]; op_array 5676 Zend/zend_vm_def.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 5682 Zend/zend_vm_def.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 5684 Zend/zend_vm_def.h } else if (UNEXPECTED((EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) != 0)) { op_array 383 Zend/zend_vm_execute.h ZEND_API void zend_execute(zend_op_array *op_array TSRMLS_DC) op_array 388 Zend/zend_vm_execute.h zend_execute_ex(i_create_execute_data_from_op_array(op_array, 0 TSRMLS_CC) TSRMLS_CC); op_array 394 Zend/zend_vm_execute.h zend_op_array *op_array = EX(op_array); op_array 402 Zend/zend_vm_execute.h zend_vm_stack_free((char*)execute_data - (ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * op_array->T) TSRMLS_CC); op_array 404 Zend/zend_vm_execute.h if ((op_array->fn_flags & ZEND_ACC_CLOSURE) && op_array->prototype) { op_array 405 Zend/zend_vm_execute.h zval_ptr_dtor((zval**)&op_array->prototype); op_array 418 Zend/zend_vm_execute.h EX(function_state).function = (zend_function *) EX(op_array); op_array 422 Zend/zend_vm_execute.h EG(active_op_array) = EX(op_array); op_array 424 Zend/zend_vm_execute.h destroy_op_array(op_array TSRMLS_CC); op_array 425 Zend/zend_vm_execute.h efree(op_array); op_array 435 Zend/zend_vm_execute.h EG(active_op_array) = EX(op_array); op_array 442 Zend/zend_vm_execute.h EX(function_state).function = (zend_function *) EX(op_array); op_array 573 Zend/zend_vm_execute.h EG(active_op_array) = &fbc->op_array; op_array 596 Zend/zend_vm_execute.h EG(active_op_array) = EX(op_array); op_array 628 Zend/zend_vm_execute.h EX(function_state).function = (zend_function *) EX(op_array); op_array 877 Zend/zend_vm_execute.h if(ptr && ptr->op_array) { op_array 878 Zend/zend_vm_execute.h zend_error(E_WARNING, "Missing argument %u for %s%s%s(), called in %s on line %d and defined", opline->op1.num, class_name, space, get_active_function_name(TSRMLS_C), ptr->op_array->filename, ptr->opline->lineno); op_array 956 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes + opline->op2.opline_num); op_array 1023 Zend/zend_vm_execute.h zend_error_noreturn(E_ERROR, "Cannot call abstract method %s::%s()", EG(scope)->name, EX(op_array)->function_name); op_array 1031 Zend/zend_vm_execute.h zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_statement_handler, EX(op_array) TSRMLS_CC); op_array 1041 Zend/zend_vm_execute.h zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_fcall_begin_handler, EX(op_array) TSRMLS_CC); op_array 1051 Zend/zend_vm_execute.h zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_fcall_end_handler, EX(op_array) TSRMLS_CC); op_array 1062 Zend/zend_vm_execute.h EX_T(opline->result.var).class_entry = do_bind_class(EX(op_array), opline, EG(class_table), 0 TSRMLS_CC); op_array 1072 Zend/zend_vm_execute.h EX_T(opline->result.var).class_entry = do_bind_inherited_class(EX(op_array), opline, EG(class_table), EX_T(opline->extended_value).class_entry, 0 TSRMLS_CC); op_array 1086 Zend/zend_vm_execute.h do_bind_inherited_class(EX(op_array), opline, EG(class_table), EX_T(opline->extended_value).class_entry, 0 TSRMLS_CC); op_array 1097 Zend/zend_vm_execute.h do_bind_function(EX(op_array), opline, EG(function_table), 0); op_array 1192 Zend/zend_vm_execute.h catch_op_num = EX(op_array)->try_catch_array[i].catch_op; op_array 1195 Zend/zend_vm_execute.h finally_op_num = EX(op_array)->try_catch_array[i].finally_op; op_array 1226 Zend/zend_vm_execute.h for (i=0; i<EX(op_array)->last_brk_cont; i++) { op_array 1227 Zend/zend_vm_execute.h if (EX(op_array)->brk_cont_array[i].start < 0) { op_array 1229 Zend/zend_vm_execute.h } else if (EX(op_array)->brk_cont_array[i].start > op_num) { op_array 1232 Zend/zend_vm_execute.h } else if (op_num < EX(op_array)->brk_cont_array[i].brk) { op_array 1234 Zend/zend_vm_execute.h catch_op_num >= EX(op_array)->brk_cont_array[i].brk) { op_array 1235 Zend/zend_vm_execute.h zend_op *brk_opline = &EX(op_array)->opcodes[EX(op_array)->brk_cont_array[i].brk]; op_array 1272 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[finally_op_num]); op_array 1282 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); op_array 1289 Zend/zend_vm_execute.h if (UNEXPECTED((EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) != 0)) { op_array 1320 Zend/zend_vm_execute.h if (UNEXPECTED((EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) != 0)) { op_array 1354 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 1371 Zend/zend_vm_execute.h EX(fast_ret) = &EX(op_array)->opcodes[EX(fast_ret)->op2.opline_num]; op_array 1379 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 1385 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 1387 Zend/zend_vm_execute.h } else if (UNEXPECTED((EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) != 0)) { op_array 1669 Zend/zend_vm_execute.h EX(op_array), execute_data TSRMLS_CC); op_array 1670 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes + el->brk); op_array 1680 Zend/zend_vm_execute.h EX(op_array), execute_data TSRMLS_CC); op_array 1681 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes + el->cont); op_array 1692 Zend/zend_vm_execute.h EX(op_array), execute_data TSRMLS_CC); op_array 1694 Zend/zend_vm_execute.h brk_opline = EX(op_array)->opcodes + el->brk; op_array 2506 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->extended_value]); op_array 2512 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 2826 Zend/zend_vm_execute.h if (clone->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 3029 Zend/zend_vm_execute.h EX(function_state).function = (zend_function *) EX(op_array); op_array 3032 Zend/zend_vm_execute.h EG(active_op_array) = EX(op_array); op_array 3073 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 3207 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 4379 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 5081 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 6108 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 6806 Zend/zend_vm_execute.h zend_function *op_array; op_array 6810 Zend/zend_vm_execute.h if (UNEXPECTED(zend_hash_quick_find(EG(function_table), Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), Z_HASH_P(opline->op1.zv), (void *) &op_array) == FAILURE) || op_array 6811 Zend/zend_vm_execute.h UNEXPECTED(op_array->type != ZEND_USER_FUNCTION)) { op_array 6815 Zend/zend_vm_execute.h if (UNEXPECTED((op_array->common.fn_flags & ZEND_ACC_STATIC) || op_array 6818 Zend/zend_vm_execute.h zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(called_scope), NULL TSRMLS_CC); op_array 6820 Zend/zend_vm_execute.h zend_create_closure(&EX_T(opline->result.var).tmp_var, (zend_function *) op_array, EG(scope), EG(This) TSRMLS_CC); op_array 6852 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 7414 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->extended_value]); op_array 7438 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->extended_value]); op_array 7448 Zend/zend_vm_execute.h EX_CV(opline->op2.var) = (zval**)EX_CV_NUM(execute_data, EX(op_array)->last_var + opline->op2.var); op_array 7598 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 7883 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->extended_value]); op_array 7889 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 8192 Zend/zend_vm_execute.h if (clone->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 8395 Zend/zend_vm_execute.h EX(function_state).function = (zend_function *) EX(op_array); op_array 8398 Zend/zend_vm_execute.h EG(active_op_array) = EX(op_array); op_array 8439 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 8573 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 9661 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 10365 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 11394 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 11989 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 12675 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 13140 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->extended_value]); op_array 13146 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 13561 Zend/zend_vm_execute.h if (clone->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 13764 Zend/zend_vm_execute.h EX(function_state).function = (zend_function *) EX(op_array); op_array 13767 Zend/zend_vm_execute.h EG(active_op_array) = EX(op_array); op_array 13808 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 13942 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 13969 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 13983 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 14013 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 14040 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 14049 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 16588 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 18688 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 21169 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 22339 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 24474 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 24661 Zend/zend_vm_execute.h if (clone->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 25991 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 27313 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 28635 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 29067 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 30386 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 30836 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->extended_value]); op_array 30842 Zend/zend_vm_execute.h ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); op_array 31230 Zend/zend_vm_execute.h if (clone->op_array.fn_flags & ZEND_ACC_PRIVATE) { op_array 31433 Zend/zend_vm_execute.h EX(function_state).function = (zend_function *) EX(op_array); op_array 31436 Zend/zend_vm_execute.h EG(active_op_array) = EX(op_array); op_array 31477 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 31611 Zend/zend_vm_execute.h ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num); op_array 33895 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 35858 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 38201 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 39222 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 41219 Zend/zend_vm_execute.h if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 41 ext/opcache/Optimizer/block_pass.c # define BLOCK_REF(b) b?op_array->opcodes-b->start_opline:-1 op_array 78 ext/opcache/Optimizer/block_pass.c #define START_BLOCK_OP(opno) blocks[opno].start_opline = &op_array->opcodes[opno]; blocks[opno].start_opline_no = opno; blocks[opno].access = 1 op_array 83 ext/opcache/Optimizer/block_pass.c static int find_code_blocks(zend_op_array *op_array, zend_cfg *cfg) op_array 86 ext/opcache/Optimizer/block_pass.c zend_op *end = op_array->opcodes + op_array->last; op_array 91 ext/opcache/Optimizer/block_pass.c blocks = cfg->blocks = ecalloc(op_array->last + 2, sizeof(zend_code_block)); op_array 92 ext/opcache/Optimizer/block_pass.c opline = op_array->opcodes; op_array 170 ext/opcache/Optimizer/block_pass.c if (op_array->last_try_catch) { op_array 172 ext/opcache/Optimizer/block_pass.c cfg->try = ecalloc(op_array->last_try_catch, sizeof(zend_code_block *)); op_array 173 ext/opcache/Optimizer/block_pass.c cfg->catch = ecalloc(op_array->last_try_catch, sizeof(zend_code_block *)); op_array 174 ext/opcache/Optimizer/block_pass.c for (i = 0; i< op_array->last_try_catch; i++) { op_array 175 ext/opcache/Optimizer/block_pass.c cfg->try[i] = &blocks[op_array->try_catch_array[i].try_op]; op_array 176 ext/opcache/Optimizer/block_pass.c cfg->catch[i] = &blocks[op_array->try_catch_array[i].catch_op]; op_array 177 ext/opcache/Optimizer/block_pass.c START_BLOCK_OP(op_array->try_catch_array[i].try_op); op_array 178 ext/opcache/Optimizer/block_pass.c START_BLOCK_OP(op_array->try_catch_array[i].catch_op); op_array 179 ext/opcache/Optimizer/block_pass.c blocks[op_array->try_catch_array[i].try_op].protected = 1; op_array 185 ext/opcache/Optimizer/block_pass.c if (op_array->last_brk_cont) { op_array 189 ext/opcache/Optimizer/block_pass.c for (i = 0; i< op_array->last_brk_cont; i++) { op_array 190 ext/opcache/Optimizer/block_pass.c if (op_array->brk_cont_array[i].start >= 0 && op_array 191 ext/opcache/Optimizer/block_pass.c (op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FREE || op_array 192 ext/opcache/Optimizer/block_pass.c op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_SWITCH_FREE)) { op_array 193 ext/opcache/Optimizer/block_pass.c int parent = op_array->brk_cont_array[i].parent; op_array 196 ext/opcache/Optimizer/block_pass.c op_array->brk_cont_array[parent].start < 0 && op_array 197 ext/opcache/Optimizer/block_pass.c op_array->opcodes[op_array->brk_cont_array[parent].brk].opcode != ZEND_FREE && op_array 198 ext/opcache/Optimizer/block_pass.c op_array->opcodes[op_array->brk_cont_array[parent].brk].opcode != ZEND_SWITCH_FREE) { op_array 199 ext/opcache/Optimizer/block_pass.c parent = op_array->brk_cont_array[parent].parent; op_array 201 ext/opcache/Optimizer/block_pass.c op_array->brk_cont_array[i].parent = parent; op_array 206 ext/opcache/Optimizer/block_pass.c cfg->loop_start = ecalloc(op_array->last_brk_cont, sizeof(zend_code_block *)); op_array 207 ext/opcache/Optimizer/block_pass.c cfg->loop_cont = ecalloc(op_array->last_brk_cont, sizeof(zend_code_block *)); op_array 208 ext/opcache/Optimizer/block_pass.c cfg->loop_brk = ecalloc(op_array->last_brk_cont, sizeof(zend_code_block *)); op_array 210 ext/opcache/Optimizer/block_pass.c for (i = 0; i< op_array->last_brk_cont; i++) { op_array 211 ext/opcache/Optimizer/block_pass.c if (op_array->brk_cont_array[i].start >= 0 && op_array 212 ext/opcache/Optimizer/block_pass.c (op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FREE || op_array 213 ext/opcache/Optimizer/block_pass.c op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_SWITCH_FREE)) { op_array 215 ext/opcache/Optimizer/block_pass.c op_array->brk_cont_array[j] = op_array->brk_cont_array[i]; op_array 217 ext/opcache/Optimizer/block_pass.c cfg->loop_start[j] = &blocks[op_array->brk_cont_array[j].start]; op_array 218 ext/opcache/Optimizer/block_pass.c cfg->loop_cont[j] = &blocks[op_array->brk_cont_array[j].cont]; op_array 219 ext/opcache/Optimizer/block_pass.c cfg->loop_brk[j] = &blocks[op_array->brk_cont_array[j].brk]; op_array 220 ext/opcache/Optimizer/block_pass.c START_BLOCK_OP(op_array->brk_cont_array[j].start); op_array 221 ext/opcache/Optimizer/block_pass.c START_BLOCK_OP(op_array->brk_cont_array[j].cont); op_array 222 ext/opcache/Optimizer/block_pass.c START_BLOCK_OP(op_array->brk_cont_array[j].brk); op_array 223 ext/opcache/Optimizer/block_pass.c blocks[op_array->brk_cont_array[j].start].protected = 1; op_array 224 ext/opcache/Optimizer/block_pass.c blocks[op_array->brk_cont_array[j].brk].protected = 1; op_array 228 ext/opcache/Optimizer/block_pass.c op_array->last_brk_cont = j; op_array 230 ext/opcache/Optimizer/block_pass.c efree(op_array->brk_cont_array); op_array 231 ext/opcache/Optimizer/block_pass.c op_array->brk_cont_array = NULL; op_array 232 ext/opcache/Optimizer/block_pass.c op_array->last_brk_cont = 0; op_array 238 ext/opcache/Optimizer/block_pass.c for (opno = 1; opno < op_array->last; opno++) { op_array 303 ext/opcache/Optimizer/block_pass.c print_block(cur_block, op_array->opcodes, ""); op_array 308 ext/opcache/Optimizer/block_pass.c cur_block->next = &blocks[op_array->last + 1]; op_array 309 ext/opcache/Optimizer/block_pass.c print_block(cur_block, op_array->opcodes, ""); op_array 488 ext/opcache/Optimizer/block_pass.c static void zend_rebuild_access_path(zend_cfg *cfg, zend_op_array *op_array, int find_start) op_array 516 ext/opcache/Optimizer/block_pass.c if (op_array->last_brk_cont) { op_array 518 ext/opcache/Optimizer/block_pass.c for (i=0; i< op_array->last_brk_cont; i++) { op_array 526 ext/opcache/Optimizer/block_pass.c if (op_array->last_try_catch) { op_array 528 ext/opcache/Optimizer/block_pass.c for (i=0; i< op_array->last_try_catch; i++) { op_array 610 ext/opcache/Optimizer/block_pass.c static void zend_optimize_block(zend_code_block *block, zend_op_array *op_array, char *used_ext TSRMLS_DC) op_array 616 ext/opcache/Optimizer/block_pass.c print_block(block, op_array->opcodes, "Opt "); op_array 633 ext/opcache/Optimizer/block_pass.c if (op_array->T) { op_array 634 ext/opcache/Optimizer/block_pass.c Tsource = ecalloc(op_array->T, sizeof(zend_op *)); op_array 638 ext/opcache/Optimizer/block_pass.c while ((op_array->T) && (opline < end)) { op_array 653 ext/opcache/Optimizer/block_pass.c update_op1_const(op_array, opline, &c TSRMLS_CC); op_array 667 ext/opcache/Optimizer/block_pass.c update_op2_const(op_array, opline, &c TSRMLS_CC); op_array 771 ext/opcache/Optimizer/block_pass.c ZEND_OP1_LITERAL(opline) = zend_optimizer_add_literal(op_array, &c TSRMLS_CC); op_array 1043 ext/opcache/Optimizer/block_pass.c update_op1_const(op_array, opline, &result TSRMLS_CC); op_array 1069 ext/opcache/Optimizer/block_pass.c update_op1_const(op_array, opline, &result TSRMLS_CC); op_array 1186 ext/opcache/Optimizer/block_pass.c if (op_array->T) { op_array 1192 ext/opcache/Optimizer/block_pass.c static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array) op_array 1195 ext/opcache/Optimizer/block_pass.c zend_op *new_opcodes = emalloc(op_array->last * sizeof(zend_op)); op_array 1250 ext/opcache/Optimizer/block_pass.c op_array->last = opline-new_opcodes; op_array 1253 ext/opcache/Optimizer/block_pass.c if (op_array->last_try_catch) { op_array 1255 ext/opcache/Optimizer/block_pass.c for (i = 0, j = 0; i< op_array->last_try_catch; i++) { op_array 1257 ext/opcache/Optimizer/block_pass.c op_array->try_catch_array[j].try_op = cfg->try[i]->start_opline - new_opcodes; op_array 1258 ext/opcache/Optimizer/block_pass.c op_array->try_catch_array[j].catch_op = cfg->catch[i]->start_opline - new_opcodes; op_array 1262 ext/opcache/Optimizer/block_pass.c op_array->last_try_catch = j; op_array 1268 ext/opcache/Optimizer/block_pass.c if (op_array->last_brk_cont) { op_array 1270 ext/opcache/Optimizer/block_pass.c for (i = 0; i< op_array->last_brk_cont; i++) { op_array 1271 ext/opcache/Optimizer/block_pass.c op_array->brk_cont_array[i].start = cfg->loop_start[i]->start_opline - new_opcodes; op_array 1272 ext/opcache/Optimizer/block_pass.c op_array->brk_cont_array[i].cont = cfg->loop_cont[i]->start_opline - new_opcodes; op_array 1273 ext/opcache/Optimizer/block_pass.c op_array->brk_cont_array[i].brk = cfg->loop_brk[i]->start_opline - new_opcodes; op_array 1300 ext/opcache/Optimizer/block_pass.c efree(op_array->opcodes); op_array 1301 ext/opcache/Optimizer/block_pass.c op_array->opcodes = erealloc(new_opcodes, op_array->last * sizeof(zend_op)); op_array 1305 ext/opcache/Optimizer/block_pass.c if (op_array->early_binding != (zend_uint)-1) { op_array 1306 ext/opcache/Optimizer/block_pass.c zend_uint *opline_num = &op_array->early_binding; op_array 1309 ext/opcache/Optimizer/block_pass.c opline = op_array->opcodes; op_array 1310 ext/opcache/Optimizer/block_pass.c end = opline + op_array->last; op_array 1313 ext/opcache/Optimizer/block_pass.c *opline_num = opline - op_array->opcodes; op_array 1323 ext/opcache/Optimizer/block_pass.c static void zend_jmp_optimization(zend_code_block *block, zend_op_array *op_array, zend_code_block *blocks TSRMLS_DC) op_array 1370 ext/opcache/Optimizer/block_pass.c last_op->op1.constant = zend_optimizer_add_literal(op_array, &zv TSRMLS_CC); op_array 1406 ext/opcache/Optimizer/block_pass.c last_op->op1.constant = zend_optimizer_add_literal(op_array, &zv TSRMLS_CC); op_array 1415 ext/opcache/Optimizer/block_pass.c op_array->last_try_catch == 0 && op_array 1637 ext/opcache/Optimizer/block_pass.c if (op_array->T >= (zend_uint)op_array->last_var) { op_array 1638 ext/opcache/Optimizer/block_pass.c var_num = op_array->T; op_array 1640 ext/opcache/Optimizer/block_pass.c var_num = op_array->last_var; op_array 1873 ext/opcache/Optimizer/block_pass.c static void zend_t_usage(zend_code_block *block, zend_op_array *op_array, char *used_ext) op_array 1879 ext/opcache/Optimizer/block_pass.c if (op_array->T == 0) { op_array 1884 ext/opcache/Optimizer/block_pass.c usage = ecalloc(op_array->T, 1); op_array 1885 ext/opcache/Optimizer/block_pass.c defined_here = emalloc(op_array->T); op_array 1895 ext/opcache/Optimizer/block_pass.c memset(defined_here, 0, op_array->T); op_array 1922 ext/opcache/Optimizer/block_pass.c for (i = 0; i< op_array->T; i++) { op_array 1936 ext/opcache/Optimizer/block_pass.c memcpy(usage, used_ext, op_array->T); op_array 2037 ext/opcache/Optimizer/block_pass.c static void zend_block_optimization(zend_op_array *op_array TSRMLS_DC) op_array 2045 ext/opcache/Optimizer/block_pass.c fprintf(stderr, "File %s func %s\n", op_array->filename, op_array->function_name? op_array->function_name : "main"); op_array 2050 ext/opcache/Optimizer/block_pass.c if (op_array->has_finally_block) { op_array 2056 ext/opcache/Optimizer/block_pass.c if (!find_code_blocks(op_array, &cfg)) { op_array 2060 ext/opcache/Optimizer/block_pass.c zend_rebuild_access_path(&cfg, op_array, 0); op_array 2062 ext/opcache/Optimizer/block_pass.c usage = emalloc(op_array->T); op_array 2065 ext/opcache/Optimizer/block_pass.c memset(usage, 0, op_array->T); op_array 2066 ext/opcache/Optimizer/block_pass.c zend_t_usage(cfg.blocks, op_array, usage); op_array 2073 ext/opcache/Optimizer/block_pass.c zend_optimize_block(cur_block, op_array, usage TSRMLS_CC); op_array 2081 ext/opcache/Optimizer/block_pass.c zend_jmp_optimization(cur_block, op_array, cfg.blocks TSRMLS_CC); op_array 2085 ext/opcache/Optimizer/block_pass.c zend_rebuild_access_path(&cfg, op_array, 1); op_array 2088 ext/opcache/Optimizer/block_pass.c memset(usage, 0, op_array->T); op_array 2089 ext/opcache/Optimizer/block_pass.c zend_t_usage(cfg.blocks, op_array, usage); op_array 2090 ext/opcache/Optimizer/block_pass.c assemble_code_blocks(&cfg, op_array); op_array 60 ext/opcache/Optimizer/compact_literals.c zend_op_array *op_array) op_array 66 ext/opcache/Optimizer/compact_literals.c if (Z_TYPE(op_array->literals[constant].constant) == IS_STRING && op_array 68 ext/opcache/Optimizer/compact_literals.c LITERAL_INFO_OBJ(constant, kind, 1, slots, related, op_array->this_var); op_array 81 ext/opcache/Optimizer/compact_literals.c zend_op_array *op_array) op_array 90 ext/opcache/Optimizer/compact_literals.c static void optimizer_compact_literals(zend_op_array *op_array TSRMLS_DC) op_array 103 ext/opcache/Optimizer/compact_literals.c if (op_array->last_literal) { op_array 104 ext/opcache/Optimizer/compact_literals.c info = (literal_info*)ecalloc(op_array->last_literal, sizeof(literal_info)); op_array 107 ext/opcache/Optimizer/compact_literals.c opline = op_array->opcodes; op_array 108 ext/opcache/Optimizer/compact_literals.c end = opline + op_array->last; op_array 130 ext/opcache/Optimizer/compact_literals.c op_array); op_array 144 ext/opcache/Optimizer/compact_literals.c op_array); op_array 167 ext/opcache/Optimizer/compact_literals.c op_array); op_array 193 ext/opcache/Optimizer/compact_literals.c op_array); op_array 224 ext/opcache/Optimizer/compact_literals.c op_array); op_array 246 ext/opcache/Optimizer/compact_literals.c op_array); op_array 267 ext/opcache/Optimizer/compact_literals.c fprintf(stderr, "File %s func %s\n", op_array->filename, op_array 268 ext/opcache/Optimizer/compact_literals.c op_array->function_name? op_array->function_name : "main"); op_array 269 ext/opcache/Optimizer/compact_literals.c fprintf(stderr, "Literlas table size %d\n", op_array->last_literal); op_array 271 ext/opcache/Optimizer/compact_literals.c for (i = 0; i < op_array->last_literal; i++) { op_array 272 ext/opcache/Optimizer/compact_literals.c zval zv = op_array->literals[i].constant; op_array 273 ext/opcache/Optimizer/compact_literals.c zend_make_printable_zval(&op_array->literals[i].constant, &zv, &use_copy); op_array 286 ext/opcache/Optimizer/compact_literals.c map = (int*)ecalloc(op_array->last_literal, sizeof(int)); op_array 287 ext/opcache/Optimizer/compact_literals.c for (i = 0; i < op_array->last_literal; i++) { op_array 290 ext/opcache/Optimizer/compact_literals.c zval_dtor(&op_array->literals[i].constant); op_array 293 ext/opcache/Optimizer/compact_literals.c switch (Z_TYPE(op_array->literals[i].constant)) { op_array 298 ext/opcache/Optimizer/compact_literals.c op_array->literals[j] = op_array->literals[i]; op_array 306 ext/opcache/Optimizer/compact_literals.c if (Z_LVAL(op_array->literals[i].constant)) { op_array 310 ext/opcache/Optimizer/compact_literals.c op_array->literals[j] = op_array->literals[i]; op_array 320 ext/opcache/Optimizer/compact_literals.c op_array->literals[j] = op_array->literals[i]; op_array 329 ext/opcache/Optimizer/compact_literals.c if (zend_hash_index_find(&hash, Z_LVAL(op_array->literals[i].constant), (void**)&pos) == SUCCESS) { op_array 333 ext/opcache/Optimizer/compact_literals.c zend_hash_index_update(&hash, Z_LVAL(op_array->literals[i].constant), (void**)&j, sizeof(int), NULL); op_array 335 ext/opcache/Optimizer/compact_literals.c op_array->literals[j] = op_array->literals[i]; op_array 342 ext/opcache/Optimizer/compact_literals.c if (zend_hash_find(&hash, (char*)&Z_DVAL(op_array->literals[i].constant), sizeof(double), (void**)&pos) == SUCCESS) { op_array 346 ext/opcache/Optimizer/compact_literals.c zend_hash_add(&hash, (char*)&Z_DVAL(op_array->literals[i].constant), sizeof(double), (void**)&j, sizeof(int), NULL); op_array 348 ext/opcache/Optimizer/compact_literals.c op_array->literals[j] = op_array->literals[i]; op_array 358 ext/opcache/Optimizer/compact_literals.c key_len = MAX_LENGTH_OF_LONG + sizeof("->") + Z_STRLEN(op_array->literals[i].constant); op_array 360 ext/opcache/Optimizer/compact_literals.c key_len = snprintf(key, key_len-1, "%d->%s", info[i].u.num, Z_STRVAL(op_array->literals[i].constant)); op_array 362 ext/opcache/Optimizer/compact_literals.c zval *class_name = &op_array->literals[(info[i].u.num < i) ? map[info[i].u.num] : info[i].u.num].constant; op_array 363 ext/opcache/Optimizer/compact_literals.c key_len = Z_STRLEN_P(class_name) + sizeof("::") + Z_STRLEN(op_array->literals[i].constant); op_array 368 ext/opcache/Optimizer/compact_literals.c Z_STRVAL(op_array->literals[i].constant), op_array 369 ext/opcache/Optimizer/compact_literals.c Z_STRLEN(op_array->literals[i].constant) + 1); op_array 371 ext/opcache/Optimizer/compact_literals.c key = Z_STRVAL(op_array->literals[i].constant); op_array 372 ext/opcache/Optimizer/compact_literals.c key_len = Z_STRLEN(op_array->literals[i].constant)+1; op_array 379 ext/opcache/Optimizer/compact_literals.c Z_TYPE(op_array->literals[i].constant) == Z_TYPE(op_array->literals[*pos].constant) && op_array 386 ext/opcache/Optimizer/compact_literals.c zval_dtor(&op_array->literals[i].constant); op_array 390 ext/opcache/Optimizer/compact_literals.c zval_dtor(&op_array->literals[i].constant); op_array 402 ext/opcache/Optimizer/compact_literals.c op_array->literals[j] = op_array->literals[i]; op_array 405 ext/opcache/Optimizer/compact_literals.c if (!op_array->literals[j].hash_value) { op_array 406 ext/opcache/Optimizer/compact_literals.c if (IS_INTERNED(Z_STRVAL(op_array->literals[j].constant))) { op_array 407 ext/opcache/Optimizer/compact_literals.c op_array->literals[j].hash_value = INTERNED_HASH(Z_STRVAL(op_array->literals[j].constant)); op_array 409 ext/opcache/Optimizer/compact_literals.c op_array->literals[j].hash_value = zend_hash_func(Z_STRVAL(op_array->literals[j].constant), Z_STRLEN(op_array->literals[j].constant)+1); op_array 413 ext/opcache/Optimizer/compact_literals.c op_array->literals[j].cache_slot = cache_slots; op_array 420 ext/opcache/Optimizer/compact_literals.c if (i != j) op_array->literals[j] = op_array->literals[i]; op_array 421 ext/opcache/Optimizer/compact_literals.c if (!op_array->literals[j].hash_value) { op_array 422 ext/opcache/Optimizer/compact_literals.c if (IS_INTERNED(Z_STRVAL(op_array->literals[j].constant))) { op_array 423 ext/opcache/Optimizer/compact_literals.c op_array->literals[j].hash_value = INTERNED_HASH(Z_STRVAL(op_array->literals[j].constant)); op_array 425 ext/opcache/Optimizer/compact_literals.c op_array->literals[j].hash_value = zend_hash_func(Z_STRVAL(op_array->literals[j].constant), Z_STRLEN(op_array->literals[j].constant)+1); op_array 437 ext/opcache/Optimizer/compact_literals.c op_array->literals[j] = op_array->literals[i]; op_array 445 ext/opcache/Optimizer/compact_literals.c op_array->last_literal = j; op_array 446 ext/opcache/Optimizer/compact_literals.c op_array->last_cache_slot = cache_slots; op_array 449 ext/opcache/Optimizer/compact_literals.c opline = op_array->opcodes; op_array 450 ext/opcache/Optimizer/compact_literals.c end = opline + op_array->last; op_array 466 ext/opcache/Optimizer/compact_literals.c fprintf(stderr, "Optimized literlas table size %d\n", op_array->last_literal); op_array 468 ext/opcache/Optimizer/compact_literals.c for (i = 0; i < op_array->last_literal; i++) { op_array 469 ext/opcache/Optimizer/compact_literals.c zval zv = op_array->literals[i].constant; op_array 470 ext/opcache/Optimizer/compact_literals.c zend_make_printable_zval(&op_array->literals[i].constant, &zv, &use_copy); op_array 5 ext/opcache/Optimizer/nop_removal.c static void nop_removal(zend_op_array *op_array) op_array 13 ext/opcache/Optimizer/nop_removal.c shiftlist = (zend_uint *)DO_ALLOCA(sizeof(zend_uint) * op_array->last); op_array 15 ext/opcache/Optimizer/nop_removal.c end = op_array->opcodes + op_array->last; op_array 16 ext/opcache/Optimizer/nop_removal.c for (opline = op_array->opcodes; opline < end; opline++) { op_array 31 ext/opcache/Optimizer/nop_removal.c zend_op *target = op_array->opcodes + ZEND_OP1(opline).opline_num - 1; op_array 47 ext/opcache/Optimizer/nop_removal.c op_array->opcodes[new_count] = *opline; op_array 54 ext/opcache/Optimizer/nop_removal.c op_array->last = new_count; op_array 55 ext/opcache/Optimizer/nop_removal.c end = op_array->opcodes + op_array->last; op_array 58 ext/opcache/Optimizer/nop_removal.c for (opline = op_array->opcodes; opline<end; opline++) { op_array 95 ext/opcache/Optimizer/nop_removal.c for (j = 0; j < op_array->last_brk_cont; j++) { op_array 96 ext/opcache/Optimizer/nop_removal.c op_array->brk_cont_array[j].brk -= shiftlist[op_array->brk_cont_array[j].brk]; op_array 97 ext/opcache/Optimizer/nop_removal.c op_array->brk_cont_array[j].cont -= shiftlist[op_array->brk_cont_array[j].cont]; op_array 98 ext/opcache/Optimizer/nop_removal.c op_array->brk_cont_array[j].start -= shiftlist[op_array->brk_cont_array[j].start]; op_array 102 ext/opcache/Optimizer/nop_removal.c for (j = 0; j < op_array->last_try_catch; j++) { op_array 103 ext/opcache/Optimizer/nop_removal.c op_array->try_catch_array[j].try_op -= shiftlist[op_array->try_catch_array[j].try_op]; op_array 104 ext/opcache/Optimizer/nop_removal.c op_array->try_catch_array[j].catch_op -= shiftlist[op_array->try_catch_array[j].catch_op]; op_array 106 ext/opcache/Optimizer/nop_removal.c if (op_array->try_catch_array[j].finally_op) { op_array 107 ext/opcache/Optimizer/nop_removal.c op_array->try_catch_array[j].finally_op -= shiftlist[op_array->try_catch_array[j].finally_op]; op_array 108 ext/opcache/Optimizer/nop_removal.c op_array->try_catch_array[j].finally_end -= shiftlist[op_array->try_catch_array[j].finally_end]; op_array 115 ext/opcache/Optimizer/nop_removal.c if (op_array->early_binding != (zend_uint)-1) { op_array 116 ext/opcache/Optimizer/nop_removal.c zend_uint *opline_num = &op_array->early_binding; op_array 120 ext/opcache/Optimizer/nop_removal.c opline_num = &ZEND_RESULT(&op_array->opcodes[*opline_num]).opline_num; op_array 11 ext/opcache/Optimizer/optimize_func_calls.c static void optimize_func_calls(zend_op_array *op_array, zend_persistent_script *script TSRMLS_DC) { op_array 12 ext/opcache/Optimizer/optimize_func_calls.c zend_op *opline = op_array->opcodes; op_array 13 ext/opcache/Optimizer/optimize_func_calls.c zend_op *end = opline + op_array->last; op_array 16 ext/opcache/Optimizer/optimize_func_calls.c optimizer_call_info *call_stack = ecalloc(op_array->nested_calls + 1, sizeof(optimizer_call_info)); op_array 28 ext/opcache/Optimizer/optimize_func_calls.c zval *function_name = &op_array->literals[opline->op2.constant + 1].constant; op_array 57 ext/opcache/Optimizer/optimize_func_calls.c op_array->literals[fcall->op2.constant + 1].cache_slot = op_array->literals[fcall->op2.constant].cache_slot; op_array 60 ext/opcache/Optimizer/optimize_func_calls.c literal_dtor(&op_array->literals[fcall->op2.constant + 2].constant); op_array 73 ext/opcache/Optimizer/optimize_func_calls.c op_array->literals[fcall->op2.constant + 1].cache_slot = op_array->literals[fcall->op2.constant].cache_slot; op_array 73 ext/opcache/Optimizer/optimize_temp_vars_5.c static void optimize_temporary_variables(zend_op_array *op_array) op_array 75 ext/opcache/Optimizer/optimize_temp_vars_5.c int T = op_array->T; op_array 91 ext/opcache/Optimizer/optimize_temp_vars_5.c end = op_array->opcodes; op_array 92 ext/opcache/Optimizer/optimize_temp_vars_5.c opline = &op_array->opcodes[op_array->last - 1]; op_array 113 ext/opcache/Optimizer/optimize_temp_vars_5.c end = op_array->opcodes; op_array 114 ext/opcache/Optimizer/optimize_temp_vars_5.c opline = &op_array->opcodes[op_array->last - 1]; op_array 221 ext/opcache/Optimizer/optimize_temp_vars_5.c op_array->T = max + 1; op_array 2 ext/opcache/Optimizer/pass10.c nop_removal(op_array); op_array 17 ext/opcache/Optimizer/pass1_5.c zend_op *opline = op_array->opcodes; op_array 18 ext/opcache/Optimizer/pass1_5.c zend_op *end = opline + op_array->last; op_array 20 ext/opcache/Optimizer/pass1_5.c (op_array == &script->main_op_array) : 0; op_array 74 ext/opcache/Optimizer/pass1_5.c replace_tmp_by_const(op_array, opline + 1, tv, &result TSRMLS_CC); op_array 109 ext/opcache/Optimizer/pass1_5.c replace_tmp_by_const(op_array, opline + 1, tv, &res TSRMLS_CC); op_array 143 ext/opcache/Optimizer/pass1_5.c replace_tmp_by_const(op_array, opline + 1, tv, &result TSRMLS_CC); op_array 213 ext/opcache/Optimizer/pass1_5.c ZEND_OP1(opline + 1).opline_num = last_op - op_array->opcodes; /* that's OK even for ZE2, since opline_num's are resolved in pass 2 later */ op_array 231 ext/opcache/Optimizer/pass1_5.c EG(active_op_array) = op_array; op_array 237 ext/opcache/Optimizer/pass1_5.c replace_tmp_by_const(op_array, opline, tv, &offset TSRMLS_CC); op_array 261 ext/opcache/Optimizer/pass1_5.c replace_tmp_by_const(op_array, opline, tv, &c TSRMLS_CC); op_array 275 ext/opcache/Optimizer/pass1_5.c if (op_array->scope && op_array 277 ext/opcache/Optimizer/pass1_5.c op_array->scope->name, Z_STRLEN(ZEND_OP1_LITERAL(opline)) + 1)) { op_array 278 ext/opcache/Optimizer/pass1_5.c pce = &op_array->scope; op_array 281 ext/opcache/Optimizer/pass1_5.c Z_STRVAL(op_array->literals[opline->op1.constant + 1].constant), op_array 282 ext/opcache/Optimizer/pass1_5.c Z_STRLEN(op_array->literals[opline->op1.constant].constant) + 1, op_array 283 ext/opcache/Optimizer/pass1_5.c Z_HASH_P(&op_array->literals[opline->op1.constant + 1].constant), op_array 288 ext/opcache/Optimizer/pass1_5.c ZEND_CE_FILENAME(*pce) != op_array->filename)) { op_array 292 ext/opcache/Optimizer/pass1_5.c } else if (op_array->scope && op_array 299 ext/opcache/Optimizer/pass1_5.c pce = &op_array->scope; op_array 332 ext/opcache/Optimizer/pass1_5.c replace_tmp_by_const(op_array, opline, tv, &t TSRMLS_CC); op_array 396 ext/opcache/Optimizer/pass1_5.c if (replace_var_by_const(op_array, opline + 1, ZEND_RESULT(opline).var, &t TSRMLS_CC)) { op_array 433 ext/opcache/Optimizer/pass1_5.c if (replace_var_by_const(op_array, opline + 1, ZEND_RESULT(opline).var, &t TSRMLS_CC)) { op_array 448 ext/opcache/Optimizer/pass1_5.c if (replace_var_by_const(op_array, opline + 1, ZEND_RESULT(opline).var, &t TSRMLS_CC)) { op_array 462 ext/opcache/Optimizer/pass1_5.c if (replace_var_by_const(op_array, opline + 1, ZEND_RESULT(opline).var, &t TSRMLS_CC)) { op_array 477 ext/opcache/Optimizer/pass1_5.c if (replace_var_by_const(op_array, opline + 1, ZEND_RESULT(opline).var, &t TSRMLS_CC)) { op_array 542 ext/opcache/Optimizer/pass1_5.c if (opline != op_array->opcodes && op_array 586 ext/opcache/Optimizer/pass1_5.c use->op1.var = zend_optimizer_lookup_cv(op_array, op_array 592 ext/opcache/Optimizer/pass1_5.c use->op2.var = zend_optimizer_lookup_cv(op_array, op_array 9 ext/opcache/Optimizer/pass2.c zend_op *end = op_array->opcodes + op_array->last; op_array 11 ext/opcache/Optimizer/pass2.c opline = op_array->opcodes; op_array 175 ext/opcache/Optimizer/pass2.c jmp_to = &op_array->brk_cont_array[array_offset]; op_array 178 ext/opcache/Optimizer/pass2.c if (op_array->opcodes[jmp_to->brk].opcode == ZEND_FREE || op_array 179 ext/opcache/Optimizer/pass2.c op_array->opcodes[jmp_to->brk].opcode == ZEND_SWITCH_FREE op_array 13 ext/opcache/Optimizer/pass3.c if (jmp_hitlist[i] == ZEND_OP1(&op_array->opcodes[target]).opline_num) { \ op_array 17 ext/opcache/Optimizer/pass3.c jmp_hitlist[jmp_hitlist_count++] = ZEND_OP1(&op_array->opcodes[target]).opline_num; op_array 21 ext/opcache/Optimizer/pass3.c if (jmp_hitlist[i] == ZEND_OP2(&op_array->opcodes[target]).opline_num) { \ op_array 25 ext/opcache/Optimizer/pass3.c jmp_hitlist[jmp_hitlist_count++] = ZEND_OP2(&op_array->opcodes[target]).opline_num; op_array 29 ext/opcache/Optimizer/pass3.c zend_op *end = op_array->opcodes + op_array->last; op_array 36 ext/opcache/Optimizer/pass3.c jmp_hitlist = (zend_uint *)DO_ALLOCA(sizeof(zend_uint)*op_array->last); op_array 37 ext/opcache/Optimizer/pass3.c opline = op_array->opcodes; op_array 144 ext/opcache/Optimizer/pass3.c if (op_array->has_finally_block) { op_array 156 ext/opcache/Optimizer/pass3.c while (ZEND_OP1(opline).opline_num < op_array->last op_array 157 ext/opcache/Optimizer/pass3.c && op_array->opcodes[ZEND_OP1(opline).opline_num].opcode == ZEND_JMP) { op_array 160 ext/opcache/Optimizer/pass3.c ZEND_OP1(opline).opline_num = ZEND_OP1(&op_array->opcodes[target]).opline_num; op_array 171 ext/opcache/Optimizer/pass3.c if (op_array->has_finally_block) { op_array 176 ext/opcache/Optimizer/pass3.c while (ZEND_OP2(opline).opline_num < op_array->last) { op_array 178 ext/opcache/Optimizer/pass3.c if (op_array->opcodes[target].opcode == ZEND_JMP) { op_array 179 ext/opcache/Optimizer/pass3.c ZEND_OP2(opline).opline_num = ZEND_OP1(&op_array->opcodes[target]).opline_num; op_array 190 ext/opcache/Optimizer/pass3.c if (op_array->has_finally_block) { op_array 201 ext/opcache/Optimizer/pass3.c while (ZEND_OP2(opline).opline_num < op_array->last) { op_array 204 ext/opcache/Optimizer/pass3.c if (op_array->opcodes[target].opcode == ZEND_JMP) { op_array 208 ext/opcache/Optimizer/pass3.c ZEND_OP2(opline).opline_num = ZEND_OP1(&op_array->opcodes[target]).opline_num; op_array 209 ext/opcache/Optimizer/pass3.c } else if (op_array->opcodes[target].opcode == opline->opcode && op_array 210 ext/opcache/Optimizer/pass3.c SAME_VAR(opline->op1, op_array->opcodes[target].op1)) { op_array 214 ext/opcache/Optimizer/pass3.c ZEND_OP2(opline).opline_num = ZEND_OP2(&op_array->opcodes[target]).opline_num; op_array 215 ext/opcache/Optimizer/pass3.c } else if (op_array->opcodes[target].opcode == opline->opcode + 3 && op_array 216 ext/opcache/Optimizer/pass3.c SAME_VAR(opline->op1, op_array->opcodes[target].op1)) { op_array 219 ext/opcache/Optimizer/pass3.c ZEND_OP2(opline).opline_num = ZEND_OP2(&op_array->opcodes[target]).opline_num;opline->opcode += 3; op_array 220 ext/opcache/Optimizer/pass3.c COPY_NODE(opline->result, op_array->opcodes[target].result); op_array 222 ext/opcache/Optimizer/pass3.c } else if (op_array->opcodes[target].opcode == INV_COND(opline->opcode) && op_array 223 ext/opcache/Optimizer/pass3.c SAME_VAR(opline->op1, op_array->opcodes[target].op1)) { op_array 228 ext/opcache/Optimizer/pass3.c } else if (op_array->opcodes[target].opcode == INV_COND_EX(opline->opcode) && op_array 229 ext/opcache/Optimizer/pass3.c SAME_VAR(opline->op1, op_array->opcodes[target].op1)) { op_array 234 ext/opcache/Optimizer/pass3.c COPY_NODE(opline->result, op_array->opcodes[target].result); op_array 251 ext/opcache/Optimizer/pass3.c if (op_array->has_finally_block) { op_array 267 ext/opcache/Optimizer/pass3.c while (ZEND_OP2(opline).opline_num < op_array->last) { op_array 269 ext/opcache/Optimizer/pass3.c if (SAME_OPCODE_EX(opline->opcode, op_array->opcodes[target].opcode) && op_array 270 ext/opcache/Optimizer/pass3.c SAME_VAR(op_array->opcodes[target].op1, T)) { op_array 272 ext/opcache/Optimizer/pass3.c if (op_array->opcodes[target].opcode == opline->opcode) { op_array 274 ext/opcache/Optimizer/pass3.c COPY_NODE(T, op_array->opcodes[target].result); op_array 277 ext/opcache/Optimizer/pass3.c ZEND_OP2(opline).opline_num = ZEND_OP2(&op_array->opcodes[target]).opline_num; op_array 278 ext/opcache/Optimizer/pass3.c } else if (op_array->opcodes[target].opcode == ZEND_JMPZNZ && op_array 279 ext/opcache/Optimizer/pass3.c SAME_VAR(op_array->opcodes[target].op1, T)) { op_array 284 ext/opcache/Optimizer/pass3.c new_target = ZEND_OP2(&op_array->opcodes[target]).opline_num; op_array 287 ext/opcache/Optimizer/pass3.c new_target = op_array->opcodes[target].extended_value; op_array 290 ext/opcache/Optimizer/pass3.c } else if ((op_array->opcodes[target].opcode == INV_EX_COND_EX(opline->opcode) || op_array 291 ext/opcache/Optimizer/pass3.c op_array->opcodes[target].opcode == INV_EX_COND(opline->opcode)) && op_array 292 ext/opcache/Optimizer/pass3.c SAME_VAR(opline->op1, op_array->opcodes[target].op1)) { op_array 345 ext/opcache/Optimizer/pass3.c for(op = &op_array->opcodes[ZEND_OP2(opline).opline_num]; op<end; op++) { op_array 394 ext/opcache/Optimizer/pass3.c if (op_array->has_finally_block) { op_array 399 ext/opcache/Optimizer/pass3.c while (ZEND_OP2(opline).opline_num < op_array->last op_array 400 ext/opcache/Optimizer/pass3.c && op_array->opcodes[ZEND_OP2(opline).opline_num].opcode == ZEND_JMP) { op_array 403 ext/opcache/Optimizer/pass3.c ZEND_OP2(opline).opline_num = ZEND_OP1(&op_array->opcodes[target]).opline_num; op_array 407 ext/opcache/Optimizer/pass3.c while (opline->extended_value < op_array->last op_array 408 ext/opcache/Optimizer/pass3.c && op_array->opcodes[opline->extended_value].opcode == ZEND_JMP) { op_array 411 ext/opcache/Optimizer/pass3.c opline->extended_value = ZEND_OP1(&op_array->opcodes[target]).opline_num; op_array 2 ext/opcache/Optimizer/pass5.c zend_block_optimization(op_array TSRMLS_CC); op_array 7 ext/opcache/Optimizer/pass9.c optimize_temporary_variables(op_array); op_array 64 ext/opcache/Optimizer/zend_optimizer.c static int zend_optimizer_lookup_cv(zend_op_array *op_array, char* name, int name_len) op_array 69 ext/opcache/Optimizer/zend_optimizer.c while (i < op_array->last_var) { op_array 70 ext/opcache/Optimizer/zend_optimizer.c if (op_array->vars[i].name == name || op_array 71 ext/opcache/Optimizer/zend_optimizer.c (op_array->vars[i].hash_value == hash_value && op_array 72 ext/opcache/Optimizer/zend_optimizer.c op_array->vars[i].name_len == name_len && op_array 73 ext/opcache/Optimizer/zend_optimizer.c memcmp(op_array->vars[i].name, name, name_len) == 0)) { op_array 78 ext/opcache/Optimizer/zend_optimizer.c i = op_array->last_var; op_array 79 ext/opcache/Optimizer/zend_optimizer.c op_array->last_var++; op_array 80 ext/opcache/Optimizer/zend_optimizer.c op_array->vars = erealloc(op_array->vars, op_array->last_var * sizeof(zend_compiled_variable)); op_array 82 ext/opcache/Optimizer/zend_optimizer.c op_array->vars[i].name = name; op_array 84 ext/opcache/Optimizer/zend_optimizer.c op_array->vars[i].name = estrndup(name, name_len); op_array 86 ext/opcache/Optimizer/zend_optimizer.c op_array->vars[i].name_len = name_len; op_array 87 ext/opcache/Optimizer/zend_optimizer.c op_array->vars[i].hash_value = hash_value; op_array 93 ext/opcache/Optimizer/zend_optimizer.c int zend_optimizer_add_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) op_array 95 ext/opcache/Optimizer/zend_optimizer.c int i = op_array->last_literal; op_array 96 ext/opcache/Optimizer/zend_optimizer.c op_array->last_literal++; op_array 97 ext/opcache/Optimizer/zend_optimizer.c op_array->literals = (zend_literal*)erealloc(op_array->literals, op_array->last_literal * sizeof(zend_literal)); op_array 98 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[i].constant = *zv; op_array 99 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[i].hash_value = 0; op_array 100 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[i].cache_slot = -1; op_array 101 ext/opcache/Optimizer/zend_optimizer.c Z_SET_REFCOUNT(op_array->literals[i].constant, 2); op_array 102 ext/opcache/Optimizer/zend_optimizer.c Z_SET_ISREF(op_array->literals[i].constant); op_array 109 ext/opcache/Optimizer/zend_optimizer.c op.constant = zend_optimizer_add_literal(op_array, &_c TSRMLS_CC); \ op_array 115 ext/opcache/Optimizer/zend_optimizer.c op.constant = zend_optimizer_add_literal(op_array, &_c TSRMLS_CC); \ op_array 142 ext/opcache/Optimizer/zend_optimizer.c static void update_op1_const(zend_op_array *op_array, op_array 157 ext/opcache/Optimizer/zend_optimizer.c opline->op1.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); op_array 159 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[opline->op1.constant].cache_slot = op_array->last_cache_slot++; op_array 161 ext/opcache/Optimizer/zend_optimizer.c zend_optimizer_add_literal(op_array, val TSRMLS_CC); op_array 162 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[opline->op1.constant+1].hash_value = zend_hash_func(Z_STRVAL(op_array->literals[opline->op1.constant+1].constant), Z_STRLEN(op_array->literals[opline->op1.constant+1].constant) + 1); op_array 166 ext/opcache/Optimizer/zend_optimizer.c opline->op1.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); op_array 168 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[opline->op1.constant].cache_slot = op_array->last_cache_slot++; op_array 171 ext/opcache/Optimizer/zend_optimizer.c opline->op1.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); op_array 176 ext/opcache/Optimizer/zend_optimizer.c opline->op1.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); op_array 184 ext/opcache/Optimizer/zend_optimizer.c static void update_op2_const(zend_op_array *op_array, op_array 190 ext/opcache/Optimizer/zend_optimizer.c opline->op2.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); op_array 207 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[opline->op2.constant].cache_slot = op_array->last_cache_slot++; op_array 209 ext/opcache/Optimizer/zend_optimizer.c zend_optimizer_add_literal(op_array, val TSRMLS_CC); op_array 210 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[opline->op2.constant+1].hash_value = zend_hash_func(Z_STRVAL(op_array->literals[opline->op2.constant+1].constant), Z_STRLEN(op_array->literals[opline->op2.constant+1].constant) + 1); op_array 215 ext/opcache/Optimizer/zend_optimizer.c zend_optimizer_add_literal(op_array, val TSRMLS_CC); op_array 216 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[opline->op2.constant+1].hash_value = zend_hash_func(Z_STRVAL(op_array->literals[opline->op2.constant+1].constant), Z_STRLEN(op_array->literals[opline->op2.constant+1].constant) + 1); op_array 232 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[opline->op2.constant].cache_slot = op_array->last_cache_slot; op_array 233 ext/opcache/Optimizer/zend_optimizer.c op_array->last_cache_slot += 2; op_array 247 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[opline->op2.constant].cache_slot = op_array->last_cache_slot; op_array 248 ext/opcache/Optimizer/zend_optimizer.c op_array->last_cache_slot += 2; op_array 290 ext/opcache/Optimizer/zend_optimizer.c op_array->literals[opline->op2.constant].constant = *val; op_array 304 ext/opcache/Optimizer/zend_optimizer.c static int replace_var_by_const(zend_op_array *op_array, op_array 309 ext/opcache/Optimizer/zend_optimizer.c zend_op *end = op_array->opcodes + op_array->last; op_array 338 ext/opcache/Optimizer/zend_optimizer.c int brk = op_array->last_brk_cont; op_array 340 ext/opcache/Optimizer/zend_optimizer.c if (op_array->brk_cont_array[brk].start <= (opline - op_array->opcodes) && op_array 341 ext/opcache/Optimizer/zend_optimizer.c op_array->brk_cont_array[brk].brk > (opline - op_array->opcodes)) { op_array 346 ext/opcache/Optimizer/zend_optimizer.c n = op_array->opcodes + op_array->brk_cont_array[brk].brk + 1; op_array 354 ext/opcache/Optimizer/zend_optimizer.c update_op1_const(op_array, m, val TSRMLS_CC); op_array 374 ext/opcache/Optimizer/zend_optimizer.c update_op1_const(op_array, opline, val TSRMLS_CC); op_array 386 ext/opcache/Optimizer/zend_optimizer.c update_op2_const(op_array, opline, val TSRMLS_CC); op_array 395 ext/opcache/Optimizer/zend_optimizer.c static void replace_tmp_by_const(zend_op_array *op_array, op_array 401 ext/opcache/Optimizer/zend_optimizer.c zend_op *end = op_array->opcodes + op_array->last; op_array 415 ext/opcache/Optimizer/zend_optimizer.c int brk = op_array->last_brk_cont; op_array 418 ext/opcache/Optimizer/zend_optimizer.c if (op_array->brk_cont_array[brk].start <= (opline - op_array->opcodes) && op_array 419 ext/opcache/Optimizer/zend_optimizer.c op_array->brk_cont_array[brk].brk > (opline - op_array->opcodes)) { op_array 432 ext/opcache/Optimizer/zend_optimizer.c n = op_array->opcodes + op_array->brk_cont_array[brk].brk + 1; op_array 440 ext/opcache/Optimizer/zend_optimizer.c update_op1_const(op_array, m, val TSRMLS_CC); op_array 453 ext/opcache/Optimizer/zend_optimizer.c update_op1_const(op_array, opline, val TSRMLS_CC); op_array 461 ext/opcache/Optimizer/zend_optimizer.c update_op2_const(op_array, opline, val TSRMLS_CC); op_array 475 ext/opcache/Optimizer/zend_optimizer.c static void zend_optimize(zend_op_array *op_array, op_array 479 ext/opcache/Optimizer/zend_optimizer.c if (op_array->type == ZEND_EVAL_CODE || op_array 480 ext/opcache/Optimizer/zend_optimizer.c (op_array->fn_flags & ZEND_ACC_INTERACTIVE)) { op_array 512 ext/opcache/Optimizer/zend_optimizer.c optimize_func_calls(op_array, script TSRMLS_CC); op_array 536 ext/opcache/Optimizer/zend_optimizer.c optimizer_compact_literals(op_array TSRMLS_CC); op_array 541 ext/opcache/Optimizer/zend_optimizer.c static void zend_accel_optimize(zend_op_array *op_array, op_array 548 ext/opcache/Optimizer/zend_optimizer.c opline = op_array->opcodes; op_array 549 ext/opcache/Optimizer/zend_optimizer.c end = opline + op_array->last; op_array 553 ext/opcache/Optimizer/zend_optimizer.c opline->op1.constant = opline->op1.literal - op_array->literals; op_array 556 ext/opcache/Optimizer/zend_optimizer.c opline->op2.constant = opline->op2.literal - op_array->literals; op_array 567 ext/opcache/Optimizer/zend_optimizer.c ZEND_OP1(opline).opline_num = ZEND_OP1(opline).jmp_addr - op_array->opcodes; op_array 579 ext/opcache/Optimizer/zend_optimizer.c ZEND_OP2(opline).opline_num = ZEND_OP2(opline).jmp_addr - op_array->opcodes; op_array 586 ext/opcache/Optimizer/zend_optimizer.c zend_optimize(op_array, script, constants TSRMLS_CC); op_array 589 ext/opcache/Optimizer/zend_optimizer.c opline = op_array->opcodes; op_array 590 ext/opcache/Optimizer/zend_optimizer.c end = opline + op_array->last; op_array 594 ext/opcache/Optimizer/zend_optimizer.c opline->op1.zv = &op_array->literals[opline->op1.constant].constant; op_array 597 ext/opcache/Optimizer/zend_optimizer.c opline->op2.zv = &op_array->literals[opline->op2.constant].constant; op_array 608 ext/opcache/Optimizer/zend_optimizer.c ZEND_OP1(opline).jmp_addr = &op_array->opcodes[ZEND_OP1(opline).opline_num]; op_array 620 ext/opcache/Optimizer/zend_optimizer.c ZEND_OP2(opline).jmp_addr = &op_array->opcodes[ZEND_OP2(opline).opline_num]; op_array 637 ext/opcache/Optimizer/zend_optimizer.c zend_op_array *op_array = (zend_op_array*)p->pData; op_array 638 ext/opcache/Optimizer/zend_optimizer.c zend_accel_optimize(op_array, script, &constants TSRMLS_CC); op_array 647 ext/opcache/Optimizer/zend_optimizer.c zend_op_array *op_array = (zend_op_array*)q->pData; op_array 648 ext/opcache/Optimizer/zend_optimizer.c if (op_array->scope == ce) { op_array 649 ext/opcache/Optimizer/zend_optimizer.c zend_accel_optimize(op_array, script, &constants TSRMLS_CC); op_array 650 ext/opcache/Optimizer/zend_optimizer.c } else if (op_array->type == ZEND_USER_FUNCTION) { op_array 652 ext/opcache/Optimizer/zend_optimizer.c if (zend_hash_find(&op_array->scope->function_table, q->arKey, q->nKeyLength, (void**)&orig_op_array) == SUCCESS) { op_array 653 ext/opcache/Optimizer/zend_optimizer.c HashTable *ht = op_array->static_variables; op_array 654 ext/opcache/Optimizer/zend_optimizer.c *op_array = *orig_op_array; op_array 655 ext/opcache/Optimizer/zend_optimizer.c op_array->static_variables = ht; op_array 1298 ext/opcache/ZendAccelerator.c zend_op_array *op_array; op_array 1392 ext/opcache/ZendAccelerator.c op_array = *op_array_p = accelerator_orig_compile_file(file_handle, type TSRMLS_CC); op_array 1397 ext/opcache/ZendAccelerator.c op_array = NULL; op_array 1410 ext/opcache/ZendAccelerator.c if (!op_array) { op_array 1425 ext/opcache/ZendAccelerator.c new_persistent_script->main_op_array = *op_array; op_array 1427 ext/opcache/ZendAccelerator.c efree(op_array); /* we have valid persistent_script, so it's safe to free op_array */ op_array 1623 ext/opcache/ZendAccelerator.c zend_op_array *op_array; op_array 1638 ext/opcache/ZendAccelerator.c persistent_script = compile_and_cache_file(file_handle, type, key, key_length, &op_array, &from_shared_memory TSRMLS_CC); op_array 1645 ext/opcache/ZendAccelerator.c return op_array; op_array 2263 ext/opcache/ZendAccelerator.c if (function->op_array.static_variables) { op_array 2264 ext/opcache/ZendAccelerator.c function->op_array.static_variables->pDestructor = (dtor_func_t)accel_fast_zval_ptr_dtor; op_array 2265 ext/opcache/ZendAccelerator.c accel_fast_hash_destroy(function->op_array.static_variables); op_array 2266 ext/opcache/ZendAccelerator.c function->op_array.static_variables = NULL; op_array 2268 ext/opcache/ZendAccelerator.c return (--(*function->op_array.refcount) <= 0) ? op_array 2277 ext/opcache/ZendAccelerator.c if (function->op_array.static_variables) { op_array 2278 ext/opcache/ZendAccelerator.c function->op_array.static_variables->pDestructor = (dtor_func_t)accel_fast_zval_ptr_dtor; op_array 2279 ext/opcache/ZendAccelerator.c accel_fast_hash_destroy(function->op_array.static_variables); op_array 2280 ext/opcache/ZendAccelerator.c function->op_array.static_variables = NULL; op_array 370 ext/opcache/ZendAccelerator.h # define ZEND_OP1_LITERAL(opline) (op_array)->literals[(opline)->op1.constant].constant op_array 374 ext/opcache/ZendAccelerator.h # define ZEND_OP2_LITERAL(opline) (op_array)->literals[(opline)->op2.constant].constant op_array 375 ext/opcache/ZendAccelerator.h # define ZEND_DONE_PASS_TWO(op_array) (((op_array)->fn_flags & ZEND_ACC_DONE_PASS_TWO) != 0) op_array 394 ext/opcache/ZendAccelerator.h # define ZEND_DONE_PASS_TWO(op_array) ((op_array)->done_pass_two != 0) op_array 761 ext/opcache/zend_accelerator_module.c zend_op_array *op_array = NULL; op_array 781 ext/opcache/zend_accelerator_module.c op_array = persistent_compile_file(&handle, ZEND_INCLUDE TSRMLS_CC); op_array 787 ext/opcache/zend_accelerator_module.c if(op_array != NULL) { op_array 788 ext/opcache/zend_accelerator_module.c destroy_op_array(op_array TSRMLS_CC); op_array 789 ext/opcache/zend_accelerator_module.c efree(op_array); op_array 48 ext/opcache/zend_accelerator_util_funcs.c static int zend_prepare_function_for_execution(zend_op_array *op_array); op_array 56 ext/opcache/zend_accelerator_util_funcs.c if (function->op_array.static_variables) { op_array 58 ext/opcache/zend_accelerator_util_funcs.c efree(function->op_array.static_variables); op_array 59 ext/opcache/zend_accelerator_util_funcs.c function->op_array.static_variables = NULL; op_array 663 ext/opcache/zend_accelerator_util_funcs.c static int zend_prepare_function_for_execution(zend_op_array *op_array) op_array 665 ext/opcache/zend_accelerator_util_funcs.c HashTable *shared_statics = op_array->static_variables; op_array 668 ext/opcache/zend_accelerator_util_funcs.c op_array->refcount = &zend_accel_refcount; op_array 669 ext/opcache/zend_accelerator_util_funcs.c (*op_array->refcount) = ZEND_PROTECTED_REFCOUNT; op_array 673 ext/opcache/zend_accelerator_util_funcs.c ALLOC_HASHTABLE(op_array->static_variables); op_array 674 ext/opcache/zend_accelerator_util_funcs.c zend_hash_clone_zval(op_array->static_variables, shared_statics, 0); op_array 944 ext/opcache/zend_accelerator_util_funcs.c zend_set_compiled_filename(function1->op_array.filename TSRMLS_CC); op_array 945 ext/opcache/zend_accelerator_util_funcs.c CG(zend_lineno) = function1->op_array.opcodes[0].lineno; op_array 947 ext/opcache/zend_accelerator_util_funcs.c && function2->op_array.last > 0) { op_array 950 ext/opcache/zend_accelerator_util_funcs.c function2->op_array.filename, op_array 951 ext/opcache/zend_accelerator_util_funcs.c (int)function2->op_array.opcodes[0].lineno); op_array 976 ext/opcache/zend_accelerator_util_funcs.c static void zend_do_delayed_early_binding(zend_op_array *op_array, zend_uint early_binding TSRMLS_DC) op_array 982 ext/opcache/zend_accelerator_util_funcs.c char *orig_compiled_filename = zend_set_compiled_filename(op_array->filename TSRMLS_CC); op_array 987 ext/opcache/zend_accelerator_util_funcs.c if (zend_lookup_class(Z_STRVAL(op_array->opcodes[opline_num - 1].op2.u.constant), Z_STRLEN(op_array->opcodes[opline_num - 1].op2.u.constant), &pce TSRMLS_CC) == SUCCESS) { op_array 988 ext/opcache/zend_accelerator_util_funcs.c do_bind_inherited_class(&op_array->opcodes[opline_num], EG(class_table), *pce, 1 TSRMLS_CC); op_array 990 ext/opcache/zend_accelerator_util_funcs.c opline_num = op_array->opcodes[opline_num].result.u.opline_num; op_array 1000 ext/opcache/zend_accelerator_util_funcs.c zend_op_array *op_array; op_array 1002 ext/opcache/zend_accelerator_util_funcs.c op_array = (zend_op_array *) emalloc(sizeof(zend_op_array)); op_array 1003 ext/opcache/zend_accelerator_util_funcs.c *op_array = persistent_script->main_op_array; op_array 1018 ext/opcache/zend_accelerator_util_funcs.c zend_prepare_function_for_execution(op_array); op_array 1038 ext/opcache/zend_accelerator_util_funcs.c zend_do_delayed_early_binding(op_array, persistent_script->early_binding TSRMLS_CC); op_array 1052 ext/opcache/zend_accelerator_util_funcs.c if (op_array->early_binding != (zend_uint)-1) { op_array 1055 ext/opcache/zend_accelerator_util_funcs.c zend_do_delayed_early_binding(op_array TSRMLS_CC); op_array 1064 ext/opcache/zend_accelerator_util_funcs.c return op_array; op_array 210 ext/opcache/zend_persist.c static void zend_persist_op_array_ex(zend_op_array *op_array, zend_persistent_script* main_persistent_script TSRMLS_DC) op_array 220 ext/opcache/zend_persist.c if (op_array->type != ZEND_USER_FUNCTION) { op_array 225 ext/opcache/zend_persist.c op_array->size = op_array->last; op_array 228 ext/opcache/zend_persist.c if (--(*op_array->refcount) == 0) { op_array 229 ext/opcache/zend_persist.c efree(op_array->refcount); op_array 231 ext/opcache/zend_persist.c op_array->refcount = NULL; op_array 233 ext/opcache/zend_persist.c if (op_array->filename) { op_array 235 ext/opcache/zend_persist.c op_array->filename = zend_accel_memdup(op_array->filename, strlen(op_array->filename) + 1); op_array 247 ext/opcache/zend_persist.c EG(active_op_array) = op_array; op_array 256 ext/opcache/zend_persist.c if (op_array->literals) { op_array 257 ext/opcache/zend_persist.c orig_literals = zend_shared_alloc_get_xlat_entry(op_array->literals); op_array 259 ext/opcache/zend_persist.c op_array->literals = orig_literals; op_array 261 ext/opcache/zend_persist.c zend_literal *p = zend_accel_memdup(op_array->literals, sizeof(zend_literal) * op_array->last_literal); op_array 262 ext/opcache/zend_persist.c zend_literal *end = p + op_array->last_literal; op_array 263 ext/opcache/zend_persist.c orig_literals = op_array->literals; op_array 264 ext/opcache/zend_persist.c op_array->literals = p; op_array 275 ext/opcache/zend_persist.c if ((persist_ptr = zend_shared_alloc_get_xlat_entry(op_array->opcodes))) { op_array 276 ext/opcache/zend_persist.c op_array->opcodes = persist_ptr; op_array 278 ext/opcache/zend_persist.c zend_op *new_opcodes = zend_accel_memdup(op_array->opcodes, sizeof(zend_op) * op_array->last); op_array 280 ext/opcache/zend_persist.c zend_op *end = new_opcodes + op_array->last; op_array 286 ext/opcache/zend_persist.c opline->op1.zv = (zval*)((char*)opline->op1.zv + ((char*)op_array->literals - (char*)orig_literals)); op_array 294 ext/opcache/zend_persist.c opline->op2.zv = (zval*)((char*)opline->op2.zv + ((char*)op_array->literals - (char*)orig_literals)); op_array 305 ext/opcache/zend_persist.c if (ZEND_DONE_PASS_TWO(op_array)) { op_array 306 ext/opcache/zend_persist.c ZEND_OP1(opline).jmp_addr = &new_opcodes[ZEND_OP1(opline).jmp_addr - op_array->opcodes]; op_array 314 ext/opcache/zend_persist.c if (ZEND_DONE_PASS_TWO(op_array)) { op_array 315 ext/opcache/zend_persist.c ZEND_OP2(opline).jmp_addr = &new_opcodes[ZEND_OP2(opline).jmp_addr - op_array->opcodes]; op_array 347 ext/opcache/zend_persist.c if (ZEND_DONE_PASS_TWO(op_array)) { op_array 355 ext/opcache/zend_persist.c ZEND_OP1(opline).jmp_addr = &new_opcodes[ZEND_OP1(opline).jmp_addr - op_array->opcodes]; op_array 365 ext/opcache/zend_persist.c ZEND_OP2(opline).jmp_addr = &new_opcodes[ZEND_OP2(opline).jmp_addr - op_array->opcodes]; op_array 372 ext/opcache/zend_persist.c efree(op_array->opcodes); op_array 373 ext/opcache/zend_persist.c op_array->opcodes = new_opcodes; op_array 376 ext/opcache/zend_persist.c if (op_array->run_time_cache) { op_array 377 ext/opcache/zend_persist.c efree(op_array->run_time_cache); op_array 378 ext/opcache/zend_persist.c op_array->run_time_cache = NULL; op_array 383 ext/opcache/zend_persist.c if (op_array->function_name) { op_array 385 ext/opcache/zend_persist.c if ((new_name = zend_shared_alloc_get_xlat_entry(op_array->function_name))) { op_array 386 ext/opcache/zend_persist.c op_array->function_name = new_name; op_array 388 ext/opcache/zend_persist.c zend_accel_store(op_array->function_name, strlen(op_array->function_name) + 1); op_array 392 ext/opcache/zend_persist.c if (op_array->arg_info) { op_array 394 ext/opcache/zend_persist.c if ((new_ptr = zend_shared_alloc_get_xlat_entry(op_array->arg_info))) { op_array 395 ext/opcache/zend_persist.c op_array->arg_info = new_ptr; op_array 399 ext/opcache/zend_persist.c zend_accel_store(op_array->arg_info, sizeof(zend_arg_info) * op_array->num_args); op_array 400 ext/opcache/zend_persist.c for (i = 0; i < op_array->num_args; i++) { op_array 401 ext/opcache/zend_persist.c if (op_array->arg_info[i].name) { op_array 402 ext/opcache/zend_persist.c zend_accel_store_interned_string(op_array->arg_info[i].name, op_array->arg_info[i].name_len + 1); op_array 404 ext/opcache/zend_persist.c if (op_array->arg_info[i].class_name) { op_array 405 ext/opcache/zend_persist.c zend_accel_store_interned_string(op_array->arg_info[i].class_name, op_array->arg_info[i].class_name_len + 1); op_array 411 ext/opcache/zend_persist.c if (op_array->brk_cont_array) { op_array 412 ext/opcache/zend_persist.c zend_accel_store(op_array->brk_cont_array, sizeof(zend_brk_cont_element) * op_array->last_brk_cont); op_array 415 ext/opcache/zend_persist.c if (op_array->static_variables) { op_array 416 ext/opcache/zend_persist.c zend_hash_persist(op_array->static_variables, (zend_persist_func_t) zend_persist_zval_ptr, sizeof(zval**) TSRMLS_CC); op_array 417 ext/opcache/zend_persist.c zend_accel_store(op_array->static_variables, sizeof(HashTable)); op_array 420 ext/opcache/zend_persist.c if (op_array->scope) { op_array 421 ext/opcache/zend_persist.c op_array->scope = zend_shared_alloc_get_xlat_entry(op_array->scope); op_array 424 ext/opcache/zend_persist.c if (op_array->doc_comment) { op_array 426 ext/opcache/zend_persist.c zend_accel_store(op_array->doc_comment, op_array->doc_comment_len + 1); op_array 428 ext/opcache/zend_persist.c if (!zend_shared_alloc_get_xlat_entry(op_array->doc_comment)) { op_array 429 ext/opcache/zend_persist.c zend_shared_alloc_register_xlat_entry(op_array->doc_comment, op_array->doc_comment); op_array 430 ext/opcache/zend_persist.c efree((char*)op_array->doc_comment); op_array 432 ext/opcache/zend_persist.c op_array->doc_comment = NULL; op_array 433 ext/opcache/zend_persist.c op_array->doc_comment_len = 0; op_array 437 ext/opcache/zend_persist.c if (op_array->try_catch_array) { op_array 438 ext/opcache/zend_persist.c zend_accel_store(op_array->try_catch_array, sizeof(zend_try_catch_element) * op_array->last_try_catch); op_array 441 ext/opcache/zend_persist.c if (op_array->vars) { op_array 442 ext/opcache/zend_persist.c if ((persist_ptr = zend_shared_alloc_get_xlat_entry(op_array->vars))) { op_array 443 ext/opcache/zend_persist.c op_array->vars = (zend_compiled_variable*)persist_ptr; op_array 446 ext/opcache/zend_persist.c zend_accel_store(op_array->vars, sizeof(zend_compiled_variable) * op_array->last_var); op_array 447 ext/opcache/zend_persist.c for (i = 0; i < op_array->last_var; i++) { op_array 448 ext/opcache/zend_persist.c zend_accel_store_interned_string(op_array->vars[i].name, op_array->vars[i].name_len + 1); op_array 454 ext/opcache/zend_persist.c if (op_array->scope && op_array->prototype) { op_array 455 ext/opcache/zend_persist.c if ((persist_ptr = zend_shared_alloc_get_xlat_entry(op_array->prototype))) { op_array 456 ext/opcache/zend_persist.c op_array->prototype = (union _zend_function*)persist_ptr; op_array 458 ext/opcache/zend_persist.c op_array->prototype->op_array.refcount++; op_array 461 ext/opcache/zend_persist.c op_array->prototype = NULL; op_array 465 ext/opcache/zend_persist.c static void zend_persist_op_array(zend_op_array *op_array TSRMLS_DC) op_array 467 ext/opcache/zend_persist.c zend_persist_op_array_ex(op_array, NULL TSRMLS_CC); op_array 641 ext/opcache/zend_persist.c ce->constructor->op_array.refcount++; op_array 645 ext/opcache/zend_persist.c ce->destructor->op_array.refcount++; op_array 649 ext/opcache/zend_persist.c ce->clone->op_array.refcount++; op_array 653 ext/opcache/zend_persist.c ce->__get->op_array.refcount++; op_array 657 ext/opcache/zend_persist.c ce->__set->op_array.refcount++; op_array 661 ext/opcache/zend_persist.c ce->__call->op_array.refcount++; op_array 665 ext/opcache/zend_persist.c ce->serialize_func->op_array.refcount++; op_array 669 ext/opcache/zend_persist.c ce->unserialize_func->op_array.refcount++; op_array 673 ext/opcache/zend_persist.c ce->__isset->op_array.refcount++; op_array 677 ext/opcache/zend_persist.c ce->__unset->op_array.refcount++; op_array 681 ext/opcache/zend_persist.c ce->__tostring->op_array.refcount++; op_array 686 ext/opcache/zend_persist.c ce->__callstatic->op_array.refcount++; op_array 692 ext/opcache/zend_persist.c ce->__debugInfo->op_array.refcount++; op_array 159 ext/opcache/zend_persist_calc.c static uint zend_persist_op_array_calc(zend_op_array *op_array TSRMLS_DC) op_array 163 ext/opcache/zend_persist_calc.c if (op_array->type != ZEND_USER_FUNCTION) { op_array 167 ext/opcache/zend_persist_calc.c if (op_array->filename) { op_array 168 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->filename, strlen(op_array->filename) + 1); op_array 172 ext/opcache/zend_persist_calc.c if (op_array->literals && !zend_shared_alloc_get_xlat_entry(op_array->literals)) { op_array 173 ext/opcache/zend_persist_calc.c zend_literal *p = op_array->literals; op_array 174 ext/opcache/zend_persist_calc.c zend_literal *end = p + op_array->last_literal; op_array 175 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->literals, sizeof(zend_literal) * op_array->last_literal); op_array 183 ext/opcache/zend_persist_calc.c if (!zend_shared_alloc_get_xlat_entry(op_array->opcodes)) { op_array 185 ext/opcache/zend_persist_calc.c zend_op *opline = op_array->opcodes; op_array 186 ext/opcache/zend_persist_calc.c zend_op *end = op_array->opcodes + op_array->last; op_array 188 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->opcodes, sizeof(zend_op) * op_array->last); op_array 199 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->opcodes, sizeof(zend_op) * op_array->last); op_array 203 ext/opcache/zend_persist_calc.c if (op_array->function_name) { op_array 204 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->function_name, strlen(op_array->function_name) + 1); op_array 207 ext/opcache/zend_persist_calc.c if (op_array->arg_info && op_array 208 ext/opcache/zend_persist_calc.c !zend_shared_alloc_get_xlat_entry(op_array->arg_info)) { op_array 211 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->arg_info, sizeof(zend_arg_info) * op_array->num_args); op_array 212 ext/opcache/zend_persist_calc.c for (i = 0; i < op_array->num_args; i++) { op_array 213 ext/opcache/zend_persist_calc.c if (op_array->arg_info[i].name) { op_array 214 ext/opcache/zend_persist_calc.c ADD_INTERNED_STRING(op_array->arg_info[i].name, op_array->arg_info[i].name_len + 1); op_array 216 ext/opcache/zend_persist_calc.c if (op_array->arg_info[i].class_name) { op_array 217 ext/opcache/zend_persist_calc.c ADD_INTERNED_STRING(op_array->arg_info[i].class_name, op_array->arg_info[i].class_name_len + 1); op_array 223 ext/opcache/zend_persist_calc.c if (op_array->brk_cont_array) { op_array 224 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->brk_cont_array, sizeof(zend_brk_cont_element) * op_array->last_brk_cont); op_array 227 ext/opcache/zend_persist_calc.c if (op_array->static_variables) { op_array 228 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->static_variables, sizeof(HashTable)); op_array 229 ext/opcache/zend_persist_calc.c ADD_SIZE(zend_hash_persist_calc(op_array->static_variables, (int (*)(void* TSRMLS_DC)) zend_persist_zval_ptr_calc, sizeof(zval**) TSRMLS_CC)); op_array 232 ext/opcache/zend_persist_calc.c if (ZCG(accel_directives).save_comments && op_array->doc_comment) { op_array 233 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->doc_comment, op_array->doc_comment_len + 1); op_array 236 ext/opcache/zend_persist_calc.c if (op_array->try_catch_array) { op_array 237 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->try_catch_array, sizeof(zend_try_catch_element) * op_array->last_try_catch); op_array 240 ext/opcache/zend_persist_calc.c if (op_array->vars && !zend_shared_alloc_get_xlat_entry(op_array->vars)) { op_array 243 ext/opcache/zend_persist_calc.c ADD_DUP_SIZE(op_array->vars, sizeof(zend_compiled_variable) * op_array->last_var); op_array 244 ext/opcache/zend_persist_calc.c for (i = 0; i < op_array->last_var; i++) { op_array 245 ext/opcache/zend_persist_calc.c ADD_INTERNED_STRING(op_array->vars[i].name, op_array->vars[i].name_len + 1); op_array 696 ext/reflection/php_reflection.c static zend_op* _get_recv_op(zend_op_array *op_array, zend_uint offset) op_array 698 ext/reflection/php_reflection.c zend_op *op = op_array->opcodes; op_array 699 ext/reflection/php_reflection.c zend_op *end = op + op_array->last; op_array 830 ext/reflection/php_reflection.c if (fptr->type != ZEND_USER_FUNCTION || !fptr->op_array.static_variables) { op_array 834 ext/reflection/php_reflection.c static_variables = fptr->op_array.static_variables; op_array 866 ext/reflection/php_reflection.c if (fptr->type == ZEND_USER_FUNCTION && fptr->op_array.doc_comment) { op_array 867 ext/reflection/php_reflection.c string_printf(str, "%s%s\n", indent, fptr->op_array.doc_comment); op_array 936 ext/reflection/php_reflection.c if (fptr->op_array.fn_flags & ZEND_ACC_RETURN_REFERENCE) { op_array 943 ext/reflection/php_reflection.c fptr->op_array.filename, op_array 944 ext/reflection/php_reflection.c fptr->op_array.line_start, op_array 945 ext/reflection/php_reflection.c fptr->op_array.line_end); op_array 1845 ext/reflection/php_reflection.c RETURN_STRING(fptr->op_array.filename, 1); op_array 1863 ext/reflection/php_reflection.c RETURN_LONG(fptr->op_array.line_start); op_array 1881 ext/reflection/php_reflection.c RETURN_LONG(fptr->op_array.line_end); op_array 1898 ext/reflection/php_reflection.c if (fptr->type == ZEND_USER_FUNCTION && fptr->op_array.doc_comment) { op_array 1899 ext/reflection/php_reflection.c RETURN_STRINGL(fptr->op_array.doc_comment, fptr->op_array.doc_comment_len, 1); op_array 1920 ext/reflection/php_reflection.c if (fptr->type == ZEND_USER_FUNCTION && fptr->op_array.static_variables != NULL) { op_array 1921 ext/reflection/php_reflection.c zend_hash_apply_with_argument(fptr->op_array.static_variables, (apply_func_arg_t) zval_update_constant_inline_change, fptr->common.scope TSRMLS_CC); op_array 1922 ext/reflection/php_reflection.c zend_hash_copy(Z_ARRVAL_P(return_value), fptr->op_array.static_variables, (copy_ctor_func_t) zval_add_ref, (void *) &tmp_copy, sizeof(zval *)); op_array 2055 ext/reflection/php_reflection.c RETURN_BOOL((fptr->op_array.fn_flags & ZEND_ACC_RETURN_REFERENCE) != 0); op_array 2731 main/main.c zend_op_array *op_array; op_array 2735 main/main.c op_array = zend_compile_file(file, ZEND_INCLUDE TSRMLS_CC); op_array 2738 main/main.c if (op_array) { op_array 2739 main/main.c destroy_op_array(op_array TSRMLS_CC); op_array 2740 main/main.c efree(op_array); op_array 93 sapi/fpm/fpm/fpm_php_trace.c if (0 > fpm_trace_get_long(execute_data + offsetof(zend_execute_data, op_array), &l)) { op_array 100 sapi/fpm/fpm/fpm_php_trace.c long op_array = l; op_array 102 sapi/fpm/fpm/fpm_php_trace.c if (0 > fpm_trace_get_strz(buf, buf_size, op_array + offsetof(zend_op_array, filename))) { op_array 51 sapi/phpdbg/phpdbg.c void (*zend_execute_old)(zend_op_array *op_array TSRMLS_DC); op_array 361 sapi/phpdbg/phpdbg_bp.c PHPDBG_API int phpdbg_resolve_op_array_break(phpdbg_breakopline_t *brake, zend_op_array *op_array TSRMLS_DC) /* {{{ */ op_array 364 sapi/phpdbg/phpdbg_bp.c if (op_array->last <= brake->opline_num) { op_array 366 sapi/phpdbg/phpdbg_bp.c phpdbg_error("There are only %d oplines in function %s (breaking at opline %ld impossible)", op_array->last, brake->func_name, brake->opline_num); op_array 368 sapi/phpdbg/phpdbg_bp.c phpdbg_error("There are only %d oplines in file %s (breaking at opline %ld impossible)", op_array->last, brake->class_name, brake->opline_num); op_array 370 sapi/phpdbg/phpdbg_bp.c phpdbg_error("There are only %d oplines in method %s::%s (breaking at opline %ld impossible)", op_array->last, brake->class_name, brake->func_name, brake->opline_num); op_array 379 sapi/phpdbg/phpdbg_bp.c opline_break.opline = brake->opline = (zend_ulong)(op_array->opcodes + brake->opline_num); op_array 382 sapi/phpdbg/phpdbg_bp.c if (op_array->scope) { op_array 384 sapi/phpdbg/phpdbg_bp.c } else if (op_array->function_name) { op_array 397 sapi/phpdbg/phpdbg_bp.c PHPDBG_API void phpdbg_resolve_op_array_breaks(zend_op_array *op_array TSRMLS_DC) /* {{{ */ op_array 404 sapi/phpdbg/phpdbg_bp.c if (op_array->scope != NULL && op_array 405 sapi/phpdbg/phpdbg_bp.c zend_hash_find(&PHPDBG_G(bp)[PHPDBG_BREAK_METHOD_OPLINE], op_array->scope->name, op_array->scope->name_length, (void **)&func_table) == FAILURE) { op_array 409 sapi/phpdbg/phpdbg_bp.c if (op_array->function_name == NULL) { op_array 410 sapi/phpdbg/phpdbg_bp.c if (zend_hash_find(&PHPDBG_G(bp)[PHPDBG_BREAK_FILE_OPLINE], op_array->filename, strlen(op_array->filename), (void **)&oplines_table) == FAILURE) { op_array 413 sapi/phpdbg/phpdbg_bp.c } else if (zend_hash_find(func_table, op_array->function_name?op_array->function_name:"", op_array->function_name?strlen(op_array->function_name):0, (void **)&oplines_table) == FAILURE) { op_array 420 sapi/phpdbg/phpdbg_bp.c if (phpdbg_resolve_op_array_break(brake, op_array TSRMLS_CC) == SUCCESS) { op_array 455 sapi/phpdbg/phpdbg_bp.c if (execute_data->op_array->function_name == NULL && execute_data->op_array->scope == NULL && !memcmp(execute_data->op_array->filename, new_break->class_name, new_break->class_len)) { op_array 456 sapi/phpdbg/phpdbg_bp.c if (phpdbg_resolve_op_array_break(new_break, execute_data->op_array TSRMLS_CC) == SUCCESS) { op_array 492 sapi/phpdbg/phpdbg_bp.c if (phpdbg_resolve_op_array_break(new_break, &func->op_array TSRMLS_CC) == FAILURE) { op_array 792 sapi/phpdbg/phpdbg_bp.c static inline phpdbg_breakbase_t *phpdbg_find_breakpoint_file(zend_op_array *op_array TSRMLS_DC) /* {{{ */ op_array 796 sapi/phpdbg/phpdbg_bp.c size_t name_len = strlen(op_array->filename); op_array 798 sapi/phpdbg/phpdbg_bp.c if (zend_hash_find(&PHPDBG_G(bp)[PHPDBG_BREAK_FILE], op_array->filename, op_array 1053 sapi/phpdbg/phpdbg_bp.c (base = phpdbg_find_breakpoint_file(execute_data->op_array TSRMLS_CC))) { op_array 107 sapi/phpdbg/phpdbg_bp.h PHPDBG_API void phpdbg_resolve_op_array_breaks(zend_op_array *op_array TSRMLS_DC); op_array 108 sapi/phpdbg/phpdbg_bp.h PHPDBG_API int phpdbg_resolve_op_array_break(phpdbg_breakopline_t *brake, zend_op_array *op_array TSRMLS_DC); op_array 41 sapi/phpdbg/phpdbg_frame.c EG(active_op_array) = PHPDBG_EX(op_array); op_array 84 sapi/phpdbg/phpdbg_frame.c EG(active_op_array) = PHPDBG_EX(op_array); op_array 359 sapi/phpdbg/phpdbg_info.c zend_op_array *op_array = &((*pzf)->op_array); op_array 363 sapi/phpdbg/phpdbg_info.c op_array->function_name ? op_array->function_name : "{main}", op_array 364 sapi/phpdbg/phpdbg_info.c op_array->filename ? op_array->filename : "(no source code)", op_array 365 sapi/phpdbg/phpdbg_info.c op_array->line_start); op_array 152 sapi/phpdbg/phpdbg_opcode.c char *decode = phpdbg_decode_opline(execute_data->op_array, opline, vars TSRMLS_CC); op_array 161 sapi/phpdbg/phpdbg_opcode.c execute_data->op_array->filename ? execute_data->op_array->filename : "unknown"); op_array 170 sapi/phpdbg/phpdbg_opcode.c execute_data->op_array->filename ? execute_data->op_array->filename : "unknown"); op_array 57 sapi/phpdbg/phpdbg_print.c zend_op_array* op_array = &(method->op_array); op_array 60 sapi/phpdbg/phpdbg_print.c if (op_array) { op_array 61 sapi/phpdbg/phpdbg_print.c zend_op *opline = &(op_array->opcodes[0]); op_array 63 sapi/phpdbg/phpdbg_print.c end = op_array->last-1; op_array 67 sapi/phpdbg/phpdbg_print.c op_array->line_start, op_array->line_end, op_array 70 sapi/phpdbg/phpdbg_print.c op_array->filename ? op_array->filename : "unknown"); op_array 73 sapi/phpdbg/phpdbg_print.c method->common.function_name ? op_array->line_start : 0, op_array 74 sapi/phpdbg/phpdbg_print.c method->common.function_name ? op_array->line_end : 0, op_array 76 sapi/phpdbg/phpdbg_print.c op_array->filename ? op_array->filename : "unknown"); op_array 79 sapi/phpdbg/phpdbg_print.c zend_hash_init(&vars, op_array->last, NULL, NULL, 0); op_array 81 sapi/phpdbg/phpdbg_print.c char *decode = phpdbg_decode_opline(op_array, opline, &vars TSRMLS_CC); op_array 1086 sapi/phpdbg/phpdbg_prompt.c static inline zend_execute_data *phpdbg_create_execute_data(zend_op_array *op_array, zend_bool nested TSRMLS_DC) /* {{{ */ op_array 1089 sapi/phpdbg/phpdbg_prompt.c return zend_create_execute_data_from_op_array(op_array, nested TSRMLS_CC); op_array 1105 sapi/phpdbg/phpdbg_prompt.c ZEND_MM_ALIGNED_SIZE(sizeof(zval**) * op_array->last_var * (EG(active_symbol_table) ? 1 : 2)) + op_array 1106 sapi/phpdbg/phpdbg_prompt.c ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * op_array->T TSRMLS_CC); op_array 1109 sapi/phpdbg/phpdbg_prompt.c memset(EX(CVs), 0, sizeof(zval**) * op_array->last_var); op_array 1110 sapi/phpdbg/phpdbg_prompt.c EX(Ts) = (temp_variable *)(((char*)EX(CVs)) + ZEND_MM_ALIGNED_SIZE(sizeof(zval**) * op_array->last_var * (EG(active_symbol_table) ? 1 : 2))); op_array 1115 sapi/phpdbg/phpdbg_prompt.c EX(op_array) = op_array; op_array 1121 sapi/phpdbg/phpdbg_prompt.c if (!op_array->run_time_cache && op_array->last_cache_slot) { op_array 1122 sapi/phpdbg/phpdbg_prompt.c op_array->run_time_cache = ecalloc(op_array->last_cache_slot, sizeof(void*)); op_array 1125 sapi/phpdbg/phpdbg_prompt.c if (op_array->this_var != -1 && EG(This)) { op_array 1128 sapi/phpdbg/phpdbg_prompt.c EX_CV(op_array->this_var) = (zval**)EX_CVs() + (op_array->last_var + op_array->this_var); op_array 1129 sapi/phpdbg/phpdbg_prompt.c *EX_CV(op_array->this_var) = EG(This); op_array 1131 sapi/phpdbg/phpdbg_prompt.c if (zend_hash_add(EG(active_symbol_table), "this", sizeof("this"), &EG(This), sizeof(zval *), (void**)&EX_CV(op_array->this_var))==FAILURE) { op_array 1137 sapi/phpdbg/phpdbg_prompt.c EX(opline) = UNEXPECTED((op_array->fn_flags & ZEND_ACC_INTERACTIVE) != 0) && EG(start_op) ? EG(start_op) : op_array->opcodes; op_array 1140 sapi/phpdbg/phpdbg_prompt.c EX(function_state).function = (zend_function *) op_array; op_array 1151 sapi/phpdbg/phpdbg_prompt.c void phpdbg_execute_ex(zend_op_array *op_array TSRMLS_DC) /* {{{ */ op_array 1177 sapi/phpdbg/phpdbg_prompt.c execute_data = phpdbg_create_execute_data(op_array, nested TSRMLS_CC); op_array 1321 sapi/phpdbg/phpdbg_prompt.c op_array = EG(active_op_array); op_array 64 sapi/phpdbg/phpdbg_prompt.h void phpdbg_execute_ex(zend_op_array *op_array TSRMLS_DC);