Merge pull request #7300 from Icinga/bugfix/gcc-likely

Quality: Prefer BOOST_{,UN}LIKELY gcc optimizer macros over our own
This commit is contained in:
Michael Friedrich 2019-07-09 13:57:58 +02:00 committed by GitHub
commit 0712589bd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 10 deletions

View File

@ -72,14 +72,6 @@
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
#if defined(__GNUC__)
# define likely(x) __builtin_expect(!!(x), 1)
# define unlikely(x) __builtin_expect(!!(x), 0)
#else
# define likely(x) (x)
# define unlikely(x) (x)
#endif
#define BOOST_BIND_NO_PLACEHOLDERS
#include <functional>

View File

@ -235,10 +235,10 @@ public:
static inline Value GetField(const Value& context, const String& field, bool sandboxed = false, const DebugInfo& debugInfo = DebugInfo())
{
if (unlikely(context.IsEmpty() && !context.IsString()))
if (BOOST_UNLIKELY(context.IsEmpty() && !context.IsString()))
return Empty;
if (unlikely(!context.IsObject()))
if (BOOST_UNLIKELY(!context.IsObject()))
return GetPrototypeField(context, field, true, debugInfo);
Object::Ptr object = context;