8369573: Add missing compile commands help documentation for the signature part of method patterns

Reviewed-by: rcastanedalo, aseoane, thartmann
This commit is contained in:
Daniel Lundén 2025-10-16 15:02:32 +00:00
parent f2a998326a
commit 303eb1096c

View File

@ -617,18 +617,44 @@ static void usage() {
tty->cr();
print_commands();
tty->cr();
tty->print_cr("Method patterns has the format:");
tty->print_cr(" package/Class.method()");
tty->print_cr("The <method pattern> has the format '<class>.<method><descriptor>'.");
tty->cr();
tty->print_cr("For example, the <method pattern>");
tty->cr();
tty->print_cr(" package/Class.method(Lpackage/Parameter;)Lpackage/Return;");
tty->cr();
tty->print_cr("matches the <method> 'method' in <class> 'package/Class' with <descriptor>");
tty->print_cr("'(Lpackage/Parameter;)Lpackage/Return;'");
tty->cr();
tty->print_cr("For backward compatibility this form is also allowed:");
tty->print_cr(" package.Class::method()");
tty->cr();
tty->print_cr("The signature can be separated by an optional whitespace or comma:");
tty->print_cr(" package/Class.method ()");
tty->print_cr(" package.Class::method(Lpackage.Parameter;)Lpackage.Return;");
tty->cr();
tty->print_cr("The class and method identifier can be used together with leading or");
tty->print_cr("trailing *'s for wildcard matching:");
tty->print_cr(" *ackage/Clas*.*etho*()");
tty->print_cr("A whitespace or comma can optionally separate the <descriptor> from the");
tty->print_cr("<method>:");
tty->cr();
tty->print_cr(" package/Class.method (Lpackage/Parameter;)Lpackage/Return;");
tty->print_cr(" package/Class.method,(Lpackage/Parameter;)Lpackage/Return;");
tty->cr();
tty->print_cr("The <class> and <method> accept leading and trailing '*' wildcards");
tty->print_cr("matching:");
tty->cr();
tty->print_cr(" *ackage/Clas*.*etho*(Lpackage/Parameter;)Lpackage/Return;");
tty->cr();
tty->print_cr("The <descriptor> does not support explicit wildcards and");
tty->print_cr("always has an implicit trailing wildcard. Therefore,");
tty->cr();
tty->print_cr(" package/Class.method(Lpackage/Parameter;)Lpackage/Return;");
tty->cr();
tty->print_cr("matches a subset of");
tty->cr();
tty->print_cr(" package/Class.method(Lpackage/Parameter;)");
tty->cr();
tty->print_cr("which matches a subset of");
tty->cr();
tty->print_cr(" package/Class.method");
tty->cr();
tty->print_cr("which matches all possible descriptors.");
tty->cr();
tty->print_cr("It is possible to use more than one CompileCommand on the command line:");
tty->print_cr(" -XX:CompileCommand=exclude,java/*.* -XX:CompileCommand=log,java*.*");