Malformed CompileCommands are silently ignored in JTreg tests. This means we do not test what we think we test. We may be missing bugs this way.
The intent of this RFE is to go through all tests and fix malformed CompileCommands. To do that we could change the warning message of bad CompileCommands into an assert and run all tests with it. An assert will also prevent future CompileCommand mistakes.
An example of a wrong CompileCommand usage:
open/test/hotspot/jtreg/compiler/intrinsics/bigInteger/TestShift.java
When one runs it, you get:
Error: Option 'DisableIntrinsic' with type 'ccstrlist' doesn't match supplied type 'ccstr'
Line: 'option,compiler.intrinsics.bigInteger.TestShift::base_left_shift,ccstr,DisableIntrinsic,_bigIntegerLeftShiftWorker'
Usage: '-XX:CompileCommand=<option>,<method pattern>' - to set boolean option to true
Usage: '-XX:CompileCommand=<option>,<method pattern>,<value>'
Use: '-XX:CompileCommand=help' for more information and to list all option.
CompileCommand: An error occurred during parsing
Error: Option 'DisableIntrinsic' with type 'ccstrlist' doesn't match supplied type 'ccstr'
Line: 'option,compiler.intrinsics.bigInteger.TestShift::base_right_shift,ccstr,DisableIntrinsic,_bigIntegerRightShiftWorker'
Usage: '-XX:CompileCommand=<option>,<method pattern>' - to set boolean option to true
Usage: '-XX:CompileCommand=<option>,<method pattern>,<value>'
Use: '-XX:CompileCommand=help' for more information and to list all option.