CompileCommand help text

Albert Noll albert.noll at
Tue Nov 25 10:03:40 UTC 2014

Hi Nils,

here are my suggestions:

On 11/25/2014 10:34 AM, Nils Eliasson wrote:
> 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 CompileCommand option enables the user of the JVM to control 
specific behavior of the dynamic compilers.
The CompileCommand option defines the following commands:
> The compile commands are:
>   break,<pattern>       - add break in compiler and in C2 generated code
What does that mean?
> print,<pattern>       - print assembly for method
use 'of' instead of 'for'
> exclude,<pattern>     - don't compile or inline this method
>   inline,<pattern>      - force inline this method
- "always inline this method"
> dontinline,<pattern>  - prevent inlining of this method
-"don't inline this method"
> compileonly,<pattern> - exclude all methods except this one
-"compile only this method"
> log,<pattern>         - log this compilation
Does that mean log the compilation of this method?
> 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.
"It is possible to use more than one CompileCommand."
> -XX:CompileCommand=exclude,"java/*.*" -XX:CompileCommand=log,"java*.*"
> The CompileCommands can also be loaded from a file with the flag
I think you can skip 'also'
> -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.
> "
It would be good to know which commands conflict. E.g., how do I know 
that 'dontinline' and 'log' do not conflict?


More information about the hotspot-compiler-dev mailing list