8278423: ExtendedDTraceProbes should be deprecated

Reviewed-by: dholmes, hseigel, kvn, thartmann
This commit is contained in:
Emanuel Peter 2022-02-12 13:08:39 +00:00 committed by David Holmes
parent 58dae60da0
commit 67077a0430
5 changed files with 36 additions and 10 deletions
src
hotspot/share/runtime
java.base/share/man
test/hotspot/jtreg
runtime/CommandLine
serviceability/7170638

@ -537,6 +537,7 @@ static SpecialFlag const special_jvm_flags[] = {
#ifdef PRODUCT
{ "UseHeavyMonitors", JDK_Version::jdk(18), JDK_Version::jdk(19), JDK_Version::jdk(20) },
#endif
{ "ExtendedDTraceProbes", JDK_Version::jdk(19), JDK_Version::jdk(20), JDK_Version::jdk(21) },
// --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
{ "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
@ -2886,6 +2887,8 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, bool* patch_m
}
} else if (match_option(option, "-XX:+ExtendedDTraceProbes")) {
#if defined(DTRACE_ENABLED)
warning("Option ExtendedDTraceProbes was deprecated in version 19 and will likely be removed in a future release.");
warning("Use the combination of -XX:+DTraceMethodProbes, -XX:+DTraceAllocProbes and -XX:+DTraceMonitorProbes instead.");
if (FLAG_SET_CMDLINE(ExtendedDTraceProbes, true) != JVMFlag::SUCCESS) {
return JNI_EINVAL;
}

@ -1858,16 +1858,18 @@ const intx ObjectAlignmentInBytes = 8;
"Pause and wait for keypress on exit if a debugger is attached") \
\
product(bool, ExtendedDTraceProbes, false, \
"Enable performance-impacting dtrace probes") \
"(Deprecated) Enable performance-impacting dtrace probes. " \
"Use the combination of -XX:+DTraceMethodProbes, " \
"-XX:+DTraceAllocProbes and -XX:+DTraceMonitorProbes instead.") \
\
product(bool, DTraceMethodProbes, false, \
"Enable dtrace probes for method-entry and method-exit") \
"Enable dtrace tool probes for method-entry and method-exit") \
\
product(bool, DTraceAllocProbes, false, \
"Enable dtrace probes for object allocation") \
"Enable dtrace tool probes for object allocation") \
\
product(bool, DTraceMonitorProbes, false, \
"Enable dtrace probes for monitor events") \
"Enable dtrace tool probes for monitor events") \
\
product(bool, RelaxAccessControlCheck, false, \
"Relax the access control checks in the verifier") \

@ -2977,11 +2977,19 @@ different JDK version.
.RE
.RE
.TP
.B \f[CB]\-XX:+ExtendedDTraceProbes\f[R]
\f[B]Linux and macOS:\f[R] Enables additional \f[CB]dtrace\f[R] tool probes
that affect the performance.
By default, this option is disabled and \f[CB]dtrace\f[R] performs only
standard probes.
.B \f[CB]\-XX:+DTraceAllocProbes\f[R]
\f[B]Linux and macOS:\f[R] Enable \f[CB]dtrace\f[R] tool probes for object allocation.
.RS
.RE
.TP
.B \f[CB]\-XX:+DTraceMethodProbes\f[R]
\f[B]Linux and macOS:\f[R] Enable \f[CB]dtrace\f[R] tool probes for method-entry
and method-exit.
.RS
.RE
.TP
.B \f[CB]\-XX:+DTraceMonitorProbes\f[R]
\f[B]Linux and macOS:\f[R] Enable \f[CB]dtrace\f[R] tool probes for monitor events.
.RS
.RE
.TP
@ -4008,6 +4016,16 @@ Example:
\f[CB]\-Xlog:gc:garbage\-collection.log\f[R]
.RE
.TP
.B \f[CB]\-XX:+ExtendedDTraceProbes\f[R]
\f[B]Linux and macOS:\f[R] Enables additional \f[CB]dtrace\f[R] tool probes
that affect performance.
By default, this option is disabled and \f[CB]dtrace\f[R] performs only
standard probes.
Use the combination of these flags instead: \f[CB]\-XX:+DTraceMethodProbes\f[R],
\f[CB]\-XX:+DTraceAllocProbes\f[R], \f[CB]\-XX:+DTraceMonitorProbes\f[R].
.RS
.RE
.TP
.B \f[CB]\-XX:+FlightRecorder\f[R]
Enables the use of Java Flight Recorder (JFR) during the runtime of the
application.

@ -54,6 +54,7 @@ public class VMDeprecatedOptions {
{"InitialRAMFraction", "64"},
{"TLABStats", "false"},
{"AllowRedefinitionToAddDeleteMethods", "true"},
{"ExtendedDTraceProbes", "true"},
// deprecated alias flags (see also aliased_jvm_flags):
{"DefaultMaxRAMFraction", "4"},

@ -46,7 +46,9 @@ public class SDTProbesGNULinuxTest {
public static void main(String[] args) throws Throwable {
{
var pb = ProcessTools.createJavaProcessBuilder(
"-XX:+ExtendedDTraceProbes",
"-XX:+DTraceMethodProbes",
"-XX:+DTraceAllocProbes",
"-XX:+DTraceMonitorProbes",
"-version");
var oa = new OutputAnalyzer(pb.start());
// This test only matters when build with DTRACE_ENABLED.