From: Xinchen Hui Date: Thu, 17 Mar 2016 03:58:59 +0000 (+0800) Subject: Revert "Taking into account "undefined" variables" X-Git-Tag: php-7.1.0alpha1~473 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a4b2f7f3a94a8c52b673ac2ad553551ebfaaeb42;p=php Revert "Taking into account "undefined" variables" This reverts commit 9020086a13c506ec127a648d08e9a30a81f08883. --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index e59db4af53..c5db6e862d 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -8256,7 +8256,7 @@ ZEND_VM_HANDLER(183, ZEND_BIND_STATIC, CV, CONST, REF) ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_ADD, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_ADD_LONG_NO_OVERFLOW, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_ADD, ((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_ADD_LONG_NO_OVERFLOW, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2, *result; @@ -8268,7 +8268,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_ADD, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == M ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_ADD, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_ADD_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_ADD, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_ADD_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2, *result; @@ -8280,7 +8280,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_ADD, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == M ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_ADD, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE), ZEND_ADD_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_ADD, ((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE), ZEND_ADD_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2, *result; @@ -8292,7 +8292,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_ADD, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == M ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_SUB, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_SUB_LONG_NO_OVERFLOW, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_SUB, ((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_SUB_LONG_NO_OVERFLOW, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST)) { USE_OPLINE zval *op1, *op2, *result; @@ -8304,7 +8304,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_SUB, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == M ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_SUB, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_SUB_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_SUB, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_SUB_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST)) { USE_OPLINE zval *op1, *op2, *result; @@ -8316,7 +8316,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_SUB, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == M ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_SUB, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE), ZEND_SUB_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_SUB, ((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE), ZEND_SUB_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST)) { USE_OPLINE zval *op1, *op2, *result; @@ -8328,7 +8328,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_SUB, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == M ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_MUL, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_MUL_LONG_NO_OVERFLOW, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_MUL, ((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_MUL_LONG_NO_OVERFLOW, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2, *result; @@ -8340,7 +8340,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_MUL, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == M ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_MUL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_MUL_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_MUL, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_MUL_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2, *result; @@ -8354,7 +8354,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_MUL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == M ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_MUL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE), ZEND_MUL_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_MUL, ((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE), ZEND_MUL_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2, *result; @@ -8366,7 +8366,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_MUL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == M ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_IS_EQUAL_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_EQUAL, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_IS_EQUAL_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2; @@ -8380,7 +8380,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE), ZEND_IS_EQUAL_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_EQUAL, ((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE), ZEND_IS_EQUAL_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2; @@ -8394,7 +8394,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_NOT_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_IS_NOT_EQUAL_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_NOT_EQUAL, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_IS_NOT_EQUAL_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2; @@ -8408,7 +8408,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_NOT_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UND ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_NOT_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE), ZEND_IS_NOT_EQUAL_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST,COMMUTATIVE)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_NOT_EQUAL, ((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE), ZEND_IS_NOT_EQUAL_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST,COMMUTATIVE)) { USE_OPLINE zval *op1, *op2; @@ -8422,7 +8422,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_NOT_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UND ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_IS_SMALLER_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_IS_SMALLER_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST)) { USE_OPLINE zval *op1, *op2; @@ -8436,7 +8436,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE), ZEND_IS_SMALLER_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER, ((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE), ZEND_IS_SMALLER_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST)) { USE_OPLINE zval *op1, *op2; @@ -8450,7 +8450,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER_OR_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_IS_SMALLER_OR_EQUAL_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER_OR_EQUAL, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_IS_SMALLER_OR_EQUAL_LONG, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST)) { USE_OPLINE zval *op1, *op2; @@ -8464,7 +8464,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER_OR_EQUAL, ((op1_info & (MAY_BE_ANY|MAY ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER_OR_EQUAL, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE), ZEND_IS_SMALLER_OR_EQUAL_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER_OR_EQUAL, ((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE), ZEND_IS_SMALLER_OR_EQUAL_DOUBLE, CONST|TMPVARCV, CONST|TMPVARCV, SPEC(SMART_BRANCH,NO_CONST_CONST)) { USE_OPLINE zval *op1, *op2; @@ -8478,7 +8478,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_IS_SMALLER_OR_EQUAL, ((op1_info & (MAY_BE_ANY|MAY ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_INC, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_PRE_INC_LONG_NO_OVERFLOW, TMPVARCV, ANY, SPEC(RETVAL)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_INC, ((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_PRE_INC_LONG_NO_OVERFLOW, TMPVARCV, ANY, SPEC(RETVAL)) { USE_OPLINE zval *var_ptr; @@ -8491,7 +8491,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_INC, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_INC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_PRE_INC_LONG, TMPVARCV, ANY, SPEC(RETVAL)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_INC, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_PRE_INC_LONG, TMPVARCV, ANY, SPEC(RETVAL)) { USE_OPLINE zval *var_ptr; @@ -8504,7 +8504,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_INC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_INC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == (MAY_BE_LONG|MAY_BE_DOUBLE)), ZEND_PRE_INC_LONG_OR_DOUBLE, TMPVARCV, ANY, SPEC(RETVAL)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_INC, ((op1_info & MAY_BE_ANY) == (MAY_BE_LONG|MAY_BE_DOUBLE)), ZEND_PRE_INC_LONG_OR_DOUBLE, TMPVARCV, ANY, SPEC(RETVAL)) { USE_OPLINE zval *var_ptr; @@ -8521,7 +8521,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_INC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_PRE_DEC_LONG_NO_OVERFLOW, TMPVARCV, ANY, SPEC(RETVAL)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, ((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_PRE_DEC_LONG_NO_OVERFLOW, TMPVARCV, ANY, SPEC(RETVAL)) { USE_OPLINE zval *var_ptr; @@ -8534,7 +8534,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_PRE_DEC_LONG, TMPVARCV, ANY, SPEC(RETVAL)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_PRE_DEC_LONG, TMPVARCV, ANY, SPEC(RETVAL)) { USE_OPLINE zval *var_ptr; @@ -8547,7 +8547,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == (MAY_BE_LONG|MAY_BE_DOUBLE)), ZEND_PRE_DEC_LONG_OR_DOUBLE, TMPVARCV, ANY, SPEC(RETVAL)) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, ((op1_info & MAY_BE_ANY) == (MAY_BE_LONG|MAY_BE_DOUBLE)), ZEND_PRE_DEC_LONG_OR_DOUBLE, TMPVARCV, ANY, SPEC(RETVAL)) { USE_OPLINE zval *var_ptr; @@ -8564,7 +8564,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_INC, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_POST_INC_LONG_NO_OVERFLOW, TMPVARCV, ANY) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_INC, ((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_POST_INC_LONG_NO_OVERFLOW, TMPVARCV, ANY) { USE_OPLINE zval *var_ptr; @@ -8575,7 +8575,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_INC, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_INC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_POST_INC_LONG, TMPVARCV, ANY) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_INC, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_POST_INC_LONG, TMPVARCV, ANY) { USE_OPLINE zval *var_ptr; @@ -8586,7 +8586,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_INC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_INC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == (MAY_BE_LONG|MAY_BE_DOUBLE)), ZEND_POST_INC_LONG_OR_DOUBLE, TMPVARCV, ANY) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_INC, ((op1_info & MAY_BE_ANY) == (MAY_BE_LONG|MAY_BE_DOUBLE)), ZEND_POST_INC_LONG_OR_DOUBLE, TMPVARCV, ANY) { USE_OPLINE zval *var_ptr; @@ -8601,7 +8601,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_INC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_DEC, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_POST_DEC_LONG_NO_OVERFLOW, TMPVARCV, ANY) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_DEC, ((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_POST_DEC_LONG_NO_OVERFLOW, TMPVARCV, ANY) { USE_OPLINE zval *var_ptr; @@ -8612,7 +8612,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_DEC, ((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_DEC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG), ZEND_POST_DEC_LONG, TMPVARCV, ANY) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_DEC, ((op1_info & MAY_BE_ANY) == MAY_BE_LONG), ZEND_POST_DEC_LONG, TMPVARCV, ANY) { USE_OPLINE zval *var_ptr; @@ -8623,7 +8623,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_DEC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_DEC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == (MAY_BE_LONG|MAY_BE_DOUBLE)), ZEND_POST_DEC_LONG_OR_DOUBLE, TMPVARCV, ANY) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_DEC, ((op1_info & MAY_BE_ANY) == (MAY_BE_LONG|MAY_BE_DOUBLE)), ZEND_POST_DEC_LONG_OR_DOUBLE, TMPVARCV, ANY) { USE_OPLINE zval *var_ptr; @@ -8638,7 +8638,7 @@ ZEND_VM_TYPE_SPEC_HANDLER(ZEND_POST_DEC, ((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_TYPE_SPEC_HANDLER(ZEND_QM_ASSIGN, (!(op1_info & ((MAY_BE_ANY|MAY_BE_UNDEF)-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE)))), ZEND_QM_ASSIGN_NOREF, CONST|TMPVARCV, ANY) +ZEND_VM_TYPE_SPEC_HANDLER(ZEND_QM_ASSIGN, (!(op1_info & (MAY_BE_ANY-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE)))), ZEND_QM_ASSIGN_NOREF, CONST|TMPVARCV, ANY) { USE_OPLINE zend_free_op free_op1; diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 7fc43191f7..f01832a336 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -59940,7 +59940,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint uint32_t spec = zend_spec_handlers[opcode]; switch (opcode) { case ZEND_ADD: - if (((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -59948,7 +59948,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type > op->op2_type) { zend_swap_operands(op); } - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -59956,7 +59956,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type > op->op2_type) { zend_swap_operands(op); } - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -59967,17 +59967,17 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint } break; case ZEND_SUB: - if (((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } spec = 2995 | SPEC_RULE_OP1 | SPEC_RULE_OP2; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } spec = 3020 | SPEC_RULE_OP1 | SPEC_RULE_OP2; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -59985,7 +59985,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint } break; case ZEND_MUL: - if (((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -59993,7 +59993,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type > op->op2_type) { zend_swap_operands(op); } - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -60001,7 +60001,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type > op->op2_type) { zend_swap_operands(op); } - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -60012,7 +60012,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint } break; case ZEND_IS_EQUAL: - if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -60020,7 +60020,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type > op->op2_type) { zend_swap_operands(op); } - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -60031,7 +60031,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint } break; case ZEND_IS_NOT_EQUAL: - if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -60039,7 +60039,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type > op->op2_type) { zend_swap_operands(op); } - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -60050,12 +60050,12 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint } break; case ZEND_IS_SMALLER: - if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } spec = 3445 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -60063,12 +60063,12 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint } break; case ZEND_IS_SMALLER_OR_EQUAL: - if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG && (op2_info & MAY_BE_ANY) == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } spec = 3595 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE && (op2_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_DOUBLE)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE && (op2_info & MAY_BE_ANY) == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } @@ -60076,43 +60076,43 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint } break; case ZEND_QM_ASSIGN: - if ((!(op1_info & ((MAY_BE_ANY|MAY_BE_UNDEF)-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE))))) { + if ((!(op1_info & (MAY_BE_ANY-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE))))) { spec = 3835 | SPEC_RULE_OP1; } break; case ZEND_PRE_INC: - if (((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG)) { spec = 3745 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG)) { spec = 3755 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == (MAY_BE_LONG|MAY_BE_DOUBLE))) { + } else if (((op1_info & MAY_BE_ANY) == (MAY_BE_LONG|MAY_BE_DOUBLE))) { spec = 3765 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; } break; case ZEND_PRE_DEC: - if (((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG)) { spec = 3775 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG)) { spec = 3785 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == (MAY_BE_LONG|MAY_BE_DOUBLE))) { + } else if (((op1_info & MAY_BE_ANY) == (MAY_BE_LONG|MAY_BE_DOUBLE))) { spec = 3795 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; } break; case ZEND_POST_INC: - if (((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG)) { spec = 3805 | SPEC_RULE_OP1; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG)) { spec = 3810 | SPEC_RULE_OP1; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == (MAY_BE_LONG|MAY_BE_DOUBLE))) { + } else if (((op1_info & MAY_BE_ANY) == (MAY_BE_LONG|MAY_BE_DOUBLE))) { spec = 3815 | SPEC_RULE_OP1; } break; case ZEND_POST_DEC: - if (((res_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG && (op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + if (((res_info & MAY_BE_ANY) == MAY_BE_LONG && (op1_info & MAY_BE_ANY) == MAY_BE_LONG)) { spec = 3820 | SPEC_RULE_OP1; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == MAY_BE_LONG)) { + } else if (((op1_info & MAY_BE_ANY) == MAY_BE_LONG)) { spec = 3825 | SPEC_RULE_OP1; - } else if (((op1_info & (MAY_BE_ANY|MAY_BE_UNDEF)) == (MAY_BE_LONG|MAY_BE_DOUBLE))) { + } else if (((op1_info & MAY_BE_ANY) == (MAY_BE_LONG|MAY_BE_DOUBLE))) { spec = 3830 | SPEC_RULE_OP1; } break;