/php-src/Zend/ |
H A D | zend_closures.h | 26 #define ZEND_CLOSURE_OBJECT(op_array) \ argument 27 ((zend_object*)((char*)(op_array) - sizeof(zend_object))) 36 ZEND_API void zend_create_closure(zval *res, zend_function *op_array, zend_class_entry *scope, zend… 37 ZEND_API void zend_create_fake_closure(zval *res, zend_function *op_array, zend_class_entry *scope,…
|
H A D | zend_extensions.h | 66 typedef void (*op_array_handler_func_t)(zend_op_array *op_array); 72 typedef void (*op_array_ctor_func_t)(zend_op_array *op_array); 73 typedef void (*op_array_dtor_func_t)(zend_op_array *op_array); 74 typedef size_t (*op_array_persist_calc_func_t)(zend_op_array *op_array); 75 typedef size_t (*op_array_persist_func_t)(zend_op_array *op_array, void *mem); 156 ZEND_API size_t zend_extensions_op_array_persist_calc(zend_op_array *op_array); 157 ZEND_API size_t zend_extensions_op_array_persist(zend_op_array *op_array, void *mem);
|
H A D | zend_closures.c | 197 ptr = emalloc(my_function->op_array.cache_size); in ZEND_METHOD() 525 closure->func.op_array.static_variables = NULL; in zend_closure_free_storage() 527 destroy_op_array(&closure->func.op_array); in zend_closure_free_storage() 752 if (closure->func.op_array.refcount) { in zend_create_closure_ex() 753 (*closure->func.op_array.refcount)++; in zend_create_closure_ex() 758 if (closure->func.op_array.static_variables) { in zend_create_closure_ex() 759 closure->func.op_array.static_variables = in zend_create_closure_ex() 763 closure->func.op_array.static_variables); in zend_create_closure_ex() 764 } else if (func->op_array.static_variables) { in zend_create_closure_ex() 794 ptr = emalloc(func->op_array.cache_size); in zend_create_closure_ex() [all …]
|
H A D | zend_compile.h | 557 zend_op_array op_array; member 687 (ZEND_OFFSET_TO_OPLINE(base, offset) - op_array->opcodes) 732 # define CT_CONSTANT_EX(op_array, num) \ argument 733 ((op_array)->literals + (num)) 746 (node).zv = CT_CONSTANT_EX(op_array, (node).constant); \ 773 #define RUN_TIME_CACHE(op_array) \ argument 774 ZEND_MAP_PTR_GET((op_array)->run_time_cache) 776 #define ZEND_OP_ARRAY_EXTENSION(op_array, handle) \ argument 777 ((void**)RUN_TIME_CACHE(op_array))[handle] 883 ZEND_API void destroy_op_array(zend_op_array *op_array); [all …]
|
H A D | zend_extensions.c | 353 zend_op_array *op_array; member 361 data->size += extension->op_array_persist_calc(data->op_array); in zend_extension_op_array_persist_calc_handler() 368 size_t size = extension->op_array_persist(data->op_array, data->mem); in zend_extension_op_array_persist_handler() 376 ZEND_API size_t zend_extensions_op_array_persist_calc(zend_op_array *op_array) in zend_extensions_op_array_persist_calc() argument 381 data.op_array = op_array; in zend_extensions_op_array_persist_calc() 390 ZEND_API size_t zend_extensions_op_array_persist(zend_op_array *op_array, void *mem) in zend_extensions_op_array_persist() argument 395 data.op_array = op_array; in zend_extensions_op_array_persist()
|
H A D | zend_vm_trace_lines.h | 29 if (EX(func) && EX(func)->op_array.filename) { in zend_vm_trace() 30 fprintf(vm_trace_file, "%s:%d\n", ZSTR_VAL(EX(func)->op_array.filename), opline->lineno); in zend_vm_trace()
|
H A D | zend_execute_API.c | 362 zend_op_array *op_array; in zend_shutdown_executor_values() local 448 destroy_op_array(&func->op_array); in shutdown_executor() 641 return ex->func->op_array.filename; in zend_get_executed_filename_ex() 1787 if (!ex->func->op_array.last_var) { in zend_rebuild_symbol_table() 1793 if (!ex->func->op_array.last_var) { in zend_rebuild_symbol_table() 1816 zend_op_array *op_array = &execute_data->func->op_array; in zend_attach_symbol_table() local 1821 if (EXPECTED(op_array->last_var)) { in zend_attach_symbol_table() 1851 zend_op_array *op_array = &execute_data->func->op_array; in zend_detach_symbol_table() local 1855 if (EXPECTED(op_array->last_var)) { in zend_detach_symbol_table() 1885 zend_op_array *op_array = &execute_data->func->op_array; in zend_set_local_var() local [all …]
|
H A D | zend_observer.h | 86 typedef void (*zend_observer_function_declared_cb)(zend_op_array *op_array, zend_string *name); 89 ZEND_API void ZEND_FASTCALL _zend_observer_function_declared_notify(zend_op_array *op_array, zend_s… 90 static inline void zend_observer_function_declared_notify(zend_op_array *op_array, zend_string *nam… in zend_observer_function_declared_notify() argument 92 _zend_observer_function_declared_notify(op_array, name); in zend_observer_function_declared_notify()
|
/php-src/Zend/Optimizer/ |
H A D | zend_ssa.c | 190 while (op != op_array->opcodes) { in find_adjusted_tmp_var() 832 tmp = do_alloca(sizeof(int) * (op_array->last_var + op_array->T), use_heap); in zend_ssa_rename() 833 memcpy(tmp, var, sizeof(int) * (op_array->last_var + op_array->T)); in zend_ssa_rename() 854 uint32_t k = opline - op_array->opcodes; in zend_ssa_rename() 949 if ((blocks_count * (op_array->last_var + op_array->T)) > 4 * 1024 * 1024) { in zend_build_ssa() 958 dfg.vars = op_array->last_var + op_array->T; in zend_build_ssa() 970 zend_dump_dfg(op_array, &ssa->cfg, &dfg); in zend_build_ssa() 1017 var = do_alloca(sizeof(int) * (op_array->last_var + op_array->T), var_use_heap); in zend_build_ssa() 1059 zend_dump_phi_placement(op_array, ssa); in zend_build_ssa() 1065 memset(var + op_array->last_var, 0xff, op_array->T * sizeof(int)); in zend_build_ssa() [all …]
|
H A D | escape_analysis.c | 104 zend_op *opline = op_array->opcodes + def; in zend_build_equi_escape_sets() 153 zend_op *opline = op_array->opcodes + def; in is_allocation_def() 162 script, op_array, opline); in is_allocation_def() 224 zend_op *opline = op_array->opcodes + def; in is_local_def() 236 script, op_array, opline); in is_local_def() 274 zend_op *opline = op_array->opcodes + use; in is_escape_use() 397 for (i = op_array->last_var; i < ssa_vars_count; i++) { in zend_ssa_escape_analysis() 416 if (zend_build_equi_escape_sets(ees, op_array, ssa) == FAILURE) { in zend_ssa_escape_analysis() 422 for (i = op_array->last_var; i < ssa_vars_count; i++) { in zend_ssa_escape_analysis() 453 if (is_escape_use(op_array, ssa, use, i)) { in zend_ssa_escape_analysis() [all …]
|
H A D | scdf.c | 82 void scdf_init(zend_optimizer_ctx *ctx, scdf_ctx *scdf, zend_op_array *op_array, zend_ssa *ssa) { in scdf_init() argument 83 scdf->op_array = op_array; in scdf_init() 86 scdf->instr_worklist_len = zend_bitset_len(op_array->last); in scdf_init() 123 zend_op *opline = &scdf->op_array->opcodes[i]; in scdf_solve() 163 opline = &scdf->op_array->opcodes[j]; in scdf_solve() 209 const zend_op_array *op_array = scdf->op_array; in kept_alive_by_loop_var_free() local 216 if (is_live_loop_var_free(scdf, &op_array->opcodes[i], &scdf->ssa->ops[i])) { in kept_alive_by_loop_var_free() 225 const zend_op_array *op_array = scdf->op_array; in cleanup_loop_var_free_block() local 237 zend_op *opline = &op_array->opcodes[i]; in cleanup_loop_var_free_block() 268 zend_ssa_remove_block(scdf->op_array, ssa, i); in scdf_remove_unreachable_blocks()
|
H A D | pass3.c | 53 void zend_optimizer_pass3(zend_op_array *op_array, zend_optimizer_ctx *ctx) in zend_optimizer_pass3() argument 62 jmp_hitlist = (zend_op**)do_alloca(sizeof(zend_op*)*op_array->last, use_heap); in zend_optimizer_pass3() 63 opline = op_array->opcodes; in zend_optimizer_pass3() 64 end = opline + op_array->last; in zend_optimizer_pass3() 93 !(op_array->fn_flags & ZEND_ACC_HAS_FINALLY_BLOCK)) { in zend_optimizer_pass3() 99 opline->op1.constant = zend_optimizer_add_literal(op_array, &zv); in zend_optimizer_pass3() 101 } else if (opline > op_array->opcodes && in zend_optimizer_pass3() 106 zend_optimizer_convert_to_free_op1(op_array, opline - 1); in zend_optimizer_pass3() 161 zend_optimizer_convert_to_free_op1(op_array, opline); in zend_optimizer_pass3()
|
H A D | zend_inference.c | 1520 if (op_array->arg_info && in zend_inference_propagate_range() 2446 ce = op_array->scope; in zend_fetch_prop_info() 2453 op_array->scope); in zend_fetch_prop_info() 2474 ce = op_array->scope; in zend_fetch_static_prop_info() 2477 if (op_array->scope && (op_array->scope->ce_flags & ZEND_ACC_LINKED)) { in zend_fetch_static_prop_info() 3349 if (op_array->scope) { in _zend_update_type_info() 3356 … if (op_array->scope && op_array->scope->parent && (op_array->scope->ce_flags & ZEND_ACC_LINKED)) { in _zend_update_type_info() 3363 if (op_array->scope && (op_array->scope->ce_flags & ZEND_ACC_FINAL)) { in _zend_update_type_info() 3800 ce = op_array->scope; in _zend_update_type_info() 4506 if (call_info && op_array == &call_info->callee_func->op_array) { in is_recursive_tail_call() [all …]
|
H A D | ssa_integrity.c | 100 op_array->scope ? ZSTR_VAL(op_array->scope->name) : "", \ 101 op_array->function_name ? ZSTR_VAL(op_array->function_name) : "{main}", extra); \ 109 (i), (ssa->vars[i].var < op_array->last_var ? "CV $" : "TMP"), \ 110 (ssa->vars[i].var < op_array->last_var ? ZSTR_VAL(op_array->vars[ssa->vars[i].var]) : "") 114 (i), (zend_get_opcode_name(op_array->opcodes[i].opcode)) 116 void ssa_verify_integrity(zend_op_array *op_array, zend_ssa *ssa, const char *extra) { in ssa_verify_integrity() argument 128 if (var->definition < 0 && !var->definition_phi && i > op_array->last_var) { in ssa_verify_integrity() 209 zend_op *opline = &op_array->opcodes[i]; in ssa_verify_integrity() 242 if (!is_defined(ssa, op_array, ssa_op->op1_use)) { in ssa_verify_integrity() 259 if (!is_defined(ssa, op_array, ssa_op->op2_use)) { in ssa_verify_integrity() [all …]
|
H A D | zend_func_info.c | 60 zend_op_array *op_array = call_info->caller_op_array; in zend_range_info() local 61 uint32_t t1 = _ssa_op1_info(op_array, ssa, call_info->arg_info[0].opline, in zend_range_info() 62 ssa->ops ? &ssa->ops[call_info->arg_info[0].opline - op_array->opcodes] : NULL); in zend_range_info() 63 uint32_t t2 = _ssa_op1_info(op_array, ssa, call_info->arg_info[1].opline, in zend_range_info() 64 ssa->ops ? &ssa->ops[call_info->arg_info[1].opline - op_array->opcodes] : NULL); in zend_range_info() 69 t3 = _ssa_op1_info(op_array, ssa, call_info->arg_info[2].opline, in zend_range_info() 70 ssa->ops ? &ssa->ops[call_info->arg_info[2].opline - op_array->opcodes] : NULL); in zend_range_info()
|
H A D | sccp.c | 812 dummy_frame.func = (zend_function *) op_array; in ct_eval_func_call_ex() 1917 zend_op_array *op_array = scdf->op_array; in sccp_mark_feasible_successors() local 1933 zend_op_array *op_array = scdf->op_array; in sccp_mark_feasible_successors() local 2087 zend_op_array *op_array = ctx->scdf.op_array; in remove_call() local 2092 call = ctx->call_map[opline - op_array->opcodes]; in remove_call() 2126 zend_op_array *op_array = ctx->scdf.op_array; in try_remove_definition() local 2373 zend_op_array *op_array = ctx->scdf.op_array; in replace_constant_operands() local 2405 zend_op *opline = &op_array->opcodes[use]; in replace_constant_operands() 2448 for (; i < op_array->last_var; ++i) { in sccp_context_init() 2481 scdf_init(ctx, &sccp.scdf, op_array, ssa); in sccp_optimize_op_array() [all …]
|
H A D | zend_dfg.h | 46 void zend_build_dfg(const zend_op_array *op_array, const zend_cfg *cfg, zend_dfg *dfg, uint32_t bui… 47 ZEND_API void zend_dfg_add_use_def_op(const zend_op_array *op_array, const zend_op *opline, uint32_…
|
H A D | zend_call_graph.h | 66 …nfo **zend_build_call_map(zend_arena **arena, zend_func_info *info, const zend_op_array *op_array); 67 …rena **arena, zend_script *script, uint32_t build_flags, zend_op_array *op_array, zend_func_info *…
|
/php-src/sapi/phpdbg/ |
H A D | phpdbg_list.c | 280 zend_op_array *op_array; in phpdbg_init_compile_file() local 297 if (op_array == NULL) { in phpdbg_init_compile_file() 304 dataptr->op_array = *op_array; in phpdbg_init_compile_file() 305 if (dataptr->op_array.refcount) { in phpdbg_init_compile_file() 306 ++*dataptr->op_array.refcount; in phpdbg_init_compile_file() 309 return op_array; in phpdbg_init_compile_file() 314 zend_op_array *op_array; in phpdbg_compile_string() local 337 if (op_array == NULL) { in phpdbg_compile_string() 350 dataptr->op_array = *op_array; in phpdbg_compile_string() 352 ++*dataptr->op_array.refcount; in phpdbg_compile_string() [all …]
|
H A D | phpdbg_print.c | 56 zend_op_array* op_array = &(method->op_array); in phpdbg_print_function_helper() local 58 zend_dump_op_array(op_array, ZEND_DUMP_LINE_NUMBERS, NULL, NULL); in phpdbg_print_function_helper() 60 for (uint32_t i = 0; i < op_array->num_dynamic_func_defs; i++) { in phpdbg_print_function_helper() 61 zend_op_array *def = op_array->dynamic_func_defs[i]; in phpdbg_print_function_helper() 165 (fbc->type == ZEND_USER_FUNCTION) ? fbc->op_array.last : 0); in PHPDBG_PRINT() 216 (fbc->type == ZEND_USER_FUNCTION) ? fbc->op_array.last : 0); in PHPDBG_PRINT() 371 zend_op_array *op_array = &EX(func)->op_array; in phpdbg_print_opline() local 373 cur->opcodes = op_array->opcodes; in phpdbg_print_opline() 374 cur->filename = op_array->filename; in phpdbg_print_opline() 375 cur->scope = op_array->scope; in phpdbg_print_opline() [all …]
|
H A D | phpdbg_frame.c | 55 zend_op_array *op_array = &ex->func->op_array; in phpdbg_compile_stackframe() local 56 uint32_t i = 0, first_extra_arg = op_array->num_args, num_args = ZEND_CALL_NUM_ARGS(ex); in phpdbg_compile_stackframe() 59 if (op_array->scope) { in phpdbg_compile_stackframe() 60 smart_str_append(&s, op_array->scope->name); in phpdbg_compile_stackframe() 63 smart_str_append(&s, op_array->function_name); in phpdbg_compile_stackframe() 71 p = ZEND_CALL_VAR_NUM(ex, op_array->last_var + op_array->T); in phpdbg_compile_stackframe() 82 smart_str_append(&s, op_array->filename); in phpdbg_compile_stackframe()
|
H A D | phpdbg_info.c | 211 zend_op_array *ops = &EG(current_execute_data)->func->op_array; in phpdbg_print_symbols() 309 zend_op_array *ops = in_executor ? &EG(current_execute_data)->func->op_array : PHPDBG_G(ops); in PHPDBG_INFO() 446 zend_op_array *op_array = &zf->op_array; in PHPDBG_INFO() local 448 …phpdbg_write("|-------- %s", op_array->function_name ? ZSTR_VAL(op_array->function_name) : "{main}… in PHPDBG_INFO() 450 if (op_array->filename) { in PHPDBG_INFO() 451 phpdbg_writeln(" in %s on line %d", ZSTR_VAL(op_array->filename), op_array->line_start); in PHPDBG_INFO()
|
H A D | phpdbg_bp.c | 503 if (op_array->last <= brake->opline_num) { in phpdbg_resolve_op_array_break() 521 if (op_array->scope) { in phpdbg_resolve_op_array_break() 523 } else if (op_array->function_name) { in phpdbg_resolve_op_array_break() 542 …if (op_array->scope != NULL && !(func_table = zend_hash_find_ptr(&PHPDBG_G(bp)[PHPDBG_BREAK_METHOD… in phpdbg_resolve_op_array_breaks() 546 if (op_array->function_name == NULL) { in phpdbg_resolve_op_array_breaks() 550 …} else if (!op_array->function_name || !(oplines_table = zend_hash_find_ptr(func_table, op_array->… in phpdbg_resolve_op_array_breaks() 591 zend_op_array *op_array = &execute_data->func->op_array; in phpdbg_resolve_opline_break() local 592 …if (op_array->function_name == NULL && op_array->scope == NULL && new_break->class_len == ZSTR_LEN… in phpdbg_resolve_opline_break() 940 …phpdbg_debug("Op at: %.*s %d\n", ZSTR_LEN(op_array->filename), ZSTR_VAL(op_array->filename), (*EG(… in phpdbg_find_breakpoint_file() 1162 zend_op_array *op_array = &execute_data->func->op_array; in phpdbg_find_breakpoint() local [all …]
|
/php-src/ext/opcache/ |
H A D | zend_accelerator_util_funcs.c | 180 && function2->op_array.last > 0) { in _zend_accel_function_hash_copy() 183 ZSTR_VAL(function2->op_array.filename), in _zend_accel_function_hash_copy() 184 (int)function2->op_array.opcodes[0].lineno); in _zend_accel_function_hash_copy() 266 if (!(op_array->fn_flags & ZEND_ACC_EARLY_BINDING)) { in zend_accel_build_delayed_early_binding_list() 270 zend_op *end = op_array->opcodes + op_array->last; in zend_accel_build_delayed_early_binding_list() 302 zend_op *opline_end = op_array->opcodes + op_array->last; in zend_accel_finalize_delayed_early_binding_list() 342 ZEND_ASSERT(!ZEND_MAP_PTR(op_array->run_time_cache)); in zend_accel_do_delayed_early_binding() 347 memset(run_time_cache, 0, op_array->cache_size); in zend_accel_do_delayed_early_binding() 378 zend_op_array *op_array; in zend_accel_load_script() local 381 *op_array = persistent_script->script.main_op_array; in zend_accel_load_script() [all …]
|
/php-src/sapi/fuzzer/ |
H A D | fuzzer-sapi.c | 270 zend_op_array *op_array = zend_compile_file(&file_handle, ZEND_REQUIRE); in fuzzer_do_request_from_buffer() local 272 if (op_array) { in fuzzer_do_request_from_buffer() 274 zend_execute(op_array, NULL); in fuzzer_do_request_from_buffer() 276 zend_destroy_static_vars(op_array); in fuzzer_do_request_from_buffer() 277 destroy_op_array(op_array); in fuzzer_do_request_from_buffer() 278 efree(op_array); in fuzzer_do_request_from_buffer()
|