Skip to content

Commit 298002b

Browse files
committed
Fixed incorrect register allocation
1 parent ab231bb commit 298002b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

ext/opcache/jit/zend_jit_trace.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3173,6 +3173,12 @@ static zend_jit_reg_var* zend_jit_trace_allocate_registers(zend_jit_trace_rec *t
31733173
idx++;
31743174
while (opline->opcode == ZEND_RECV_INIT) {
31753175
/* RECV_INIT doesn't support registers */
3176+
#ifdef ZEND_JIT_IR
3177+
if (ssa_op->result_use >= 0 && RA_HAS_IVAL(ssa_op->result_use)) {
3178+
RA_IVAL_DEL(ssa_op->result_use);
3179+
count--;
3180+
}
3181+
#endif
31763182
if (ssa_op->result_def >= 0) {
31773183
RA_IVAL_CLOSE(EX_VAR_TO_NUM(opline->result.var), idx);
31783184
SET_STACK_VAR(stack, EX_VAR_TO_NUM(opline->result.var), ssa_op->result_def);

0 commit comments

Comments
 (0)