enable serialize in Windows

This commit is contained in:
Xubo Zhang 2021-07-19 17:47:08 -07:00
parent fd0a14f264
commit f89780eea6
2 changed files with 7 additions and 3 deletions

View File

@ -27,7 +27,6 @@
static void setup_fpu(); static void setup_fpu();
static bool supports_sse(); static bool supports_sse();
// static bool supports_serialize();
static juint cpu_microcode_revision(); static juint cpu_microcode_revision();
static jlong rdtsc(); static jlong rdtsc();

View File

@ -28,6 +28,7 @@
// Included in orderAccess.hpp header file. // Included in orderAccess.hpp header file.
#include <intrin.h> #include <intrin.h>
#include <immintrin.h>
// Compiler version last used for testing: Microsoft Visual Studio 2010 // Compiler version last used for testing: Microsoft Visual Studio 2010
// Please update this information when this file changes // Please update this information when this file changes
@ -59,8 +60,12 @@ inline void OrderAccess::fence() {
} }
inline void OrderAccess::cross_modify_fence_impl() { inline void OrderAccess::cross_modify_fence_impl() {
int regs[4]; if (VM_Version::supports_serialize()) {
__cpuid(regs, 0); _serialize();
} else {
int regs[4];
__cpuid(regs, 0);
}
} }
#endif // OS_CPU_WINDOWS_X86_ORDERACCESS_WINDOWS_X86_HPP #endif // OS_CPU_WINDOWS_X86_ORDERACCESS_WINDOWS_X86_HPP