]> granicus.if.org Git - php/commitdiff
Make is_identical() functions return zend_bool (instead of int)
authorDmitry Stogov <dmitry@zend.com>
Thu, 4 Apr 2019 15:18:12 +0000 (18:18 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 4 Apr 2019 15:18:12 +0000 (18:18 +0300)
Zend/zend_operators.c
Zend/zend_operators.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index bf2f5771fb1ff822e961fdf3b40b8c93bcce02b9..170599be7452d0307093504a0fb21ffb2856b8de 100644 (file)
@@ -2161,8 +2161,6 @@ ZEND_API int ZEND_FASTCALL compare_function(zval *result, zval *op1, zval *op2)
 
 static int hash_zval_identical_function(zval *z1, zval *z2) /* {{{ */
 {
-       zval result;
-
        /* is_identical_function() returns 1 in case of identity and 0 in case
         * of a difference;
         * whereas this comparison function is expected to return 0 on identity,
@@ -2170,14 +2168,11 @@ static int hash_zval_identical_function(zval *z1, zval *z2) /* {{{ */
         */
        ZVAL_DEREF(z1);
        ZVAL_DEREF(z2);
-       if (is_identical_function(&result, z1, z2)==FAILURE) {
-               return 1;
-       }
-       return Z_TYPE(result) != IS_TRUE;
+       return fast_is_not_identical_function(z1, z2);
 }
 /* }}} */
 
-ZEND_API int ZEND_FASTCALL zend_is_identical(zval *op1, zval *op2) /* {{{ */
+ZEND_API zend_bool ZEND_FASTCALL zend_is_identical(zval *op1, zval *op2) /* {{{ */
 {
        if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
                return 0;
index 11e9c3f413b2076de1dfc4e8d63fadbb7682c141..c5965256e18b60b5d972151245d6c6f686b418af 100644 (file)
@@ -54,7 +54,7 @@ ZEND_API int ZEND_FASTCALL shift_left_function(zval *result, zval *op1, zval *op
 ZEND_API int ZEND_FASTCALL shift_right_function(zval *result, zval *op1, zval *op2);
 ZEND_API int ZEND_FASTCALL concat_function(zval *result, zval *op1, zval *op2);
 
-ZEND_API int ZEND_FASTCALL zend_is_identical(zval *op1, zval *op2);
+ZEND_API zend_bool ZEND_FASTCALL zend_is_identical(zval *op1, zval *op2);
 
 ZEND_API int ZEND_FASTCALL is_equal_function(zval *result, zval *op1, zval *op2);
 ZEND_API int ZEND_FASTCALL is_identical_function(zval *result, zval *op1, zval *op2);
@@ -778,7 +778,7 @@ static zend_always_inline int fast_equal_check_string(zval *op1, zval *op2)
        return Z_LVAL(result) == 0;
 }
 
-static zend_always_inline int fast_is_identical_function(zval *op1, zval *op2)
+static zend_always_inline zend_bool fast_is_identical_function(zval *op1, zval *op2)
 {
        if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
                return 0;
@@ -788,7 +788,7 @@ static zend_always_inline int fast_is_identical_function(zval *op1, zval *op2)
        return zend_is_identical(op1, op2);
 }
 
-static zend_always_inline int fast_is_not_identical_function(zval *op1, zval *op2)
+static zend_always_inline zend_bool fast_is_not_identical_function(zval *op1, zval *op2)
 {
        if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
                return 1;
index 4ea9c39fa970641f0c65a34129b1be70b1600347..e4e31acedeaf9ac4fe06234e29298c8cac8b2afe 100644 (file)
@@ -354,7 +354,7 @@ ZEND_VM_COLD_CONSTCONST_HANDLER(15, ZEND_IS_IDENTICAL, CONST|TMP|VAR|CV, CONST|T
        USE_OPLINE
        zend_free_op free_op1, free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = GET_OP1_ZVAL_PTR_DEREF(BP_VAR_R);
@@ -372,7 +372,7 @@ ZEND_VM_COLD_CONSTCONST_HANDLER(16, ZEND_IS_NOT_IDENTICAL, CONST|TMP|VAR|CV, CON
        USE_OPLINE
        zend_free_op free_op1, free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = GET_OP1_ZVAL_PTR_DEREF(BP_VAR_R);
index 2e6730f7bbc79021dfa651ff640d9294105a5274..dec888cb356c3e769cbe37f199a763997b3955f3 100644 (file)
@@ -4377,7 +4377,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC
        USE_OPLINE
 
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = RT_CONSTANT(opline, opline->op1);
@@ -4395,7 +4395,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_
        USE_OPLINE
 
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = RT_CONSTANT(opline, opline->op1);
@@ -18303,7 +18303,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_TMP_CONST_HA
        USE_OPLINE
        zend_free_op free_op1;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_tmp(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -18321,7 +18321,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_SPEC_TMP_CONS
        USE_OPLINE
        zend_free_op free_op1;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_tmp(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -19176,7 +19176,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_TMP_TMP_HAND
        USE_OPLINE
        zend_free_op free_op1, free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_tmp(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -19194,7 +19194,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_SPEC_TMP_TMP_
        USE_OPLINE
        zend_free_op free_op1, free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_tmp(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -22024,7 +22024,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_VAR_CONST_HA
        USE_OPLINE
        zend_free_op free_op1;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_var_deref(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -22042,7 +22042,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_SPEC_VAR_CONS
        USE_OPLINE
        zend_free_op free_op1;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_var_deref(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -27262,7 +27262,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_VAR_TMP_HAND
        USE_OPLINE
        zend_free_op free_op1, free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_var_deref(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -27280,7 +27280,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_SPEC_VAR_TMP_
        USE_OPLINE
        zend_free_op free_op1, free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_var_deref(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -27492,7 +27492,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_VAR_VAR_HAND
        USE_OPLINE
        zend_free_op free_op1, free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_var_deref(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -27510,7 +27510,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_SPEC_VAR_VAR_
        USE_OPLINE
        zend_free_op free_op1, free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_var_deref(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -40505,7 +40505,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_CV_CONST_HAN
        USE_OPLINE
 
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_cv_deref_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC);
@@ -40523,7 +40523,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_SPEC_CV_CONST
        USE_OPLINE
 
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_cv_deref_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC);
@@ -47939,7 +47939,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_CV_TMP_HANDL
        USE_OPLINE
        zend_free_op free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_cv_deref_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC);
@@ -47957,7 +47957,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_SPEC_CV_TMP_H
        USE_OPLINE
        zend_free_op free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_cv_deref_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC);
@@ -48168,7 +48168,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_CV_VAR_HANDL
        USE_OPLINE
        zend_free_op free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_cv_deref_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC);
@@ -48186,7 +48186,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_SPEC_CV_VAR_H
        USE_OPLINE
        zend_free_op free_op2;
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_cv_deref_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC);
@@ -50638,7 +50638,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_CV_CV_HANDLE
        USE_OPLINE
 
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_cv_deref_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC);
@@ -50656,7 +50656,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_IDENTICAL_SPEC_CV_CV_HA
        USE_OPLINE
 
        zval *op1, *op2;
-       int result;
+       zend_bool result;
 
        SAVE_OPLINE();
        op1 = _get_zval_ptr_cv_deref_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC);