]> granicus.if.org Git - php/commitdiff
Optimized === and !== with NULL, FALSE, TRUE.
authorDmitry Stogov <dmitry@zend.com>
Thu, 14 May 2015 22:11:29 +0000 (01:11 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 14 May 2015 22:11:29 +0000 (01:11 +0300)
Zend/zend_operators.h

index 5e16bf87f4e9f7a997cc323b14d09d9806c71121..c026f23415969b549174d81d2b13a3cd35cf72e8 100644 (file)
@@ -848,6 +848,8 @@ static zend_always_inline int fast_is_identical_function(zval *op1, zval *op2)
 {
        if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
                return 0;
+       } else if (Z_TYPE_P(op1) <= IS_TRUE) {
+               return 1;
        }
        return zend_is_identical(op1, op2);
 }
@@ -856,6 +858,8 @@ static zend_always_inline int fast_is_not_identical_function(zval *op1, zval *op
 {
        if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
                return 1;
+       } else if (Z_TYPE_P(op1) <= IS_TRUE) {
+               return 0;
        }
        return !zend_is_identical(op1, op2);
 }