From: Dmitry Stogov Date: Fri, 3 Jul 2020 07:52:03 +0000 (+0300) Subject: Fixed IS_UNDEF handling X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ca159561dbdc02ce8a501b13ae2403a786c93013;p=php Fixed IS_UNDEF handling --- diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index ef09a54c28..e6be17a3c9 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -1612,16 +1612,12 @@ static zend_bool is_power_of_two(uint32_t x) static zend_bool has_concrete_type(uint32_t value_type) { - if (value_type & MAY_BE_UNDEF) { - value_type |= MAY_BE_NULL; - } - value_type &= MAY_BE_ANY; - return is_power_of_two (value_type); + return is_power_of_two (value_type & (MAY_BE_ANY|MAY_BE_UNDEF)); } static uint32_t concrete_type(uint32_t value_type) { - return floor_log2(value_type & MAY_BE_ANY); + return floor_log2(value_type & (MAY_BE_ANY|MAY_BE_UNDEF)); } static inline zend_bool is_signed(double d)