]> granicus.if.org Git - php/commitdiff
Micro optimaztion (yeah, I know compiler supposed to do that)
authorXinchen Hui <laruence@php.net>
Mon, 22 Dec 2014 05:10:46 +0000 (00:10 -0500)
committerXinchen Hui <laruence@php.net>
Mon, 22 Dec 2014 05:10:46 +0000 (00:10 -0500)
Zend/zend_API.h
Zend/zend_ast.c
Zend/zend_operators.c
Zend/zend_operators.h
ext/mysqli/mysqli_driver.c
ext/opcache/Optimizer/pass1_5.c
ext/openssl/openssl.c
ext/spl/spl_directory.c
ext/standard/array.c
ext/tidy/tidy.c
sapi/phpdbg/phpdbg.c

index 9b3e3f39fc12116a555f28ccdfb5edf05cb21bf4..5f7b5599766a6e4d334489dad252e88f0acd05d5 100644 (file)
@@ -610,8 +610,8 @@ END_EXTERN_C()
 #define RETVAL_RES(r)                                  ZVAL_RES(return_value, r)
 #define RETVAL_OBJ(r)                                  ZVAL_OBJ(return_value, r)
 #define RETVAL_ZVAL(zv, copy, dtor)            ZVAL_ZVAL(return_value, zv, copy, dtor)
-#define RETVAL_FALSE                                   ZVAL_BOOL(return_value, 0)
-#define RETVAL_TRUE                                    ZVAL_BOOL(return_value, 1)
+#define RETVAL_FALSE                                   ZVAL_FALSE(return_value)
+#define RETVAL_TRUE                                    ZVAL_TRUE(return_value)
 
 #define RETURN_BOOL(b)                                         { RETVAL_BOOL(b); return; }
 #define RETURN_NULL()                                  { RETVAL_NULL(); return;}
index ac10fe24e0caa291f8a8ab2266607850ff2dfdd2..d5e739c26afb2945d2ffdbc0eb9743c23b65bd02 100644 (file)
@@ -262,14 +262,14 @@ ZEND_API void zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *s
                                ZVAL_BOOL(result, zend_is_true(&op2));
                                zval_dtor(&op2);
                        } else {
-                               ZVAL_BOOL(result, 0);
+                               ZVAL_FALSE(result);
                        }
                        zval_dtor(&op1);
                        break;
                case ZEND_AST_OR:
                        zend_ast_evaluate(&op1, ast->child[0], scope);
                        if (zend_is_true(&op1)) {
-                               ZVAL_BOOL(result, 1);
+                               ZVAL_TRUE(result);
                        } else {
                                zend_ast_evaluate(&op2, ast->child[1], scope);
                                ZVAL_BOOL(result, zend_is_true(&op2));
index 17937ded9e5a1169e734e7913f4563b3ef21d440..d78a89171c48242bafaaf1faaa7331e4596e8dbe 100644 (file)
@@ -393,7 +393,7 @@ ZEND_API void convert_to_boolean(zval *op) /* {{{ */
                case IS_TRUE:
                        break;
                case IS_NULL:
-                       ZVAL_BOOL(op, 0);
+                       ZVAL_FALSE(op);
                        break;
                case IS_RESOURCE: {
                                zend_long l = (Z_RES_HANDLE_P(op) ? 1 : 0);
@@ -414,9 +414,9 @@ ZEND_API void convert_to_boolean(zval *op) /* {{{ */
 
                                if (str->len == 0
                                        || (str->len == 1 && str->val[0] == '0')) {
-                                       ZVAL_BOOL(op, 0);
+                                       ZVAL_FALSE(op);
                                } else {
-                                       ZVAL_BOOL(op, 1);
+                                       ZVAL_TRUE(op);
                                }
                                zend_string_release(str);
                        }
@@ -436,7 +436,7 @@ ZEND_API void convert_to_boolean(zval *op) /* {{{ */
                                if (Z_TYPE(dst) == IS_FALSE || Z_TYPE(dst) == IS_TRUE) {
                                        ZVAL_COPY_VALUE(op, &dst);
                                } else {
-                                       ZVAL_BOOL(op, 1);
+                                       ZVAL_TRUE(op);
                                }
                                break;
                        }
