com php-src: Imporoved EXPECTED/UNEXPECTED macros to support not boolean expressions. Fixed invalid EXPECTED() usage.: Zend/zend.h Zend/zend_arena.h

From: Date: Wed, 09 Jul 2014 15:32:09 +0000
Subject: com php-src: Imporoved EXPECTED/UNEXPECTED macros to support not boolean expressions. Fixed invalid EXPECTED() usage.: Zend/zend.h Zend/zend_arena.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-79363@lists.php.net to get a copy of this message
Commit: c85c795e4617844c6544715cf8c87bd104680b8a Author: Dmitry Stogov <dmitry@zend.com> Wed, 9 Jul 2014 19:32:09 +0400 Parents: 19729aa7fe0262b1bae2f96e48330f5404a5dcaf Branches: phpng Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=c85c795e4617844c6544715cf8c87bd104680b8a Log: Imporoved EXPECTED/UNEXPECTED macros to support not boolean expressions. Fixed invalid EXPECTED() usage. Changed paths: M Zend/zend.h M Zend/zend_arena.h Diff: diff --git a/Zend/zend.h b/Zend/zend.h index 6f5eee1..2f1f239 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -355,8 +355,8 @@ void zend_error_noreturn(int type, const char *format, ...) __attribute__ ((nore #endif /* ZEND_DEBUG */ #if (defined (__GNUC__) && __GNUC__ > 2 ) && !defined(DARWIN) && !defined(__hpux) && !defined(_AIX) -# define EXPECTED(condition) __builtin_expect(condition, 1) -# define UNEXPECTED(condition) __builtin_expect(condition, 0) +# define EXPECTED(condition) __builtin_expect(!(!(condition)), 1) +# define UNEXPECTED(condition) __builtin_expect(!(!(condition)), 0) #else # define EXPECTED(condition) (condition) # define UNEXPECTED(condition) (condition) diff --git a/Zend/zend_arena.h b/Zend/zend_arena.h index 69ac668..daa976d 100644 --- a/Zend/zend_arena..h +++ b/Zend/zend_arena.h @@ -63,7 +63,7 @@ static zend_always_inline void* zend_arena_alloc(zend_arena **arena_ptr, size_t arena->ptr = ptr + size; } else { size_t arena_size = - (UNEXPECTED(size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) > (arena->end - (char*) arena)) ? + UNEXPECTED((size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) > (arena->end - (char*) arena)) ? (size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) : (arena->end - (char*) arena); zend_arena *new_arena = (zend_arena*)emalloc(arena_size);

« previous php.cvs (#79363) next »