Searched refs:op_array (Results 1 - 25 of 51) sorted by relevance

123

/PHP_TRUNK/Zend/
H A Dzend_dtrace.h34 ZEND_API void (*zend_dtrace_execute)(zend_op_array *op_array);
H A Dzend_closures.h31 ZEND_API void zend_create_closure(zval *res, zend_function *op_array, zend_class_entry *scope, zval *this_ptr);
H A Dzend_extensions.h50 typedef void (*op_array_handler_func_t)(zend_op_array *op_array);
52 typedef void (*statement_handler_func_t)(zend_op_array *op_array);
53 typedef void (*fcall_begin_handler_func_t)(zend_op_array *op_array);
54 typedef void (*fcall_end_handler_func_t)(zend_op_array *op_array);
56 typedef void (*op_array_ctor_func_t)(zend_op_array *op_array);
57 typedef void (*op_array_dtor_func_t)(zend_op_array *op_array);
H A Dzend_generators.h57 ZEND_API void zend_generator_create_zval(zend_execute_data *call, zend_op_array *op_array, zval *return_value);
H A Dzend_generators.c35 zend_op_array *op_array = &execute_data->func->op_array; local
47 uint32_t op_num = execute_data->opline - op_array->opcodes - 1;
50 for (i = 0; i < op_array->last_brk_cont; ++i) {
51 zend_brk_cont_element *brk_cont = op_array->brk_cont_array + i;
58 zend_op *brk_opline = op_array->opcodes + brk_cont->brk;
99 zend_op_array *op_array = &execute_data->func->op_array; local
127 if (op_array->fn_flags & ZEND_ACC_CLOSURE) {
128 destroy_op_array(op_array);
226 zend_generator_create_zval(zend_execute_data *call, zend_op_array *op_array, zval *return_value) argument
[all...]
H A Dzend_execute.h38 ZEND_API void zend_init_execute_data(zend_execute_data *execute_data, zend_op_array *op_array, zval *return_value);
39 ZEND_API zend_execute_data *zend_create_generator_execute_data(zend_execute_data *call, zend_op_array *op_array, zval *return_value);
40 ZEND_API void zend_execute(zend_op_array *op_array, zval *return_value);
165 used_stack += func->op_array.last_var + func->op_array.T - MIN(func->op_array.num_args, num_args);
181 zval *end = ZEND_CALL_VAR_NUM(call, call->func->op_array.last_var + call->func->op_array.T);
182 zval *p = end + (ZEND_CALL_NUM_ARGS(call) - call->func->op_array.num_args);
241 #define ZEND_USER_OPCODE_ENTER 3 /* enter into new op_array withou
[all...]
H A Dzend_opcode.c32 static void zend_extension_op_array_ctor_handler(zend_extension *extension, zend_op_array *op_array) argument
35 extension->op_array_ctor(op_array);
39 static void zend_extension_op_array_dtor_handler(zend_extension *extension, zend_op_array *op_array) argument
42 extension->op_array_dtor(op_array);
46 static void op_array_alloc_ops(zend_op_array *op_array, uint32_t size) argument
48 op_array->opcodes = erealloc(op_array->opcodes, size * sizeof(zend_op));
51 void init_op_array(zend_op_array *op_array, zend_uchar type, int initial_ops_size) argument
53 op_array->type = type;
55 op_array
131 zend_cleanup_op_array_data(zend_op_array *op_array) argument
315 destroy_op_array(zend_op_array *op_array) argument
403 get_next_op(zend_op_array *op_array) argument
420 get_next_op_number(zend_op_array *op_array) argument
425 get_next_brk_cont_element(zend_op_array *op_array) argument
432 zend_update_extended_info(zend_op_array *op_array) argument
455 zend_extension_op_array_handler(zend_extension *extension, zend_op_array *op_array) argument
462 zend_check_finally_breakout(zend_op_array *op_array, uint32_t op_num, uint32_t dst_num) argument
487 zend_adjust_fast_call(zend_op_array *op_array, uint32_t fast_call, uint32_t start, uint32_t end) argument
508 zend_resolve_fast_call(zend_op_array *op_array, uint32_t fast_call, uint32_t op_num) argument
530 zend_resolve_finally_call(zend_op_array *op_array, uint32_t op_num, uint32_t dst_num) argument
619 zend_resolve_finally_ret(zend_op_array *op_array, uint32_t op_num) argument
647 zend_resolve_finally_calls(zend_op_array *op_array) argument
702 pass_two(zend_op_array *op_array) argument
[all...]
H A Dzend_compile.c54 zend_op_array *op_array = CG(active_op_array); local
55 Z_CACHE_SLOT(op_array->literals[literal]) = op_array->cache_size;
56 op_array->cache_size += sizeof(void*);
62 zend_op_array *op_array = CG(active_op_array); local
63 Z_CACHE_SLOT(op_array->literals[literal]) = op_array->cache_size;
64 op_array->cache_size += POLYMORPHIC_CACHE_SLOT_SIZE * sizeof(void*);
254 static uint32_t get_temporary_variable(zend_op_array *op_array) /* {{{ */ argument
256 return (uint32_t)op_array
260 lookup_cv(zend_op_array *op_array, zend_string* name) argument
286 zend_del_literal(zend_op_array *op_array, int n) argument
298 zend_insert_literal(zend_op_array *op_array, zval *zv, int literal_position) argument
315 zend_add_literal(zend_op_array *op_array, zval *zv) argument
330 zend_add_literal_string(zend_op_array *op_array, zend_string **str) argument
341 zend_add_func_name_literal(zend_op_array *op_array, zend_string *name) argument
354 zend_add_ns_func_name_literal(zend_op_array *op_array, zend_string *name) argument
377 zend_add_class_name_literal(zend_op_array *op_array, zend_string *name) argument
392 zend_add_const_name_literal(zend_op_array *op_array, zend_string *name, zend_bool unqualified) argument
750 zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2) argument
845 zend_op_array *op_array = CG(active_op_array); local
865 zend_op_array *op_array = &function->op_array; local
884 do_bind_function(const zend_op_array *op_array, const zend_op *opline, HashTable *function_table, zend_bool compile_time) argument
925 do_bind_class(const zend_op_array* op_array, const zend_op *opline, HashTable *class_table, zend_bool compile_time) argument
962 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) argument
1075 zend_do_delayed_early_binding(const zend_op_array *op_array) argument
1494 zend_get_compiled_variable_name(const zend_op_array *op_array, uint32_t var) argument
3934 zend_op_array *op_array = CG(active_op_array); local
4125 zend_begin_method_decl(zend_op_array *op_array, zend_string *name, zend_bool has_body) argument
4302 zend_begin_func_decl(znode *result, zend_op_array *op_array, zend_ast_decl *decl) argument
4342 zend_hash_update_ptr(CG(function_table), key, op_array); local
4359 zend_op_array *op_array = zend_arena_alloc(&CG(arena), sizeof(zend_op_array)); local
5143 zend_op_array *op_array = CG(active_op_array); local
[all...]
H A Dzend_compile.h252 /* op_array has finally blocks */
397 zend_op_array op_array; member in union:_zend_function
412 zend_function *func; /* executed op_array */
473 #define ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline_num) \
474 ((char*)&(op_array)->opcodes[opline_num] - (char*)(opline))
479 #define ZEND_OFFSET_TO_OPLINE_NUM(op_array, base, offset) \
480 (ZEND_OFFSET_TO_OPLINE(base, offset) - op_array->opcodes)
489 # define ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, node) do { \
490 (node).jmp_addr = (op_array)->opcodes + (node).opline_num; \
494 # define ZEND_PASS_TWO_UNDO_JMP_TARGET(op_array, oplin
[all...]
H A Dzend_execute.c62 static void zend_extension_statement_handler(const zend_extension *extension, zend_op_array *op_array);
63 static void zend_extension_fcall_begin_handler(const zend_extension *extension, zend_op_array *op_array);
64 static void zend_extension_fcall_end_handler(const zend_extension *extension, zend_op_array *op_array);
113 #define CV_DEF_OF(i) (EX(func)->op_array.vars[i])
582 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->func->op_array.filename->val, ptr->opline->lineno);
745 zend_error(E_WARNING, "Missing argument %u for %s%s%s(), called in %s on line %d and defined", arg_num, class_name, space, func_name, ptr->func->op_array.filename->val, ptr->opline->lineno);
1132 static void zend_extension_statement_handler(const zend_extension *extension, zend_op_array *op_array) argument
1135 extension->statement_handler(op_array);
1140 static void zend_extension_fcall_begin_handler(const zend_extension *extension, zend_op_array *op_array) argument
1143 extension->fcall_begin_handler(op_array);
1148 zend_extension_fcall_end_handler(const zend_extension *extension, zend_op_array *op_array) argument
1617 zend_brk_cont(int nest_levels, int array_offset, const zend_op_array *op_array, const zend_execute_data *execute_data) argument
1742 i_init_func_execute_data(zend_execute_data *execute_data, zend_op_array *op_array, zval *return_value, int check_this) argument
1814 i_init_code_execute_data(zend_execute_data *execute_data, zend_op_array *op_array, zval *return_value) argument
1840 i_init_execute_data(zend_execute_data *execute_data, zend_op_array *op_array, zval *return_value) argument
1921 zend_create_generator_execute_data(zend_execute_data *call, zend_op_array *op_array, zval *return_value) argument
1972 zend_init_execute_data(zend_execute_data *execute_data, zend_op_array *op_array, zval *return_value) argument
[all...]
/PHP_TRUNK/sapi/fpm/fpm/
H A Dfpm_php_trace.c95 if (0 > fpm_trace_get_long(execute_data + offsetof(zend_execute_data, op_array), &l)) {
102 long op_array = l;
104 if (0 > fpm_trace_get_strz(buf, buf_size, op_array + offsetof(zend_op_array, filename))) {
/PHP_TRUNK/sapi/phpdbg/
H A Dphpdbg_opcode.c145 char *decode = phpdbg_decode_opline(&execute_data->func->op_array, opline, vars);
154 execute_data->func->op_array.filename ? execute_data->func->op_array.filename->val : "unknown");
163 execute_data->func->op_array.filename ? execute_data->func->op_array.filename->val : "unknown");
H A Dphpdbg_print.c57 zend_op_array* op_array = &(method->op_array); local
60 if (op_array) {
61 zend_op *opline = &(op_array->opcodes[0]);
63 end = op_array->last-1;
67 op_array->line_start,
68 op_array->line_end,
71 op_array->filename ? op_array->filename->val : "unknown");
74 method->common.function_name ? op_array
[all...]
/PHP_TRUNK/ext/opcache/Optimizer/
H A Dzend_optimizer_internal.h94 op.constant = zend_optimizer_add_literal(op_array, &_c); \
100 op.constant = zend_optimizer_add_literal(op_array, &_c); \
113 int zend_optimizer_add_literal(zend_op_array *op_array, zval *zv);
117 int zend_optimizer_lookup_cv(zend_op_array *op_array, zend_string* name);
118 void zend_optimizer_update_op1_const(zend_op_array *op_array,
121 void zend_optimizer_update_op2_const(zend_op_array *op_array,
124 int zend_optimizer_replace_by_const(zend_op_array *op_array,
130 void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx);
131 void zend_optimizer_pass2(zend_op_array *op_array);
132 void zend_optimizer_pass3(zend_op_array *op_array);
[all...]
H A Dnop_removal.c34 void zend_optimizer_nop_removal(zend_op_array *op_array) argument
42 shiftlist = (uint32_t *)DO_ALLOCA(sizeof(uint32_t) * op_array->last);
44 end = op_array->opcodes + op_array->last;
45 for (opline = op_array->opcodes; opline < end; opline++) {
58 zend_op *target = op_array->opcodes + ZEND_OP1(opline).opline_num - 1;
74 op_array->opcodes[new_count] = *opline;
81 op_array->last = new_count;
82 end = op_array->opcodes + op_array
[all...]
H A Doptimize_temp_vars_5.c41 void optimize_temporary_variables(zend_op_array *op_array, zend_optimizer_ctx *ctx) argument
43 int T = op_array->T;
44 int offset = op_array->last_var;
61 end = op_array->opcodes;
62 opline = &op_array->opcodes[op_array->last - 1];
75 end = op_array->opcodes;
76 opline = &op_array->opcodes[op_array->last - 1];
161 op_array
[all...]
H A Dpass2.c36 void zend_optimizer_pass2(zend_op_array *op_array) argument
39 zend_op *end = op_array->opcodes + op_array->last;
41 opline = op_array->opcodes;
203 jmp_to = &op_array->brk_cont_array[array_offset];
206 if (op_array->opcodes[jmp_to->brk].opcode == ZEND_FREE ||
207 op_array->opcodes[jmp_to->brk].opcode == ZEND_FE_FREE ||
208 op_array->opcodes[jmp_to->brk].opcode == ZEND_END_SILENCE) {
H A Dpass3.c42 if (jmp_hitlist[i] == ZEND_OP1(&op_array->opcodes[target]).opline_num) { \
46 jmp_hitlist[jmp_hitlist_count++] = ZEND_OP1(&op_array->opcodes[target]).opline_num;
50 if (jmp_hitlist[i] == ZEND_OP2(&op_array->opcodes[target]).opline_num) { \
54 jmp_hitlist[jmp_hitlist_count++] = ZEND_OP2(&op_array->opcodes[target]).opline_num;
56 void zend_optimizer_pass3(zend_op_array *op_array) argument
59 zend_op *end = op_array->opcodes + op_array->last;
66 jmp_hitlist = (uint32_t *)DO_ALLOCA(sizeof(uint32_t)*op_array->last);
67 opline = op_array->opcodes;
165 if (op_array
[all...]
H A Dcompact_literals.c87 zend_op_array *op_array)
93 if (Z_TYPE(op_array->literals[constant]) == IS_STRING &&
95 LITERAL_INFO_OBJ(constant, kind, 1, slots, related, op_array->this_var);
108 zend_op_array *op_array)
117 void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx *ctx) argument
130 if (op_array->last_literal) {
131 info = (literal_info*)zend_arena_calloc(&ctx->arena, op_array->last_literal, sizeof(literal_info));
134 opline = op_array->opcodes;
135 end = opline + op_array->last;
155 op_array);
80 optimizer_literal_obj_info(literal_info *info, zend_uchar op_type, znode_op op, int constant, uint32_t kind, uint32_t slots, uint32_t related, zend_op_array *op_array) argument
101 optimizer_literal_class_info(literal_info *info, zend_uchar op_type, znode_op op, int constant, uint32_t kind, uint32_t slots, uint32_t related, zend_op_array *op_array) argument
[all...]
H A Dblock_pass.c70 # define BLOCK_REF(b) b?op_array->opcodes-b->start_opline:-1
107 #define START_BLOCK_OP(opno) blocks[opno].start_opline = &op_array->opcodes[opno]; blocks[opno].start_opline_no = opno; blocks[opno].access = 1
109 /* find code blocks in op_array
112 static int find_code_blocks(zend_op_array *op_array, zend_cfg *cfg, zend_optimizer_ctx *ctx) argument
115 zend_op *end = op_array->opcodes + op_array->last;
120 blocks = cfg->blocks = zend_arena_calloc(&ctx->arena, op_array->last + 2, sizeof(zend_code_block));
121 opline = op_array->opcodes;
188 if (op_array->last_try_catch) {
190 cfg->try = zend_arena_calloc(&ctx->arena, op_array
494 zend_rebuild_access_path(zend_cfg *cfg, zend_op_array *op_array, int find_start, zend_optimizer_ctx *ctx) argument
596 zend_optimize_block(zend_code_block *block, zend_op_array *op_array, char *used_ext, zend_cfg *cfg, zend_optimizer_ctx *ctx) argument
1117 assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array) argument
1235 zend_jmp_optimization(zend_code_block *block, zend_op_array *op_array, zend_code_block *blocks, zend_cfg *cfg, zend_optimizer_ctx *ctx) argument
1743 zend_t_usage(zend_code_block *block, zend_op_array *op_array, char *used_ext, zend_optimizer_ctx *ctx) argument
1891 optimize_cfg(zend_op_array *op_array, zend_optimizer_ctx *ctx) argument
[all...]
H A Doptimize_func_calls.c34 Z_TYPE(op_array->literals[(opline)->op2.constant]) == IS_STRING)
41 void optimize_func_calls(zend_op_array *op_array, zend_optimizer_ctx *ctx) argument
43 zend_op *opline = op_array->opcodes;
44 zend_op *end = opline + op_array->last;
49 if (op_array->last < 2) {
54 call_stack = zend_arena_calloc(&ctx->arena, op_array->last / 2, sizeof(optimizer_call_info));
61 zval *function_name = &op_array->literals[opline->op2.constant + 1];
88 Z_CACHE_SLOT(op_array->literals[fcall->op2.constant + 1]) = Z_CACHE_SLOT(op_array->literals[fcall->op2.constant]);
95 Z_CACHE_SLOT(op_array
[all...]
H A Dpass1_5.c40 void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx) argument
43 zend_op *opline = op_array->opcodes;
44 zend_op *end = opline + op_array->last;
45 zend_bool collect_constants = (op_array == &ctx->script->main_op_array);
94 zend_optimizer_replace_by_const(op_array, opline + 1, IS_TMP_VAR, tv, &result);
130 zend_optimizer_replace_by_const(op_array, opline + 1, type, tv, &res);
157 zend_optimizer_replace_by_const(op_array, opline + 1, IS_TMP_VAR, tv, &result);
226 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 */
244 fake_execute_data.func = (zend_function*)op_array;
251 zend_optimizer_replace_by_const(op_array, oplin
[all...]
H A Dzend_optimizer.c58 int zend_optimizer_lookup_cv(zend_op_array *op_array, zend_string* name) argument
63 while (i < op_array->last_var) {
64 if (op_array->vars[i] == name ||
65 (op_array->vars[i]->h == hash_value &&
66 op_array->vars[i]->len == name->len &&
67 memcmp(op_array->vars[i]->val, name->val, name->len) == 0)) {
72 i = op_array->last_var;
73 op_array->last_var++;
74 op_array->vars = erealloc(op_array
102 zend_optimizer_add_literal(zend_op_array *op_array, zval *zv) argument
114 zend_optimizer_update_op1_const(zend_op_array *op_array, zend_op *opline, zval *val) argument
149 zend_optimizer_update_op2_const(zend_op_array *op_array, zend_op *opline, zval *val) argument
279 zend_optimizer_replace_by_const(zend_op_array *op_array, zend_op *opline, zend_uchar type, uint32_t var, zval *val) argument
390 zend_optimize(zend_op_array *op_array, zend_optimizer_ctx *ctx) argument
462 zend_accel_optimize(zend_op_array *op_array, zend_optimizer_ctx *ctx) argument
546 zend_accel_adjust_fcall_stack_size(zend_op_array *op_array, zend_optimizer_ctx *ctx) argument
571 zend_op_array *op_array; local
[all...]
/PHP_TRUNK/ext/opcache/
H A Dzend_persist_calc.c146 static void zend_persist_op_array_calc_ex(zend_op_array *op_array) argument
148 if (op_array->type != ZEND_USER_FUNCTION) {
152 if (op_array->static_variables) {
153 if (!zend_shared_alloc_get_xlat_entry(op_array->static_variables)) {
154 HashTable *old = op_array->static_variables;
156 ADD_DUP_SIZE(op_array->static_variables, sizeof(HashTable));
157 zend_hash_persist_calc(op_array->static_variables, zend_persist_zval_calc);
158 zend_shared_alloc_register_xlat_entry(old, op_array->static_variables);
162 if (zend_shared_alloc_get_xlat_entry(op_array->opcodes)) {
164 if (op_array
[all...]
H A Dzend_persist.c345 static void zend_persist_op_array_ex(zend_op_array *op_array, zend_persistent_script* main_persistent_script) argument
351 if (op_array->type != ZEND_USER_FUNCTION) {
355 if (op_array->refcount && --(*op_array->refcount) == 0) {
356 efree(op_array->refcount);
358 op_array->refcount = NULL;
366 fake_execute_data.func = (zend_function*)op_array;
374 if (op_array->static_variables) {
375 HashTable *stored = zend_shared_alloc_get_xlat_entry(op_array->static_variables);
378 op_array
[all...]

Completed in 41 milliseconds

123