From a91424f680b7c169c72f995e7f9aa97471369d47 Mon Sep 17 00:00:00 2001 From: Xin Liu Date: Fri, 30 Oct 2020 05:39:36 +0000 Subject: [PATCH 1/3] 8255562: delete UseRDPCForConstantTableBase --- src/hotspot/share/opto/machnode.hpp | 1 - src/hotspot/share/runtime/arguments.cpp | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hotspot/share/opto/machnode.hpp b/src/hotspot/share/opto/machnode.hpp index a84e895c3938b..badb35e5ce5dd 100644 --- a/src/hotspot/share/opto/machnode.hpp +++ b/src/hotspot/share/opto/machnode.hpp @@ -434,7 +434,6 @@ class MachConstantBaseNode : public MachIdealNode { virtual void emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const; virtual uint size(PhaseRegAlloc* ra_) const; - virtual bool pinned() const { return UseRDPCForConstantTableBase; } static const RegMask& static_out_RegMask() { return _out_RegMask; } virtual const RegMask& out_RegMask() const { return static_out_RegMask(); } diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp index 38f0c6c9dc807..5e58fba7e0fae 100644 --- a/src/hotspot/share/runtime/arguments.cpp +++ b/src/hotspot/share/runtime/arguments.cpp @@ -575,6 +575,7 @@ static SpecialFlag const special_jvm_flags[] = { { "MaxInlineSize", JDK_Version::undefined(), JDK_Version::jdk(15), JDK_Version::jdk(16) }, { "FreqInlineSize", JDK_Version::undefined(), JDK_Version::jdk(15), JDK_Version::jdk(16) }, { "MaxTrivialSize", JDK_Version::undefined(), JDK_Version::jdk(15), JDK_Version::jdk(16) }, + { "UseRDPCForConstantTableBase", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(16) }, #endif { NULL, JDK_Version(0), JDK_Version(0) } From ae686179529880617df20928f78d72db47e04bcd Mon Sep 17 00:00:00 2001 From: Xin Liu Date: Thu, 5 Nov 2020 02:06:17 +0000 Subject: [PATCH 2/3] 8255562: delete UseRDPCForConstantTableBase mark UseRDPCForConstantTableBase is obsoletd in jdk16 and will expire in jdk17. --- src/hotspot/share/runtime/arguments.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp index 5e58fba7e0fae..498c224406f8a 100644 --- a/src/hotspot/share/runtime/arguments.cpp +++ b/src/hotspot/share/runtime/arguments.cpp @@ -575,8 +575,9 @@ static SpecialFlag const special_jvm_flags[] = { { "MaxInlineSize", JDK_Version::undefined(), JDK_Version::jdk(15), JDK_Version::jdk(16) }, { "FreqInlineSize", JDK_Version::undefined(), JDK_Version::jdk(15), JDK_Version::jdk(16) }, { "MaxTrivialSize", JDK_Version::undefined(), JDK_Version::jdk(15), JDK_Version::jdk(16) }, - { "UseRDPCForConstantTableBase", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(16) }, -#endif +#else + { "UseRDPCForConstantTableBase", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) }, +#endif /*COMPILER2*/ { NULL, JDK_Version(0), JDK_Version(0) } }; @@ -990,8 +991,11 @@ static bool append_to_string_flag(JVMFlag* flag, const char* new_value, JVMFlagO const char* Arguments::handle_aliases_and_deprecation(const char* arg, bool warn) { const char* real_name = real_flag_name(arg); JDK_Version since = JDK_Version(); + switch (is_deprecated_flag(arg, &since)) { - case -1: { + case 0: + /*fall through*/ + case -1: { // Obsolete or expired, so don't process normally, // but allow for an obsolete flag we're still // temporarily allowing. @@ -1002,8 +1006,6 @@ const char* Arguments::handle_aliases_and_deprecation(const char* arg, bool warn // as obsoletion must come first. return NULL; } - case 0: - return real_name; case 1: { if (warn) { char version[256]; From 213a161b9a51ada8eab7e9ad080141a7a2b4d829 Mon Sep 17 00:00:00 2001 From: Xin Liu Date: Fri, 6 Nov 2020 00:09:26 +0000 Subject: [PATCH 3/3] 8255562: delete UseRDPCForConstantTableBase revert the change of Arguments::handle_aliases_and_deprecation. Arguments::process_argument can handle obsoleted arguments. --- src/hotspot/share/opto/c2_globals.hpp | 3 --- src/hotspot/share/runtime/arguments.cpp | 12 +++++------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/hotspot/share/opto/c2_globals.hpp b/src/hotspot/share/opto/c2_globals.hpp index c70fda70c3da4..0bf650c2eb825 100644 --- a/src/hotspot/share/opto/c2_globals.hpp +++ b/src/hotspot/share/opto/c2_globals.hpp @@ -360,9 +360,6 @@ "Limit of ops to make speculative when using CMOVE") \ range(0, max_jint) \ \ - product(bool, UseRDPCForConstantTableBase, false, \ - "Use Sparc RDPC instruction for the constant table base.") \ - \ notproduct(bool, PrintIdealGraph, false, \ "Print ideal graph to XML file / network interface. " \ "By default attempts to connect to the visualizer on a socket.") \ diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp index 498c224406f8a..c44e9b2c6ac3f 100644 --- a/src/hotspot/share/runtime/arguments.cpp +++ b/src/hotspot/share/runtime/arguments.cpp @@ -555,6 +555,7 @@ static SpecialFlag const special_jvm_flags[] = { { "ForceNUMA", JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) }, { "InsertMemBarAfterArraycopy", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) }, { "Debugging", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) }, + { "UseRDPCForConstantTableBase", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) }, #ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS // These entries will generate build errors. Their purpose is to test the macros. @@ -575,9 +576,7 @@ static SpecialFlag const special_jvm_flags[] = { { "MaxInlineSize", JDK_Version::undefined(), JDK_Version::jdk(15), JDK_Version::jdk(16) }, { "FreqInlineSize", JDK_Version::undefined(), JDK_Version::jdk(15), JDK_Version::jdk(16) }, { "MaxTrivialSize", JDK_Version::undefined(), JDK_Version::jdk(15), JDK_Version::jdk(16) }, -#else - { "UseRDPCForConstantTableBase", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) }, -#endif /*COMPILER2*/ +#endif { NULL, JDK_Version(0), JDK_Version(0) } }; @@ -991,11 +990,8 @@ static bool append_to_string_flag(JVMFlag* flag, const char* new_value, JVMFlagO const char* Arguments::handle_aliases_and_deprecation(const char* arg, bool warn) { const char* real_name = real_flag_name(arg); JDK_Version since = JDK_Version(); - switch (is_deprecated_flag(arg, &since)) { - case 0: - /*fall through*/ - case -1: { + case -1: { // Obsolete or expired, so don't process normally, // but allow for an obsolete flag we're still // temporarily allowing. @@ -1006,6 +1002,8 @@ const char* Arguments::handle_aliases_and_deprecation(const char* arg, bool warn // as obsoletion must come first. return NULL; } + case 0: + return real_name; case 1: { if (warn) { char version[256];