29 lines
720 B
C
29 lines
720 B
C
|
/**
|
||
|
* Copyright (c) 2016-present, Facebook, Inc.
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
* This source code is licensed under the BSD-style license found in the
|
||
|
* LICENSE file in the root directory of this source tree. An additional grant
|
||
|
* of patent rights can be found in the PATENTS file in the same directory.
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Compiler hints to indicate the fast path of an "if" branch: whether
|
||
|
* the if condition is likely to be true or false.
|
||
|
*
|
||
|
* @author Tudor Bosman (tudorb@fb.com)
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#undef LIKELY
|
||
|
#undef UNLIKELY
|
||
|
|
||
|
#if defined(__GNUC__) && __GNUC__ >= 4
|
||
|
#define LIKELY(x) (__builtin_expect((x), 1))
|
||
|
#define UNLIKELY(x) (__builtin_expect((x), 0))
|
||
|
#else
|
||
|
#define LIKELY(x) (x)
|
||
|
#define UNLIKELY(x) (x)
|
||
|
#endif
|