Skip to content

Commit dcbf25f

Browse files
committed
JIT/AArch64: disable register allocation for expected ++/-- overflow case.
This fixes ext/opcache/tests/jit/inc_021.phpt with tracing JIT.
1 parent 303ec3c commit dcbf25f

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

ext/opcache/jit/zend_jit_arm64.dasc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14558,7 +14558,10 @@ static bool zend_jit_opline_supports_reg(const zend_op_array *op_array, zend_ssa
1455814558
case ZEND_POST_INC:
1455914559
case ZEND_POST_DEC:
1456014560
op1_info = OP1_INFO();
14561-
return opline->op1_type == IS_CV && !(op1_info & ((MAY_BE_ANY|MAY_BE_REF|MAY_BE_UNDEF) - MAY_BE_LONG));
14561+
op2_info = OP1_DEF_INFO();
14562+
return opline->op1_type == IS_CV
14563+
&& !(op1_info & ((MAY_BE_ANY|MAY_BE_REF|MAY_BE_UNDEF) - MAY_BE_LONG))
14564+
&& (op2_info & MAY_BE_LONG);
1456214565
case ZEND_BOOL:
1456314566
case ZEND_BOOL_NOT:
1456414567
case ZEND_JMPZ:

0 commit comments

Comments
 (0)