< prev index next >

src/hotspot/share/runtime/commandLineFlagConstraintsRuntime.cpp

Print this page
rev 47415 : Add Thread Local handshakes and thread local polling

*** 1,7 **** /* ! * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 25,34 **** --- 25,35 ---- #include "precompiled.hpp" #include "runtime/arguments.hpp" #include "runtime/commandLineFlagConstraintsRuntime.hpp" #include "runtime/commandLineFlagRangeList.hpp" #include "runtime/globals.hpp" + #include "runtime/safepointMechanism.hpp" #include "runtime/task.hpp" #include "utilities/defaultStream.hpp" Flag::Error ObjectAlignmentInBytesConstraintFunc(intx value, bool verbose) { if (!is_power_of_2(value)) {
*** 128,132 **** --- 129,147 ---- return Flag::VIOLATES_CONSTRAINT; } else { return Flag::SUCCESS; } } + + Flag::Error ThreadLocalHandshakesConstraintFunc(bool value, bool verbose) { + if (value) { + if (!SafepointMechanism::supports_thread_local_poll()) { + CommandLineError::print(verbose, "ThreadLocalHandshakes not yet supported on this platform\n"); + return Flag::VIOLATES_CONSTRAINT; + } + if (UseAOT JVMCI_ONLY(|| EnableJVMCI || UseJVMCICompiler)) { + CommandLineError::print(verbose, "ThreadLocalHandshakes not yet supported in combination with AOT or JVMCI\n"); + return Flag::VIOLATES_CONSTRAINT; + } + } + return Flag::SUCCESS; + }
< prev index next >