@@ -1045,7 +1045,7 @@ ZEND_API int div_function(zval *result, zval *op1, zval *op2) /* {{{ */
                        case TYPE_PAIR(IS_LONG, IS_LONG):
                                if (Z_LVAL_P(op2) == 0) {
                                        zend_error(E_WARNING, "Division by zero");
-                                       ZVAL_BOOL(result, 0);
+                                       ZVAL_FALSE(result);
                                        return FAILURE;                 /* division by zero */
                                } else if (Z_LVAL_P(op2) == -1 && Z_LVAL_P(op1) == ZEND_LONG_MIN) {
                                        /* Prevent overflow error/crash */
@@ -1062,7 +1062,7 @@ ZEND_API int div_function(zval *result, zval *op1, zval *op2) /* {{{ */
                        case TYPE_PAIR(IS_DOUBLE, IS_LONG):
                                if (Z_LVAL_P(op2) == 0) {
                                        zend_error(E_WARNING, "Division by zero");
-                                       ZVAL_BOOL(result, 0);
+                                       ZVAL_FALSE(result);
                                        return FAILURE;                 /* division by zero */
                                }
                                ZVAL_DOUBLE(result, Z_DVAL_P(op1) / (double)Z_LVAL_P(op2));
@@ -1071,7 +1071,7 @@ ZEND_API int div_function(zval *result, zval *op1, zval *op2) /* {{{ */
                        case TYPE_PAIR(IS_LONG, IS_DOUBLE):
                                if (Z_DVAL_P(op2) == 0) {
                                        zend_error(E_WARNING, "Division by zero");
-                                       ZVAL_BOOL(result, 0);
+                                       ZVAL_FALSE(result);
                                        return FAILURE;                 /* division by zero */
                                }
                                ZVAL_DOUBLE(result, (double)Z_LVAL_P(op1) / Z_DVAL_P(op2));
@@ -1080,7 +1080,7 @@ ZEND_API int div_function(zval *result, zval *op1, zval *op2) /* {{{ */
                        case TYPE_PAIR(IS_DOUBLE, IS_DOUBLE):
                                if (Z_DVAL_P(op2) == 0) {
                                        zend_error(E_WARNING, "Division by zero");
-                                       ZVAL_BOOL(result, 0);
+                                       ZVAL_FALSE(result);
                                        return FAILURE;                 /* division by zero */
                                }
                                ZVAL_DOUBLE(result, Z_DVAL_P(op1) / Z_DVAL_P(op2));
@@ -1143,7 +1143,7 @@ ZEND_API int mod_function(zval *result, zval *op1, zval *op2) /* {{{ */
 
        if (op2_lval == 0) {
                zend_error(E_WARNING, "Division by zero");
-               ZVAL_BOOL(result, 0);
+               ZVAL_FALSE(result);
                return FAILURE;                 /* modulus by zero */
        }
 
@@ -1961,14 +1961,14 @@ static int hash_zval_identical_function(zval *z1, zval *z2) /* {{{ */
 ZEND_API int is_identical_function(zval *result, zval *op1, zval *op2) /* {{{ */
 {
        if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
-               ZVAL_BOOL(result, 0);
+               ZVAL_FALSE(result);
                return SUCCESS;
        }
        switch (Z_TYPE_P(op1)) {
                case IS_NULL:
                case IS_FALSE:
                case IS_TRUE:
-                       ZVAL_BOOL(result, 1);
+                       ZVAL_TRUE(result);
                        break;
                case IS_LONG:
                        ZVAL_BOOL(result, Z_LVAL_P(op1) == Z_LVAL_P(op2));
@@ -1981,7 +1981,7 @@ ZEND_API int is_identical_function(zval *result, zval *op1, zval *op2) /* {{{ */
                        break;
                case IS_STRING:
                        if (Z_STR_P(op1) == Z_STR_P(op2)) {
-                               ZVAL_BOOL(result, 1);
+                               ZVAL_TRUE(result);
                        } else {
                                ZVAL_BOOL(result, (Z_STRLEN_P(op1) == Z_STRLEN_P(op2))
                                        && (!memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1))));
@@ -1995,11 +1995,11 @@ ZEND_API int is_identical_function(zval *result, zval *op1, zval *op2) /* {{{ */
                        if (Z_OBJ_HT_P(op1) == Z_OBJ_HT_P(op2)) {
                                ZVAL_BOOL(result, Z_OBJ_P(op1) == Z_OBJ_P(op2));
                        } else {
-                               ZVAL_BOOL(result, 0);
+                               ZVAL_FALSE(result);
                        }
                        break;
                default:
-                       ZVAL_BOOL(result, 0);
+                       ZVAL_FALSE(result);
                        return FAILURE;
        }
        return SUCCESS;
