CompileCommand help text
Nils Eliasson
nils.eliasson at oracle.com
Tue Nov 25 09:34:42 UTC 2014
Hi,
I am updating the help text for CompileCommand and would appreciate some
feedback.
Regards,
Nils Eliasson
Use a monospacced font.
"
CompileCommand allows some control over the compiler. The basic
form of all commands is a command followed by the name of the method.
The compile commands are:
break,<pattern> - add break in compiler and in C2 generated code
print,<pattern> - print assembly for method
exclude,<pattern> - don't compile or inline this method
inline,<pattern> - force inline this method
dontinline,<pattern> - prevent inlining of this method
compileonly,<pattern> - exclude all methods except this one
log,<pattern> - log this compilation
option,<pattern>,<option type>,<option name>,<value>
- set value of custom option
option,<pattern>,<bool option name>
- short hand for setting boolean option
quiet - silence the compile command output
help - print this text
The preferred pattern for referencing a method is:
"package/Class.method()"
For backwards compatibility this form is also allowed:
"package.Class::method()"
The signature can be separated by an optional whitespace or comma:
"package/Class.method ()"
"package.Class::method ()"
"package/Class,method,()"
The class identifier and method can can be used together with leading or
trailing *'s for a small amount of wildcarding.
"*ackage/Clas*.*etho*()"
Several CompileCommands can be used on the same command line.
-XX:CompileCommand=exclude,"java/*.*" -XX:CompileCommand=log,"java*.*"
The CompileCommands can also be loaded from a file with the flag
-XX:CompileCommandFile=<file>. Use the same format but without the
commandline flag.
exclude,"java/*.*"
log,"java*.*"
Some commands have conflicting behavior. Currently they have a
undefined behavior when used together.
"
More information about the hotspot-compiler-dev
mailing list