diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2020-03-25 12:42:04 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2020-03-25 14:26:42 +0300 |
| commit | 0684b9fcdcad4f0f02d40d763f5fa7751eb561bb (patch) | |
| tree | 3b148bee35e3ad8b616af1369bcf048012cb90d1 /ext/opcache/Optimizer/zend_dump.c | |
| parent | a524785d5d26be1608404e439652ba11839755eb (diff) | |
| download | php-git-0684b9fcdcad4f0f02d40d763f5fa7751eb561bb.tar.gz | |
Always print numeric opline numbers
Diffstat (limited to 'ext/opcache/Optimizer/zend_dump.c')
| -rw-r--r-- | ext/opcache/Optimizer/zend_dump.c | 123 |
1 files changed, 26 insertions, 97 deletions
diff --git a/ext/opcache/Optimizer/zend_dump.c b/ext/opcache/Optimizer/zend_dump.c index e14ea642b5..e06128457a 100644 --- a/ext/opcache/Optimizer/zend_dump.c +++ b/ext/opcache/Optimizer/zend_dump.c @@ -605,10 +605,8 @@ void zend_dump_op(const zend_op_array *op_array, const zend_basic_block *b, cons if (ZEND_VM_OP_JMP_ADDR == (op1_flags & ZEND_VM_OP_MASK)) { if (b) { fprintf(stderr, " BB%d", b->successors[n++]); - } else if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " %04u", (uint32_t)(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes)); } else { - fprintf(stderr, " L%u", (uint32_t)(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes)); + fprintf(stderr, " %04u", (uint32_t)(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes)); } } else { zend_dump_unused_op(opline, opline->op1, op1_flags); @@ -630,10 +628,8 @@ void zend_dump_op(const zend_op_array *op_array, const zend_basic_block *b, cons } if (b) { fprintf(stderr, " BB%d,", b->successors[n++]); - } else if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " %04u,", (uint32_t)ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, Z_LVAL_P(zv))); } else { - fprintf(stderr, " L%u,", (uint32_t)ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, Z_LVAL_P(zv))); + fprintf(stderr, " %04u,", (uint32_t)ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, Z_LVAL_P(zv))); } } ZEND_HASH_FOREACH_END(); fprintf(stderr, " default:"); @@ -667,10 +663,8 @@ void zend_dump_op(const zend_op_array *op_array, const zend_basic_block *b, cons if (opline->opcode != ZEND_CATCH || !(opline->extended_value & ZEND_LAST_CATCH)) { if (b) { fprintf(stderr, " BB%d", b->successors[n++]); - } else if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " %04u", (uint32_t)(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes)); } else { - fprintf(stderr, " L%u", (uint32_t)(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes)); + fprintf(stderr, " %04u", (uint32_t)(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes)); } } } else { @@ -681,10 +675,8 @@ void zend_dump_op(const zend_op_array *op_array, const zend_basic_block *b, cons if (ZEND_VM_EXT_JMP_ADDR == (flags & ZEND_VM_EXT_MASK)) { if (b) { fprintf(stderr, " BB%d", b->successors[n++]); - } else if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " %04u", (uint32_t)ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); } else { - fprintf(stderr, " L%u", (uint32_t)ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); + fprintf(stderr, " %04u", (uint32_t)ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); } } if (opline->result_type == IS_CONST) { @@ -724,15 +716,8 @@ static void zend_dump_op_line(const zend_op_array *op_array, const zend_basic_bl const zend_ssa *ssa = NULL; zend_ssa_op *ssa_op = NULL; - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - len = fprintf(stderr, "%04u", (uint32_t)(opline - op_array->opcodes)); - fprintf(stderr, "%*c", 5-len, ' '); - } else if (!b) { - len = fprintf(stderr, "L%u (%u):", (uint32_t)(opline - op_array->opcodes), opline->lineno); - fprintf(stderr, "%*c", 12-len, ' '); - } else { - fprintf(stderr, "%*c", 12-len, ' '); - } + len = fprintf(stderr, "%04u", (uint32_t)(opline - op_array->opcodes)); + fprintf(stderr, "%*c", 5-len, ' '); if (dump_flags & ZEND_DUMP_SSA) { ssa = (const zend_ssa*)data; @@ -749,10 +734,7 @@ static void zend_dump_block_info(const zend_cfg *cfg, int n, uint32_t dump_flags { zend_basic_block *b = cfg->blocks + n; - fprintf(stderr, "BB%d:", n); - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, "\n ;"); - } + fprintf(stderr, "BB%d:\n ;", n); if (b->flags & ZEND_BB_START) { fprintf(stderr, " start"); } @@ -806,10 +788,7 @@ static void zend_dump_block_info(const zend_cfg *cfg, int n, uint32_t dump_flags int *p = cfg->predecessors + b->predecessor_offset; int *end = p + b->predecessors_count; - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; from=(BB%d", *p); + fprintf(stderr, " ; from=(BB%d", *p); for (p++; p < end; p++) { fprintf(stderr, ", BB%d", *p); } @@ -818,10 +797,7 @@ static void zend_dump_block_info(const zend_cfg *cfg, int n, uint32_t dump_flags if (b->successors_count > 0) { int s; - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; to=(BB%d", b->successors[0]); + fprintf(stderr, " ; to=(BB%d", b->successors[0]); for (s = 1; s < b->successors_count; s++) { fprintf(stderr, ", BB%d", b->successors[s]); } @@ -829,29 +805,17 @@ static void zend_dump_block_info(const zend_cfg *cfg, int n, uint32_t dump_flags } if (b->idom >= 0) { - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; idom=BB%d\n", b->idom); + fprintf(stderr, " ; idom=BB%d\n", b->idom); } if (b->level >= 0) { - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; level=%d\n", b->level); + fprintf(stderr, " ; level=%d\n", b->level); } if (b->loop_header >= 0) { - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; loop_header=%d\n", b->loop_header); + fprintf(stderr, " ; loop_header=%d\n", b->loop_header); } if (b->children >= 0) { int j = b->children; - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; children=(BB%d", j); + fprintf(stderr, " ; children=(BB%d", j); j = cfg->blocks[j].next_child; while (j >= 0) { fprintf(stderr, ", BB%d", j); @@ -870,11 +834,7 @@ static void zend_dump_block_header(const zend_cfg *cfg, const zend_op_array *op_ do { int j; - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } else { - fprintf(stderr, " "); - } + fprintf(stderr, " "); zend_dump_ssa_var(op_array, ssa, p->ssa_var, 0, p->var, dump_flags); if (p->pi < 0) { fprintf(stderr, " = Phi("); @@ -945,11 +905,7 @@ void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, cons fprintf(stderr, "\n"); zend_dump_op_array_name(op_array); - fprintf(stderr, ":"); - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, "\n "); - } - fprintf(stderr, " ; (lines=%d, args=%d", + fprintf(stderr, ":\n ; (lines=%d, args=%d", op_array->last, op_array->num_args); if (func_info && func_info->num_args >= 0) { @@ -1008,24 +964,15 @@ void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, cons } fprintf(stderr, ")\n"); if (msg) { - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; (%s)\n", msg); - } - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); + fprintf(stderr, " ; (%s)\n", msg); } - fprintf(stderr, " ; %s:%u-%u\n", op_array->filename->val, op_array->line_start, op_array->line_end); + fprintf(stderr, " ; %s:%u-%u\n", op_array->filename->val, op_array->line_start, op_array->line_end); if (func_info && func_info->num_args > 0) { uint32_t j; for (j = 0; j < MIN(op_array->num_args, func_info->num_args ); j++) { - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; arg %d ", j); + fprintf(stderr, " ; arg %d ", j); zend_dump_type_info(func_info->arg_info[j].info.type, func_info->arg_info[j].info.ce, func_info->arg_info[j].info.is_instanceof, dump_flags); zend_dump_range(&func_info->arg_info[j].info.range); fprintf(stderr, "\n"); @@ -1033,10 +980,7 @@ void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, cons } if (func_info) { - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; return "); + fprintf(stderr, " ; return "); zend_dump_type_info(func_info->return_info.type, func_info->return_info.ce, func_info->return_info.is_instanceof, dump_flags); zend_dump_range(&func_info->return_info.range); fprintf(stderr, "\n"); @@ -1044,10 +988,7 @@ void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, cons if (ssa && ssa->var_info) { for (i = 0; i < op_array->last_var; i++) { - if (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) { - fprintf(stderr, " "); - } - fprintf(stderr, " ; "); + fprintf(stderr, " ; "); zend_dump_ssa_var(op_array, ssa, i, IS_CV, i, dump_flags); fprintf(stderr, "\n"); } @@ -1076,9 +1017,7 @@ void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, cons fprintf(stderr, "LIVE RANGES:\n"); for (i = 0; i < op_array->last_live_range; i++) { fprintf(stderr, - (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) ? - " %u: %04u - %04u " : - " %u: L%u - L%u ", + " %u: %04u - %04u ", EX_VAR_TO_NUM(op_array->live_range[i].var & ~ZEND_LIVE_MASK), op_array->live_range[i].start, op_array->live_range[i].end); @@ -1138,9 +1077,7 @@ void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, cons fprintf(stderr, "LIVE RANGES:\n"); for (i = 0; i < op_array->last_live_range; i++) { fprintf(stderr, - (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) ? - " %u: %04u - %04u " : - " %u: L%u - L%u ", + " %u: %04u - %04u ", EX_VAR_TO_NUM(op_array->live_range[i].var & ~ZEND_LIVE_MASK), op_array->live_range[i].start, op_array->live_range[i].end); @@ -1167,34 +1104,26 @@ void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, cons fprintf(stderr, "EXCEPTION TABLE:\n"); for (i = 0; i < op_array->last_try_catch; i++) { fprintf(stderr, - (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) ? - " %04u" : - " L%u", + " %04u", op_array->try_catch_array[i].try_op); if (op_array->try_catch_array[i].catch_op) { fprintf(stderr, - (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) ? - ", %04u" : - ", L%u", + ", %04u", op_array->try_catch_array[i].catch_op); } else { fprintf(stderr, ", -"); } if (op_array->try_catch_array[i].finally_op) { fprintf(stderr, - (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) ? - ", %04u" : - ", L%u", + ", %04u", op_array->try_catch_array[i].finally_op); } else { fprintf(stderr, ", -"); } if (op_array->try_catch_array[i].finally_end) { fprintf(stderr, - (dump_flags & ZEND_DUMP_NUMERIC_OPLINES) ? - ", %04u" : - ", L%u\n", + ", %04u", op_array->try_catch_array[i].finally_end); } else { fprintf(stderr, ", -\n"); |
