| Index: include/v8config.h
|
| diff --git a/include/v8config.h b/include/v8config.h
|
| index 452ffc73e701066016813a30709f745b0d1cb52d..be02b6e6ea1cabfae0a48188cfc5a49560521e8b 100644
|
| --- a/include/v8config.h
|
| +++ b/include/v8config.h
|
| @@ -175,7 +175,10 @@
|
| // V8_HAS_ATTRIBUTE_VISIBILITY - __attribute__((visibility)) supported
|
| // V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT - __attribute__((warn_unused_result))
|
| // supported
|
| +// V8_HAS_BUILTIN_CLZ - __builtin_clz() supported
|
| +// V8_HAS_BUILTIN_CTZ - __builtin_ctz() supported
|
| // V8_HAS_BUILTIN_EXPECT - __builtin_expect() supported
|
| +// V8_HAS_BUILTIN_POPCOUNT - __builtin_popcount() supported
|
| // V8_HAS_DECLSPEC_ALIGN - __declspec(align(n)) supported
|
| // V8_HAS_DECLSPEC_DEPRECATED - __declspec(deprecated) supported
|
| // V8_HAS_DECLSPEC_NOINLINE - __declspec(noinline) supported
|
| @@ -206,7 +209,10 @@
|
| # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
|
| (__has_attribute(warn_unused_result))
|
|
|
| +# define V8_HAS_BUILTIN_CLZ (__has_builtin(__builtin_clz))
|
| +# define V8_HAS_BUILTIN_CTZ (__has_builtin(__builtin_ctz))
|
| # define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect))
|
| +# define V8_HAS_BUILTIN_POPCOUNT (__has_builtin(__builtin_popcount))
|
|
|
| # define V8_HAS_CXX11_ALIGNAS (__has_feature(cxx_alignas))
|
| # define V8_HAS_CXX11_STATIC_ASSERT (__has_feature(cxx_static_assert))
|
| @@ -238,7 +244,10 @@
|
| # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
|
| (!V8_CC_INTEL && V8_GNUC_PREREQ(4, 1, 0))
|
|
|
| +# define V8_HAS_BUILTIN_CLZ (V8_GNUC_PREREQ(3, 4, 0))
|
| +# define V8_HAS_BUILTIN_CTZ (V8_GNUC_PREREQ(3, 4, 0))
|
| # define V8_HAS_BUILTIN_EXPECT (V8_GNUC_PREREQ(2, 96, 0))
|
| +# define V8_HAS_BUILTIN_POPCOUNT (V8_GNUC_PREREQ(3, 4, 0))
|
|
|
| // g++ requires -std=c++0x or -std=gnu++0x to support C++11 functionality
|
| // without warnings (functionality used by the macros below). These modes
|
|
|