Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8256718: Obsolete the long term deprecated and aliased Trace flags #1525

Closed
wants to merge 3 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 4 additions & 28 deletions src/hotspot/share/runtime/arguments.cpp
Original file line number Diff line number Diff line change
@@ -559,17 +559,20 @@ static SpecialFlag const special_jvm_flags[] = {
{ "VerifyMergedCPBytecodes", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "PrintSharedSpaces", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceBiasedLocking", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceClassLoading", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceClassLoadingPreorder", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceClassPaths", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceClassResolution", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceClassUnloading", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceExceptions", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceInvokeDynamic", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceLoaderConstraints", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceMethodHandles", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceMonitorInflation", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceSafepointCleanupTime", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceJVMTIObjectTagging", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "TraceRedefineClasses", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "PrintJNIResolving", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
{ "PrintJNIResolving", 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.
@@ -597,14 +600,6 @@ static AliasedFlag const aliased_jvm_flags[] = {
{ NULL, NULL}
};

// Use this for popular obsolete tracing flags to suggest logging alternatives.
static AliasedObsoleteLoggingFlag const removed_product_logging_flags[] = {
{ "TraceClassLoading", "-Xlog:class+load=", "info", "16.0" },
{ "TraceClassUnloading", "-Xlog:class+unload=", "info", "16.0" },
{ "TraceExceptions", "-Xlog:exceptions=", "info", "16.0" },
{ NULL, NULL, NULL, NULL }
};

// Return true if "v" is less than "other", where "other" may be "undefined".
static bool version_less_than(JDK_Version v, JDK_Version other) {
assert(!v.is_undefined(), "must be defined");
@@ -668,16 +663,6 @@ int Arguments::is_deprecated_flag(const char *flag_name, JDK_Version* version) {
return 0;
}

const AliasedObsoleteLoggingFlag* Arguments::removed_product_logging_flag_name(const char* name){
for (size_t i = 0; removed_product_logging_flags[i].obs_name != NULL; i++) {
const AliasedObsoleteLoggingFlag* flag = &removed_product_logging_flags[i];
if (strcmp(flag->obs_name, name) == 0) {
return flag;
}
}
return NULL;
}

const char* Arguments::real_flag_name(const char *flag_name) {
for (size_t i = 0; aliased_jvm_flags[i].alias_name != NULL; i++) {
const AliasedFlag& flag_status = aliased_jvm_flags[i];
@@ -1225,15 +1210,6 @@ bool Arguments::process_argument(const char* arg,
warning("Ignoring option %s; support was removed in %s", stripped_argname, version);
return true;
}
const AliasedObsoleteLoggingFlag* obs_replacement;
if (has_plus_minus && (obs_replacement = removed_product_logging_flag_name(stripped_argname)) != NULL) {
warning("Ignoring option %s; support was removed in %s. Please use %s%s instead.",
stripped_argname,
obs_replacement->version,
obs_replacement->log_name,
*arg == '+' ? obs_replacement->tag_name : "off");
return true;
}
}

// For locked flags, report a custom error message if available.
9 changes: 0 additions & 9 deletions src/hotspot/share/runtime/arguments.hpp
Original file line number Diff line number Diff line change
@@ -226,13 +226,6 @@ class AgentLibraryList {
// Helper class for controlling the lifetime of JavaVMInitArgs objects.
class ScopedVMInitArgs;

typedef struct {
const char* obs_name;
const char* log_name;
const char* tag_name;
const char* version;
} AliasedObsoleteLoggingFlag;

class Arguments : AllStatic {
friend class VMStructs;
friend class JvmtiExport;
@@ -454,8 +447,6 @@ class Arguments : AllStatic {
// the version number when the flag became obsolete.
static bool is_obsolete_flag(const char* flag_name, JDK_Version* version);

static const AliasedObsoleteLoggingFlag* removed_product_logging_flag_name(const char* name);

// Returns 1 if the flag is deprecated (and not yet obsolete or expired).
// In this case the 'version' buffer is filled in with the version number when
// the flag became deprecated.