< prev index next >

src/share/vm/utilities/globalDefinitions_visCPP.hpp

Print this page

        

@@ -169,10 +169,15 @@
 #define lseek _lseek
 #define unlink _unlink
 #define strdup _strdup
 #endif
 
+#if _MSC_VER < 1800
+// Fixes some wrong warnings about 'this' : used in base member initializer list
+#pragma warning( disable : 4355 )
+#endif
+
 #pragma warning( disable : 4100 ) // unreferenced formal parameter
 #pragma warning( disable : 4127 ) // conditional expression is constant
 #pragma warning( disable : 4514 ) // unreferenced inline function has been removed
 #pragma warning( disable : 4244 ) // possible loss of data
 #pragma warning( disable : 4512 ) // assignment operator could not be generated

@@ -216,6 +221,13 @@
 #define PRIxPTR       "x"
 #endif
 
 #define offset_of(klass,field) offsetof(klass,field)
 
+// Inlining support
+// MSVC has '__declspec(noinline)' but according to the official documentation
+// it only applies to member functions. There are reports though which pretend
+// that it also works for freestanding functions.
+#define NOINLINE     __declspec(noinline)
+#define ALWAYSINLINE __forceinline
+
 #endif // SHARE_VM_UTILITIES_GLOBALDEFINITIONS_VISCPP_HPP
< prev index next >