JDK-8066153 : JEP-JDK-8046155: Test task: cover existing
  • Type: Task
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-11-28
  • Updated: 2015-11-20
  • Resolved: 2015-10-20
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 9
9 b92Fixed
Related Reports
Blocks :  
Duplicate :  
Description
Develop test to cover existing functionality of Compiler Control.

Documentation of the feature:
 http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BABDDFII

VM help change:
 - Help text update thread: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2014-November/016357.html
 - webrev: http://cr.openjdk.java.net/~neliasso/8027829/webrev.07/

Test should check:
 1. / , . :: usage. Valid/invalid method names
 2. * in the beginning and the end (valid), and in the middle (invalid)
 3. Full signature of the method
 4. \n separator and multiple commands
 5. Note that after parsing the commands passed on the command line using the -XX:CompileCommand options, the JIT compiler then reads commands from the .hotspot_compiler file.
 6. commands tests:
  break - TODO: check that VM is in a debug breakpoint in the start of the compilation
  compileonly - check that only specified method is compiled, and all others don't. Use WB for that
  dontinline - check that specified methods wasn't inlined. Parse -XX:+PrintInlining
  exclude - check all compiled except excluded methods
  inline - it says "Attempt to inline the specified method". Check that with -XX:-Inlining it doesn't inline methods. Parse -XX:+PrintInlining
  log - exclude logging for a set of methods, parse compilation log
  option - check that the passed option was printed by CompilerOracle.
  print - check that assembler code is printed for method that should be compiled, and doesn't for excluded
  quiet - simple check output for CompilerOracle messages.

   Test cases: [ command x \n x signature x '*'-patterns x /.,:: ]

 Existing tests: test/compiler/oracle/CheckCompileCommandOption.java -- checks that option command correctly parses arguments

-XX:CompileCommandFile=
 The same test cases as for CompileComand but written to the .hotspot_compiler file

-XX:CompileOnly=methods
 The same set with no wildcarding, check they are the only who compiled
Comments
RFR: https://java.se.oracle.com/code/cru/CR-JDK9DEV-856
10-07-2015