Skip to content

Commit cb6f9a6

Browse files
committed
More accurate live range construction
1 parent 9efb258 commit cb6f9a6

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

ext/opcache/jit/zend_jit_trace.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2476,7 +2476,7 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
24762476

24772477
while (phi) {
24782478
i = phi->sources[1];
2479-
if (start[i] >= 0) {
2479+
if (start[i] >= 0 && !ssa->vars[phi->ssa_var].no_val) {
24802480
end[i] = idx;
24812481
flags[i] &= ~ZREG_LAST_USE;
24822482
}
@@ -2487,6 +2487,8 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
24872487
if (start[i] >= 0 && !ssa->vars[i].phi_use_chain) {
24882488
end[i] = idx;
24892489
flags[i] &= ~ZREG_LAST_USE;
2490+
} else {
2491+
zend_jit_close_var(stack, i, start, end, flags, idx);
24902492
}
24912493
}
24922494
} else {

0 commit comments

Comments
 (0)