< prev index next >
src/hotspot/share/runtime/arguments.cpp
Print this page
rev 47415 : Add Thread Local handshakes and thread local polling
*** 48,57 ****
--- 48,58 ----
#include "runtime/commandLineFlagRangeList.hpp"
#include "runtime/globals.hpp"
#include "runtime/globals_extension.hpp"
#include "runtime/java.hpp"
#include "runtime/os.hpp"
+ #include "runtime/safepointMechanism.hpp"
#include "runtime/vm_version.hpp"
#include "services/management.hpp"
#include "services/memTracker.hpp"
#include "utilities/align.hpp"
#include "utilities/defaultStream.hpp"
*** 4611,4620 ****
--- 4612,4634 ----
if (!UseBiasedLocking || EmitSync != 0) {
UseOptoBiasInlining = false;
}
#endif
+ bool aot_enabled = UseAOT && ((AOTLibrary != NULL) || !FLAG_IS_DEFAULT(UseAOT));
+ bool jvmci_enabled = NOT_JVMCI(false) JVMCI_ONLY(EnableJVMCI || UseJVMCICompiler);
+ bool handshakes_supported = SafepointMechanism::supports_thread_local_poll() && !aot_enabled && !jvmci_enabled;
+ if (handshakes_supported) {
+ if (FLAG_IS_DEFAULT(UseAOT)) {
+ FLAG_SET_DEFAULT(UseAOT, false); // Clear the AOT flag to make sure it doesn't try to initialize.
+ }
+ if (FLAG_IS_DEFAULT(ThreadLocalHandshakes) && !ThreadLocalHandshakes) {
+ FLAG_SET_ERGO(bool, ThreadLocalHandshakes, true);
+ log_info(ergo)("Enabling ThreadLocalHandshakes on supported platform");
+ }
+ }
+
return JNI_OK;
}
jint Arguments::adjust_after_os() {
if (UseNUMA) {
< prev index next >