Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8143453 | emb-9 | Pavel Punegov | P3 | Resolved | Fixed | team |
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
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
- backported by
-
JDK-8143453 JEP-JDK-8046155: Test task: cover existing
-
- Resolved
-
- blocks
-
JDK-8046155 JEP 165: Compiler Control
-
- Closed
-
- duplicates
-
JDK-8066151 JEP-JDK-8046155: Test task: test framework development
-
- Closed
-