Skip to content

Commit 31258e4

Browse files
committed
Fixed register allocation for tests/lang/operators/preinc_basiclong_64bit.phpt
1 parent 9d14bdb commit 31258e4

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

ext/opcache/jit/zend_jit_trace.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2122,9 +2122,12 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
21222122
|| opline->opcode == ZEND_ADD
21232123
|| opline->opcode == ZEND_SUB
21242124
|| opline->opcode == ZEND_MUL) {
2125-
start[ssa_op->result_def] = idx;
2126-
vars_op_array[ssa_op->result_def] = op_array;
2127-
count++;
2125+
if (!(ssa->var_info[ssa_op->result_def].type & MAY_BE_DOUBLE)
2126+
|| (opline->opcode != ZEND_PRE_INC && opline->opcode != ZEND_PRE_DEC)) {
2127+
start[ssa_op->result_def] = idx;
2128+
vars_op_array[ssa_op->result_def] = op_array;
2129+
count++;
2130+
}
21282131
}
21292132
}
21302133
if (ssa_op->op1_def >= 0

0 commit comments

Comments
 (0)