Skip to content

Commit ebf35cc

Browse files
committed
Fixed operation with result in CPU register
1 parent aed2bf7 commit ebf35cc

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

ext/opcache/jit/zend_jit_x86.dasc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3038,10 +3038,12 @@ static int zend_jit_math_long_long(dasm_State **Dst,
30383038
| jo >1
30393039
}
30403040

3041-
| SET_ZVAL_LVAL res_addr, Ra(result_reg)
3042-
if (Z_MODE(op1_addr) != IS_MEM_ZVAL || Z_REG(op1_addr) != Z_REG(res_addr) || Z_OFFSET(op1_addr) != Z_OFFSET(res_addr)) {
3043-
if ((res_use_info & (MAY_BE_ANY|MAY_BE_UNDEF|MAY_BE_REF)) != MAY_BE_LONG) {
3044-
| SET_ZVAL_TYPE_INFO res_addr, IS_LONG
3041+
if (Z_MODE(res_addr) == IS_MEM_ZVAL) {
3042+
| SET_ZVAL_LVAL res_addr, Ra(result_reg)
3043+
if (Z_MODE(op1_addr) != IS_MEM_ZVAL || Z_REG(op1_addr) != Z_REG(res_addr) || Z_OFFSET(op1_addr) != Z_OFFSET(res_addr)) {
3044+
if ((res_use_info & (MAY_BE_ANY|MAY_BE_UNDEF|MAY_BE_REF)) != MAY_BE_LONG) {
3045+
| SET_ZVAL_TYPE_INFO res_addr, IS_LONG
3046+
}
30453047
}
30463048
}
30473049

0 commit comments

Comments
 (0)