8132287: obsolete the "InlineNotify" flag option

Reviewed-by: kvn, dlong, dholmes
This commit is contained in:
Daniel D. Daugherty 2018-05-11 11:08:32 -04:00
parent 5f48fe5cab
commit 5e70392aa8
6 changed files with 13 additions and 10 deletions

View File

@ -52,6 +52,7 @@
#include "opto/subnode.hpp"
#include "prims/nativeLookup.hpp"
#include "prims/unsafe.hpp"
#include "runtime/objectMonitor.hpp"
#include "runtime/sharedRuntime.hpp"
#ifdef TRACE_HAVE_INTRINSICS
#include "trace/traceMacros.hpp"
@ -545,7 +546,7 @@ bool LibraryCallKit::try_to_inline(int predicate) {
case vmIntrinsics::_notify:
case vmIntrinsics::_notifyAll:
if (InlineNotify) {
if (ObjectMonitor::Knob_InlineNotify) {
return inline_notify(intrinsic_id());
}
return false;

View File

@ -544,6 +544,7 @@ static SpecialFlag const special_jvm_flags[] = {
{ "SharedMiscCodeSize", JDK_Version::undefined(), JDK_Version::jdk(10), JDK_Version::undefined() },
{ "UseUTCFileTimestamp", JDK_Version::undefined(), JDK_Version::jdk(11), JDK_Version::jdk(12) },
{ "UseAppCDS", JDK_Version::undefined(), JDK_Version::jdk(11), JDK_Version::jdk(12) },
{ "InlineNotify", JDK_Version::undefined(), JDK_Version::jdk(11), JDK_Version::jdk(12) },
#ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
{ "dep > obs", JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() },

View File

@ -847,8 +847,6 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
\
experimental(intx, SyncVerbose, 0, "(Unstable)") \
\
diagnostic(bool, InlineNotify, true, "intrinsify subset of notify") \
\
experimental(intx, hashCode, 5, \
"(Unstable) select hashCode generation algorithm") \
\

View File

@ -98,13 +98,14 @@
// The knob* variables are effectively final. Once set they should
// never be modified hence. Consider using __read_mostly with GCC.
int ObjectMonitor::Knob_ExitRelease = 0;
int ObjectMonitor::Knob_Verbose = 0;
int ObjectMonitor::Knob_VerifyInUse = 0;
int ObjectMonitor::Knob_VerifyMatch = 0;
int ObjectMonitor::Knob_SpinLimit = 5000; // derived by an external tool -
static int Knob_ReportSettings = 0;
int ObjectMonitor::Knob_ExitRelease = 0;
int ObjectMonitor::Knob_InlineNotify = 1;
int ObjectMonitor::Knob_Verbose = 0;
int ObjectMonitor::Knob_VerifyInUse = 0;
int ObjectMonitor::Knob_VerifyMatch = 0;
int ObjectMonitor::Knob_SpinLimit = 5000; // derived by an external tool -
static int Knob_ReportSettings = 0;
static int Knob_SpinBase = 0; // Floor AKA SpinMin
static int Knob_SpinBackOff = 0; // spin-loop backoff
static int Knob_CASPenalty = -1; // Penalty for failed CAS
@ -2319,6 +2320,7 @@ void ObjectMonitor::DeferredInitialize() {
#define SETKNOB(x) { Knob_##x = kvGetInt(knobs, #x, Knob_##x); }
SETKNOB(ReportSettings);
SETKNOB(ExitRelease);
SETKNOB(InlineNotify);
SETKNOB(Verbose);
SETKNOB(VerifyInUse);
SETKNOB(VerifyMatch);

View File

@ -199,6 +199,7 @@ class ObjectMonitor {
static PerfLongVariable * _sync_MonExtant;
static int Knob_ExitRelease;
static int Knob_InlineNotify;
static int Knob_Verbose;
static int Knob_VerifyInUse;
static int Knob_VerifyMatch;

View File

@ -44,7 +44,7 @@ final class GraalHotSpotVMConfigVersioned extends HotSpotVMConfigAccess {
final boolean useCRC32CIntrinsics = getFlag("UseCRC32CIntrinsics", Boolean.class);
// JDK-8075171
final boolean inlineNotify = getFlag("InlineNotify", Boolean.class);
final boolean inlineNotify = getFlag("InlineNotify", Boolean.class, true);
// JDK-8046936
final int javaThreadReservedStackActivationOffset = getFieldOffset("JavaThread::_reserved_stack_activation", Integer.class, "address");