Home
last modified time | relevance | path

Searched refs:opcodes (Results 1 – 25 of 51) sorted by relevance

123

/PHP-7.2/ext/opcache/Optimizer/
H A Dnop_removal.c44 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal()
45 for (opline = op_array->opcodes; opline < end; opline++) { in zend_optimizer_nop_removal()
48 if (opline->opcode == ZEND_JMP && ZEND_OP1_JMP_ADDR(opline) > op_array->opcodes + i) { in zend_optimizer_nop_removal()
66 zend_op *new_opline = op_array->opcodes + new_count; in zend_optimizer_nop_removal()
77 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal()
80 for (opline = op_array->opcodes; opline<end; opline++) { in zend_optimizer_nop_removal()
106 opline_num = &op_array->opcodes[*opline_num].result.opline_num; in zend_optimizer_nop_removal()
H A Dzend_inference.h49 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
50 ssa->var_info[ssa->ops[opline - op_array->opcodes].opN##_use].has_range); \
72 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
73 ssa->var_info[ssa->ops[opline - op_array->opcodes].opN##_use].has_range) { \
74 return ssa->var_info[ssa->ops[opline - op_array->opcodes].opN##_use].range.min; \
96 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
97 ssa->var_info[ssa->ops[opline - op_array->opcodes].opN##_use].has_range) { \
114 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
115 ssa->var_info[ssa->ops[opline - op_array->opcodes].opN##_use].has_range) { \
132 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
[all …]
H A Ddce.c293 && var->use_chain == (opline - ctx->op_array->opcodes)) { in try_remove_var_def()
294 zend_op *def_opline = &ctx->op_array->opcodes[def]; in try_remove_var_def()
566 if ((op_array->opcodes[def].result_type == IS_UNUSED) && in dce_live_ranges()
573 if (op_array->opcodes[def].result_type == IS_UNUSED) { in dce_live_ranges()
574 if (op_array->opcodes[def].opcode == ZEND_DO_FCALL) { in dce_live_ranges()
579 && op_array->opcodes[def].result.var == var) { in dce_live_ranges()
580 ZEND_ASSERT(op_array->opcodes[def].opcode == ZEND_NEW); in dce_live_ranges()
584 } else if (op_array->opcodes[def].opcode == ZEND_OP_DATA) { in dce_live_ranges()
591 ZEND_ASSERT(op_array->opcodes[def].result.var == var); in dce_live_ranges()
595 || op_array->opcodes[def].result.var != var in dce_live_ranges()
[all …]
H A Dzend_cfg.c44 zend_uchar opcode = opcodes[b->start + b->len - 1].opcode; in zend_mark_reachable()
98 zend_mark_reachable(opcodes, cfg, succ); in zend_mark_reachable()
111 zend_mark_reachable(op_array->opcodes, cfg, blocks + start); in zend_mark_reachable_blocks()
133 && (op_array->opcodes[b->start + 1].opcode == ZEND_JMPZ in zend_mark_reachable_blocks()
134 || op_array->opcodes[b->start + 1].opcode == ZEND_JMPNZ) in zend_mark_reachable_blocks()
154 zend_mark_reachable(op_array->opcodes, cfg, b); in zend_mark_reachable_blocks()
207 zend_mark_reachable(op_array->opcodes, cfg, b); in zend_mark_reachable_blocks()
215 zend_mark_reachable(op_array->opcodes, cfg, b); in zend_mark_reachable_blocks()
223 zend_mark_reachable(op_array->opcodes, cfg, b); in zend_mark_reachable_blocks()
305 zend_op *opline = op_array->opcodes + i; in zend_build_cfg()
[all …]
H A Ddfa_pass.c173 if (EXPECTED(op_array->opcodes[i].opcode != ZEND_NOP) || in zend_ssa_remove_nops()
178 (op_array->opcodes[i+1].opcode == ZEND_JMPZ || in zend_ssa_remove_nops()
179 op_array->opcodes[i+1].opcode == ZEND_JMPNZ) && in zend_ssa_remove_nops()
182 op_array->opcodes[target] = op_array->opcodes[i]; in zend_ssa_remove_nops()
195 opline = op_array->opcodes + end - 1; in zend_ssa_remove_nops()
200 new_opline = op_array->opcodes + target - 1; in zend_ssa_remove_nops()
215 MAKE_NOP(op_array->opcodes + i); in zend_ssa_remove_nops()
430 uint32_t op_num = send_needly - op_array->opcodes; in zend_dfa_optimize_calls()
501 opline = op_array->opcodes + op_num; in zend_dfa_optimize_jmps()
540 opline = op_array->opcodes + op_num; in zend_dfa_optimize_jmps()
[all …]
H A Doptimize_temp_vars_5.c64 end = op_array->opcodes; in zend_optimize_temporary_variables()
65 opline = &op_array->opcodes[op_array->last - 1]; in zend_optimize_temporary_variables()
78 end = op_array->opcodes; in zend_optimize_temporary_variables()
79 opline = &op_array->opcodes[op_array->last - 1]; in zend_optimize_temporary_variables()
H A Dblock_pass.c91 zend_op *opcodes = op_array->opcodes; in strip_leading_nops() local
120 if (op_array->opcodes[i].opcode != ZEND_NOP) { in strip_nops()
122 op_array->opcodes[j] = op_array->opcodes[i]; in strip_nops()
138 MAKE_NOP(op_array->opcodes + j); in strip_nops()
172 opline = op_array->opcodes + block->start; in zend_optimize_block()
936 efree(op_array->opcodes); in assemble_code_blocks()
937 op_array->opcodes = new_opcodes; in assemble_code_blocks()
1102 opline = op_array->opcodes; in assemble_code_blocks()
1106 *opline_num = opline - op_array->opcodes; in assemble_code_blocks()
1628 opline = op_array->opcodes + block->start; in zend_t_usage()
[all …]
H A Dzend_dump.c403 int ssa_var_num = ssa->ops[opline - op_array->opcodes].result_def; in zend_dump_op()
548 int ssa_var_num = ssa->ops[opline - op_array->opcodes].op1_use; in zend_dump_op()
552 } else if (ssa->ops[opline - op_array->opcodes].op1_def < 0) { in zend_dump_op()
561 int ssa_var_num = ssa->ops[opline - op_array->opcodes].op1_def; in zend_dump_op()
605 int ssa_var_num = ssa->ops[opline - op_array->opcodes].op2_use; in zend_dump_op()
609 } else if (ssa->ops[opline - op_array->opcodes].op2_def < 0) { in zend_dump_op()
618 int ssa_var_num = ssa->ops[opline - op_array->opcodes].op2_def; in zend_dump_op()
651 int ssa_var_num = ssa->ops[opline - op_array->opcodes].result_use; in zend_dump_op()
661 int ssa_var_num = ssa->ops[opline - op_array->opcodes].result_def; in zend_dump_op()
941 opline = op_array->opcodes + b->start; in zend_dump_op_array()
[all …]
H A Dzend_call_graph.c85 zend_op *opline = op_array->opcodes; in zend_analyze_calls()
283 map[call->caller_init_opline - op_array->opcodes] = call; in zend_build_call_map()
284 map[call->caller_call_opline - op_array->opcodes] = call; in zend_build_call_map()
287 map[call->arg_info[i].opline - op_array->opcodes] = call; in zend_build_call_map()
H A Doptimize_func_calls.c98 && func->op_array.opcodes[func->op_array.num_args].opcode == ZEND_RETURN) { in zend_try_inline_call()
100 zend_op *ret_opline = func->op_array.opcodes + func->op_array.num_args; in zend_try_inline_call()
126 if (Z_CONSTANT_P(RT_CONSTANT(&func->op_array, func->op_array.opcodes[i].op2))) { in zend_try_inline_call()
152 zend_op *opline = op_array->opcodes; in zend_optimize_func_calls()
H A Dcompact_vars.c38 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars()
70 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars()
H A Dzend_optimizer.c504 zend_op *opline = op_array->opcodes; in zend_optimizer_remove_live_range()
527 switch (op_array->opcodes[start].opcode) { in zend_optimizer_remove_live_range_ex()
564 zend_op *end = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const()
633 if (op_array->live_range[brk].start <= (uint32_t)(opline - op_array->opcodes) && in zend_optimizer_replace_by_const()
634 op_array->live_range[brk].end > (uint32_t)(opline - op_array->opcodes)) { in zend_optimizer_replace_by_const()
648 n = op_array->opcodes + op_array->live_range[brk].end; in zend_optimizer_replace_by_const()
653 n = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const()
1080 opline = op_array->opcodes; in zend_revert_pass_two()
1097 opline = op_array->opcodes; in zend_redo_pass_two()
1116 opline = op_array->opcodes; in zend_redo_pass_two_ex()
[all …]
H A Dpass2.c38 zend_op *end = op_array->opcodes + op_array->last; in zend_optimizer_pass2()
40 opline = op_array->opcodes; in zend_optimizer_pass2()
H A Dsccp.c246 num = ctx->scdf.ssa->cfg.map[opline - ctx->scdf.op_array->opcodes]; in try_replace_op1()
258 num = ctx->scdf.ssa->cfg.map[opline - ctx->scdf.op_array->opcodes]; in try_replace_op1()
272 num = ctx->scdf.ssa->cfg.map[opline - ctx->scdf.op_array->opcodes]; in try_replace_op1()
924 call = ctx->call_map[opline - ctx->scdf.op_array->opcodes]; in sccp_visit_instr()
930 ssa_op = &ctx->scdf.ssa->ops[opline - ctx->scdf.op_array->opcodes]; in sccp_visit_instr()
1249 call = ctx->call_map[opline - ctx->scdf.op_array->opcodes]; in sccp_visit_instr()
1271 &ctx->scdf.ssa->ops[opline - ctx->scdf.op_array->opcodes]); in sccp_visit_instr()
1500 zend_op *opline = &op_array->opcodes[use]; in replace_constant_operands()
1538 zend_op *opline = &op_array->opcodes[var->definition]; in replace_constant_operands()
1565 &ssa->ops[call->caller_init_opline - op_array->opcodes]); in replace_constant_operands()
[all …]
H A Dzend_inference.c121 if (op_array->opcodes[line].opcode == ZEND_OP_DATA) { \
132 op_array->opcodes[line+1].opcode == ZEND_OP_DATA) { \
991 opline = op_array->opcodes + line; in zend_inference_calc_range()
1936 if (op_array->opcodes[use].opcode == ZEND_OP_DATA) { in add_usages()
1987 if (op_array->opcodes[use+1].opcode == ZEND_OP_DATA) { in reset_dependent_vars()
2279 zend_op *opline = op_array->opcodes + i; in zend_update_type_info()
3184 switch (op_array->opcodes[j].opcode) { in zend_update_type_info()
3604 zend_op *opline = &op_array->opcodes[use]; in can_convert_to_double()
3734 opline = op_array->opcodes + ssa->vars[v].definition; in zend_type_narrowing()
3775 info->ssa.ops[opline - op_array->opcodes].op1_use >= 0 && in is_recursive_tail_call()
[all …]
H A Dscdf.c124 zend_op *opline = &scdf->op_array->opcodes[i]; in scdf_solve()
164 opline = &scdf->op_array->opcodes[j]; in scdf_solve()
/PHP-7.2/Zend/
H A Dzend_vm_gen.php1480 …_handler($f, 1, $kind, $opcodes[$num]["op"], $op1, $op2, isset($opcodes[$num]["use"]), $opcodes[$n…
1509 …handler($f, 0, $kind, $opcodes[$num]["op"], "ANY", "ANY", isset($opcodes[$num]["use"]), $opcodes[$…
2093 if (isset($opcodes[$code])) {
2138 if (isset($opcodes[$code])) {
2229 if (isset($opcodes[$code])) {
2246 ksort($opcodes);
2249 foreach ($opcodes as $dsc) {
2256 $opcodes[$code]['use'] = 1;
2321 fputs($f,"\t".(isset($opcodes[$i]["op"])?'"'.$opcodes[$i]["op"].'"':"NULL").",\n");
2327 fprintf($f, "\t0x%08x,\n", isset($opcodes[$i]["flags"]) ? $opcodes[$i]["flags"] : 0);
[all …]
H A Dzend_opcode.c49 op_array->opcodes = erealloc(op_array->opcodes, size * sizeof(zend_op)); in op_array_alloc_ops()
62 op_array->opcodes = NULL; in init_op_array()
412 efree(op_array->opcodes); in destroy_op_array()
471 next_op = &(op_array->opcodes[next_op_num]); in get_next_op()
492 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_info()
531 CG(zend_lineno) = op_array->opcodes[op_num].lineno; in zend_check_finally_breakout()
539 CG(zend_lineno) = op_array->opcodes[op_num].lineno; in zend_check_finally_breakout()
580 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, sizeof(zend_op)*op_array->last); in pass_two()
587 opline = op_array->opcodes; in pass_two()
601 zend_check_finally_breakout(op_array, opline - op_array->opcodes, jmp_target); in pass_two()
[all …]
H A Dzend_generators.c102 if (execute_data->opline != execute_data->func->op_array.opcodes) { in zend_generator_cleanup_unfinished_execution()
104 uint32_t op_num = execute_data->opline - execute_data->func->op_array.opcodes - 1; in zend_generator_cleanup_unfinished_execution()
200 op_num = ex->opline - ex->func->op_array.opcodes - 1; in zend_generator_dtor_storage()
225 fast_call = ZEND_CALL_VAR(ex, ex->func->op_array.opcodes[finally_op_end].op1.var); in zend_generator_dtor_storage()
230 ex->opline = &ex->func->op_array.opcodes[finally_op_num]; in zend_generator_dtor_storage()
282 if (execute_data->opline != op_array->opcodes) { in calc_gc_buffer_size()
284 uint32_t i, op_num = execute_data->opline - op_array->opcodes - 1; in calc_gc_buffer_size()
366 if (execute_data->opline != op_array->opcodes) { in zend_generator_get_gc()
367 uint32_t i, op_num = execute_data->opline - op_array->opcodes - 1; in zend_generator_get_gc()
/PHP-7.2/sapi/phpdbg/
H A Dphpdbg_opcode.h36 zend_op *opcodes; member
H A Dphpdbg_opcode.c73 spprintf(&result, 0, "J%td", OP_JMP_ADDR(opline, op) - ops->opcodes); in phpdbg_decode_input_op()
179 cur->opcodes = op_array->opcodes; in phpdbg_print_opline_ex()
/PHP-7.2/Zend/tests/
H A Dbug73338.phpt2 Bug #73338: Ensure exceptions in function init opcodes are cleaned properly
/PHP-7.2/ext/opcache/
H A Dzend_persist.c401 if (zend_shared_alloc_get_xlat_entry(op_array->opcodes)) { in zend_persist_op_array_ex()
424 persist_ptr = zend_shared_alloc_get_xlat_entry(op_array->opcodes); in zend_persist_op_array_ex()
426 op_array->opcodes = persist_ptr; in zend_persist_op_array_ex()
428 zend_op *new_opcodes = zend_accel_memdup(op_array->opcodes, sizeof(zend_op) * op_array->last); in zend_persist_op_array_ex()
449 opline->op1.jmp_addr = &new_opcodes[opline->op1.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex()
463 opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex()
479 efree(op_array->opcodes); in zend_persist_op_array_ex()
480 op_array->opcodes = new_opcodes; in zend_persist_op_array_ex()
H A Dzend_file_cache.c380 if (op_array->scope && !IS_SERIALIZED(op_array->opcodes)) {
381 if (UNEXPECTED(zend_shared_alloc_get_xlat_entry(op_array->opcodes))) {
384 SERIALIZE_PTR(op_array->opcodes);
396 zend_shared_alloc_register_xlat_entry(op_array->opcodes, op_array->opcodes);
412 if (!IS_SERIALIZED(op_array->opcodes)) {
415 SERIALIZE_PTR(op_array->opcodes);
416 opline = op_array->opcodes;
1037 UNSERIALIZE_PTR(op_array->opcodes);
1062 if (!IS_UNSERIALIZED(op_array->opcodes)) {
1065 UNSERIALIZE_PTR(op_array->opcodes);
[all …]
/PHP-7.2/ext/pcre/pcrelib/
H A DHACKING139 is handled entirely at compile time by generating different opcodes for the
237 following opcodes, which come in caseful and caseless versions:
254 Other repeats make use of these opcodes:
267 Another set of matching repeating opcodes (called OP_NOTSTAR, OP_NOTSTARI,
269 The normal single-character opcodes (OP_STAR, etc.) are used for repeated
278 unit. The opcodes are:
306 Repeats of these items use the OP_TYPESTAR etc. set of opcodes, followed by
318 A set of repeating opcodes (called OP_NOTSTAR etc.) are used for repeated,
319 negated, single-character classes. The normal single-character opcodes
422 single-unit opcodes that tell the matcher that skipping the following
[all …]

Completed in 108 milliseconds

123