Skip to content

Commit bbbccf0

Browse files
committed
Force type update if the previous value was in register only
1 parent 713d3ea commit bbbccf0

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

ext/opcache/jit/zend_jit_x86.dasc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8003,6 +8003,13 @@ static int zend_jit_assign(dasm_State **Dst, const zend_op *opline, const zend_o
80038003
}
80048004
}
80058005

8006+
if (Z_MODE(op1_addr) != IS_REG
8007+
&& Z_MODE(op1_use_addr) == IS_REG
8008+
&& !Z_LOAD(op1_use_addr)
8009+
&& !Z_STORE(op1_use_addr)) {
8010+
/* Force type update */
8011+
op1_info |= MAY_BE_UNDEF;
8012+
}
80068013
if (!zend_jit_assign_to_variable(Dst, opline, op_array, op1_addr, op1_info, op1_def_info, opline->op2_type, opline->op2, op2_addr, op2_info, res_addr,
80078014
may_throw)) {
80088015
return 0;

0 commit comments

Comments
 (0)