From b5b617674e035343ce836b79c2cc8a0ce8aece64 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Mon, 22 Dec 2014 00:10:46 -0500 Subject: [PATCH] Micro optimaztion (yeah, I know compiler supposed to do that) --- Zend/zend_API.h | 4 ++-- Zend/zend_ast.c | 4 ++-- Zend/zend_operators.c | 28 ++++++++++++++-------------- Zend/zend_operators.h | 6 +++--- ext/mysqli/mysqli_driver.c | 4 ++-- ext/opcache/Optimizer/pass1_5.c | 8 ++++---- ext/openssl/openssl.c | 6 +++--- ext/spl/spl_directory.c | 2 +- ext/standard/array.c | 2 +- ext/tidy/tidy.c | 4 ++-- sapi/phpdbg/phpdbg.c | 6 +++--- 11 files changed, 37 insertions(+), 37 deletions(-) diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 9b3e3f39fc..5f7b559976 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -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;} diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index ac10fe24e0..d5e739c26a 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -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)); diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 17937ded9e..d78a89171c 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -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; diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index 5a20ac72a7..83a70d5c47 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -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); diff --git a/ext/mysqli/mysqli_driver.c b/ext/mysqli/mysqli_driver.c index bdb0a3796b..ff63f14a48 100644 --- a/ext/mysqli/mysqli_driver.c +++ b/ext/mysqli/mysqli_driver.c @@ -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; } diff --git a/ext/opcache/Optimizer/pass1_5.c b/ext/opcache/Optimizer/pass1_5.c index 819a093600..95a7ba0437 100644 --- a/ext/opcache/Optimizer/pass1_5.c +++ b/ext/opcache/Optimizer/pass1_5.c @@ -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); diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index a69ce8190b..a4ce989df5 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -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; } diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index 2d8a1d62bd..ce0a601bd3 100644 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -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); diff --git a/ext/standard/array.c b/ext/standard/array.c index f845adafd1..fecc1a59aa 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -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; diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c index ba3486478e..bd249daee8 100644 --- a/ext/tidy/tidy.c +++ b/ext/tidy/tidy.c @@ -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: diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index 70b3371341..f249f57b87 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -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); } } } /* }}} */ -- 2.40.0