From ba525a68d9a76f8b4c9109a7b9f75f796b84586c Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 26 Oct 2020 21:48:47 +0300 Subject: [PATCH] Fixed register allocation --- ext/opcache/jit/zend_jit_x86.dasc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index c0f4ce3e30..3d25ada5f1 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -15044,7 +15044,7 @@ static zend_bool zend_jit_opline_supports_reg(const zend_op_array *op_array, zen case ZEND_MUL: op1_info = OP1_INFO(); op2_info = OP2_INFO(); - return !((op1_info | op2_info) & (MAY_BE_ANY - (MAY_BE_LONG|MAY_BE_DOUBLE))); + return !((op1_info | op2_info) & ((MAY_BE_ANY|MAY_BE_REF|MAY_BE_UNDEF) - (MAY_BE_LONG|MAY_BE_DOUBLE))); case ZEND_BW_OR: case ZEND_BW_AND: case ZEND_BW_XOR: @@ -15053,13 +15053,13 @@ static zend_bool zend_jit_opline_supports_reg(const zend_op_array *op_array, zen case ZEND_MOD: op1_info = OP1_INFO(); op2_info = OP2_INFO(); - return !((op1_info | op2_info) & (MAY_BE_ANY - MAY_BE_LONG)); + return !((op1_info | op2_info) & ((MAY_BE_ANY|MAY_BE_REF|MAY_BE_UNDEF) - MAY_BE_LONG)); case ZEND_PRE_INC: case ZEND_PRE_DEC: case ZEND_POST_INC: case ZEND_POST_DEC: op1_info = OP1_INFO(); - return opline->op1_type == IS_CV && !(op1_info & (MAY_BE_ANY - MAY_BE_LONG)); + return opline->op1_type == IS_CV && !(op1_info & ((MAY_BE_ANY|MAY_BE_REF|MAY_BE_UNDEF) - MAY_BE_LONG)); case ZEND_BOOL: case ZEND_BOOL_NOT: case ZEND_JMPZ: -- 2.50.1