JDK-8263032 : Release Note: Improved CompileCommand Flag
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 16
  • Priority: P4
  • Status: Closed
  • Resolution: Delivered
  • Submitted: 2021-03-04
  • Updated: 2021-12-10
  • Resolved: 2021-12-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 16
16Resolved
Description
The CompileCommand flag has an option type that has been used for a collection of sub commands. These commands weren't verified for validity so spelling mistakes lead to the command being ignored. They had the form:
```
-XX:CompileCommand=option,<method pattern>,<option name>,<value type>,<value>
```

All option commands now exist as ordinary commands with this form:
```
-XX:CompileCommand=<option name>,<method pattern>,<value>
```

The option name is verified and the type is inferred. Helpful error messages are given if the command name doesn't exist, or if the value doesn't match the type of the command. All command names are case insensitive.

The old syntax for option commands can still be used. Verification that the option name, value type, and value is consistent has been added. 

All available options can be listed with:

```
-XX:CompileCommand=help 
```
Comments
Text looks fine to me now.
09-03-2021

I think the text in the bug description is more informative and clear than this abstract description which is hard to understand without examples. You should also consider fixing `java` man page (as separate subtask): https://github.com/openjdk/jdk/blob/master/src/java.base/share/man/java.1#L2112
08-03-2021