summaryrefslogtreecommitdiff
path: root/ext/opcache/Optimizer/zend_dump.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2018-01-31 22:39:30 +0300
committerDmitry Stogov <dmitry@zend.com>2018-01-31 22:39:30 +0300
commitba298725d194f753c0220bd9ac482e3d257a9ddc (patch)
tree5ecb20ba5c368ea2b605c52ac3409492419dba26 /ext/opcache/Optimizer/zend_dump.c
parent3c6e1c2b817179f35d6822d7576866834728561d (diff)
downloadphp-git-ba298725d194f753c0220bd9ac482e3d257a9ddc.tar.gz
Changed CATCH instruction format (extended_value moved into op2, op2 into result, result into extended_value)
Diffstat (limited to 'ext/opcache/Optimizer/zend_dump.c')
-rw-r--r--ext/opcache/Optimizer/zend_dump.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/ext/opcache/Optimizer/zend_dump.c b/ext/opcache/Optimizer/zend_dump.c
index 8f874d8bdb..a2bba55178 100644
--- a/ext/opcache/Optimizer/zend_dump.c
+++ b/ext/opcache/Optimizer/zend_dump.c
@@ -681,10 +681,12 @@ static void zend_dump_op(const zend_op_array *op_array, const zend_basic_block *
} else {
uint32_t op2_flags = ZEND_VM_OP2_FLAGS(flags);
if (ZEND_VM_OP_JMP_ADDR == (op2_flags & ZEND_VM_OP_MASK)) {
- if (b) {
- fprintf(stderr, " BB%d", b->successors[n++]);
- } else {
- fprintf(stderr, " L%u", (uint32_t)(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes));
+ if (opline->opcode != ZEND_CATCH || opline->extended_value != ZEND_LAST_CATCH) {
+ if (b) {
+ fprintf(stderr, " BB%d", b->successors[n++]);
+ } else {
+ fprintf(stderr, " L%u", (uint32_t)(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes));
+ }
}
} else {
zend_dump_unused_op(opline, opline->op2, op2_flags);
@@ -692,12 +694,10 @@ static void zend_dump_op(const zend_op_array *op_array, const zend_basic_block *
}
if (ZEND_VM_EXT_JMP_ADDR == (flags & ZEND_VM_EXT_MASK)) {
- if (opline->opcode != ZEND_CATCH || !opline->result.num) {
- if (b) {
- fprintf(stderr, " BB%d", b->successors[n++]);
- } else {
- fprintf(stderr, " L%u", (uint32_t)ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value));
- }
+ if (b) {
+ fprintf(stderr, " BB%d", b->successors[n++]);
+ } else {
+ fprintf(stderr, " L%u", (uint32_t)ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value));
}
}
if (opline->result_type == IS_CONST) {