index 5a20ac72a700f02afb4083ef422f04f91044e46c..83a70d5c47fc501a4ab0b8d47e10788357f9b03a 100644 (file)
@@ -864,7 +864,7 @@ static zend_always_inline int fast_mod_function(zval *result, zval *op1, zval *o
                if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) {
                        if (UNEXPECTED(Z_LVAL_P(op2) == 0)) {
                                zend_error(E_WARNING, "Division by zero");
-                               ZVAL_BOOL(result, 0);
+                               ZVAL_FALSE(result);
                                return FAILURE;
                        } else if (UNEXPECTED(Z_LVAL_P(op2) == -1)) {
                                /* Prevent overflow error/crash if op1==ZEND_LONG_MIN */
@@ -1043,7 +1043,7 @@ static zend_always_inline void fast_is_smaller_or_equal_function(zval *result, z
 static zend_always_inline void fast_is_identical_function(zval *result, zval *op1, zval *op2)
 {
        if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
-               ZVAL_BOOL(result, 0);
+               ZVAL_FALSE(result);
                return;
        }
        is_identical_function(result, op1, op2);
@@ -1052,7 +1052,7 @@ static zend_always_inline void fast_is_identical_function(zval *result, zval *op
 static zend_always_inline void fast_is_not_identical_function(zval *result, zval *op1, zval *op2)
 {
        if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
-               ZVAL_BOOL(result, 1);
+               ZVAL_TRUE(result);
                return;
        }
        is_identical_function(result, op1, op2);
index bdb0a3796bad3d5ec89a069652c80430dbe9e2b1..ff63f14a488f032136b6c20291af63f59463c712 100644 (file)
@@ -85,9 +85,9 @@ static int driver_report_write(mysqli_object *obj, zval *value)
 static zval *driver_embedded_read(mysqli_object *obj, zval *retval)
 {
 #ifdef HAVE_EMBEDDED_MYSQLI
-       ZVAL_BOOL(retval, 1);
+       ZVAL_TRUE(retval);
 #else
-       ZVAL_BOOL(retval, 0);
+       ZVAL_FALSE(retval);
 #endif
        return retval;
 }
index 819a093600864eec176011f05a23226c20b4ab25..95a7ba04370b2f9c714926ede88fbc78634fbf2b 100644 (file)
@@ -435,7 +435,7 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx)
                                                        func->type == ZEND_INTERNAL_FUNCTION &&
                                                        func->module->type == MODULE_PERSISTENT) {
                                                zval t;
-                                               ZVAL_BOOL(&t, 1);
+                                               ZVAL_TRUE(&t);
                                                if (zend_optimizer_replace_by_const(op_array, opline + 1, IS_VAR, ZEND_RESULT(opline).var, &t)) {
                                                        literal_dtor(&ZEND_OP2_LITERAL(init_opline));
                                                        MAKE_NOP(init_opline);
@@ -461,11 +461,11 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx)
                                                if (!PG(enable_dl)) {
                                                        break;
                                                } else {
-                                                       ZVAL_BOOL(&t, 0);
+                                                       ZVAL_FALSE(&t);
                                                }
                                        } else {
                                                if (m->type == MODULE_PERSISTENT) {
-                                                       ZVAL_BOOL(&t, 1);
+                                                       ZVAL_TRUE(&t);
                                                } else {
                                                        break;
                                                }
@@ -486,7 +486,7 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx)
 
                                        if (zend_optimizer_get_persistent_constant(Z_STR(ZEND_OP1_LITERAL(send1_opline)), &t, 0)) {
 
-                                               ZVAL_BOOL(&t, 1);
+                                               ZVAL_TRUE(&t);
                                                if (zend_optimizer_replace_by_const(op_array, opline + 1, IS_VAR, ZEND_RESULT(opline).var, &t)) {
                                                        literal_dtor(&ZEND_OP2_LITERAL(init_opline));
                                                        MAKE_NOP(init_opline);
index a69ce8190b4c13ce4fc4efee36b13526c8cd0f10..a4ce989df5b6785fc8b906ab0406f6708e8544a2 100644 (file)
@@ -5351,7 +5351,7 @@ PHP_FUNCTION(openssl_random_pseudo_bytes)
 
        if (zstrong_result_returned) {
                zval_dtor(zstrong_result_returned);
-               ZVAL_BOOL(zstrong_result_returned, 0);
+               ZVAL_FALSE(zstrong_result_returned);
        }
 
        buffer = zend_string_alloc(buffer_length, 0);
@@ -5362,7 +5362,7 @@ PHP_FUNCTION(openssl_random_pseudo_bytes)
        if (php_win32_get_random_bytes((unsigned char*)buffer->val, (size_t) buffer_length) == FAILURE){
                zend_string_release(buffer);
                if (zstrong_result_returned) {
-                       ZVAL_BOOL(zstrong_result_returned, 0);
+                       ZVAL_FALSE(zstrong_result_returned);
                }
                RETURN_FALSE;
        }
@@ -5370,7 +5370,7 @@ PHP_FUNCTION(openssl_random_pseudo_bytes)
        if ((strong_result = RAND_pseudo_bytes((unsigned char*)buffer->val, buffer_length)) < 0) {
                zend_string_release(buffer);
                if (zstrong_result_returned) {
-                       ZVAL_BOOL(zstrong_result_returned, 0);
+                       ZVAL_FALSE(zstrong_result_returned);
                }
                RETURN_FALSE;
        }
index 2d8a1d62bd73a751e96ec1795e760ac4f366a933..ce0a601bd383fdec19e3023ad83b5f262e2a844c 100644 (file)
@@ -616,7 +616,7 @@ static HashTable *spl_filesystem_object_get_debug_info(zval *object, int *is_tem
                if (php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) {
                        ZVAL_STRINGL(&tmp, intern->_path, intern->_path_len);
                } else {
-                       ZVAL_BOOL(&tmp, 0);
+                       ZVAL_FALSE(&tmp);
                }
                zend_symtable_update(rv, pnstr, &tmp);
                zend_string_release(pnstr);
index f845adafd154908da834aa95966634ea428c8ee6..fecc1a59aaf91c55be423defa19c0837e192513a 100644 (file)
@@ -1250,7 +1250,7 @@ static inline void php_search_array(INTERNAL_FUNCTION_PARAMETERS, int behavior)
                zval res;                                       /* comparison result */
                ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(array), num_idx, str_idx, entry) {
                        ZVAL_DEREF(entry);
-                       is_identical_function(&res, value, entry);
+                       fast_is_identical_function(&res, value, entry);
                        if (Z_TYPE(res) == IS_TRUE) {
                                if (behavior == 0) {
                                        RETURN_TRUE;
index ba3486478e73cc45ef4419abfd9ff58ec2a6e0ce..bd249daee8f8471fe39abb79e454818b29056e3a 100644 (file)
@@ -747,7 +747,7 @@ static int tidy_doc_cast_handler(zval *in, zval *out, int type)
                        break;
 
                case _IS_BOOL:
-                       ZVAL_BOOL(out, TRUE);
+                       ZVAL_TRUE(out);
                        break;
 
                case IS_STRING:
@@ -780,7 +780,7 @@ static int tidy_node_cast_handler(zval *in, zval *out, int type)
                        break;
 
                case _IS_BOOL:
-                       ZVAL_BOOL(out, TRUE);
+                       ZVAL_TRUE(out);
                        break;
 
                case IS_STRING:
index 70b3371341026aa4b19dda96b205c94b631db516..f249f57b87b3ff16d458d38df544d279586f5ec0 100644 (file)
@@ -283,16 +283,16 @@ static PHP_FUNCTION(phpdbg_exec)
                                PHPDBG_G(exec_len) = exec->len;
 
                                if (result) {
-                                       ZVAL_BOOL(return_value, 1);
+                                       ZVAL_TRUE(return_value);
                                }
                        } else {
                                zend_error(E_WARNING, "Failed to set execution context (%s), not a regular file or symlink", exec);
-                               ZVAL_BOOL(return_value, 0);
+                               ZVAL_FALSE(return_value);
                        }
                } else {
                        zend_error(E_WARNING, "Failed to set execution context (%s) the file does not exist", exec);
 
-                       ZVAL_BOOL(return_value, 0);
+                       ZVAL_FALSE(return_value);
                }
        }
 } /* }}} */