| Index: include/v8config.h
|
| diff --git a/include/v8config.h b/include/v8config.h
|
| index 3502dd6553d715261e7e8cab7fa515f6fc7e505b..e72560f5ae2040ad4127ee9580b0bdbf96576198 100644
|
| --- a/include/v8config.h
|
| +++ b/include/v8config.h
|
| @@ -112,12 +112,14 @@
|
| // V8_HAS_ATTRIBUTE_ALWAYS_INLINE - __attribute__((always_inline))
|
| // supported
|
| // V8_HAS_ATTRIBUTE_DEPRECATED - __attribute__((deprecated)) supported
|
| +// V8_HAS_ATTRIBUTE_NOINLINE - __attribute__((noinline)) supported
|
| // V8_HAS_ATTRIBUTE_VISIBILITY - __attribute__((visibility)) supported
|
| // V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT - __attribute__((warn_unused_result))
|
| // supported
|
| // V8_HAS_BUILTIN_EXPECT - __builtin_expect() supported
|
| // V8_HAS_DECLSPEC_ALIGN - __declspec(align(n)) supported
|
| // V8_HAS_DECLSPEC_DEPRECATED - __declspec(deprecated) supported
|
| +// V8_HAS_DECLSPEC_NOINLINE - __declspec(noinline) supported
|
| // V8_HAS___FINAL - __final supported in non-C++11 mode
|
| // V8_HAS___FORCEINLINE - __forceinline supported
|
| // V8_HAS_SEALED - MSVC style sealed marker supported
|
| @@ -142,6 +144,7 @@
|
| # define V8_HAS_ATTRIBUTE_ALIGNED (__has_attribute(aligned))
|
| # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline))
|
| # define V8_HAS_ATTRIBUTE_DEPRECATED (__has_attribute(deprecated))
|
| +# define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
|
| # define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility))
|
| # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
|
| (__has_attribute(warn_unused_result))
|
| @@ -173,6 +176,7 @@
|
| // older compilers.
|
| # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (V8_GNUC_PREREQ(4, 4, 0))
|
| # define V8_HAS_ATTRIBUTE_DEPRECATED (V8_GNUC_PREREQ(3, 4, 0))
|
| +# define V8_HAS_ATTRIBUTE_NOINLINE (V8_GNUC_PREREQ(3, 4, 0))
|
| # define V8_HAS_ATTRIBUTE_VISIBILITY (V8_GNUC_PREREQ(4, 3, 0))
|
| # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
|
| (!V8_CC_INTEL && V8_GNUC_PREREQ(4, 1, 0))
|
| @@ -213,6 +217,7 @@
|
|
|
| # define V8_HAS_DECLSPEC_ALIGN 1
|
| # define V8_HAS_DECLSPEC_DEPRECATED (_MSC_VER >= 1300)
|
| +# define V8_HAS_DECLSPEC_NOINLINE 1
|
|
|
| # define V8_HAS___FORCEINLINE 1
|
|
|
| @@ -232,6 +237,17 @@
|
| #endif
|
|
|
|
|
| +// A macro used to tell the compiler to never inline a particular function.
|
| +// Don't bother for debug builds.
|
| +#if !defined(DEBUG) && V8_HAS_ATTRIBUTE_NOINLINE
|
| +# define V8_NOINLINE(declarator) __attribute__((noinline)) declarator
|
| +#elif !defined(DEBUG) && V8_HAS_DECLSPEC_NOINLINE
|
| +# define V8_NOINLINE(declarator) __declspec(noinline) declarator
|
| +#else
|
| +# define V8_NOINLINE(declarator) declarator
|
| +#endif
|
| +
|
| +
|
| // A macro to mark classes or functions as deprecated.
|
| #if !V8_DISABLE_DEPRECATIONS && V8_HAS_ATTRIBUTE_DEPRECATED
|
| # define V8_DEPRECATED(declarator) declarator __attribute__((deprecated))
|
|
|