RFR(S): 8147018: Better reporting for compiler control tests.

Evgeny Nikitin evgeny.nikitin at oracle.com
Wed Apr 29 09:46:56 UTC 2020


Hi,

Bug: https://bugs.openjdk.java.net/browse/JDK-8147018
Webrev: http://cr.openjdk.java.net/~enikitin/8147018/webrev.00/

The patch enhances the compiler control tests reporting by adding 
compile commands and expected states reporting.

Sample output (in the .jtr file) for the compile commands reporting:

 > (CompileCommand COMPILEONLY Type: JCMD Compiler: null 
MethodDescriptor: 
_compiler/compilercontrol/share/pool/sub/Klass$Internal,*-  IsValid: 
true JCMDType: ADD)
 > (CompileCommand COMPILEONLY Type: JCMD Compiler: null 
MethodDescriptor: *Klass *met@%hod IsValid: true JCMDType: ADD
)
 > (CompileCommand COMPILEONLY Type: JCMD Compiler: null 
MethodDescriptor: +*::*  IsValid: true JCMDType: ADD)
 > (CompileCommand NONEXISTENT Type: JCMD Compiler: null 
MethodDescriptor: null IsValid: false JCMDType: REMOVE)

(ability to print removals also added by the change)

Sample output for expected compilation state reporting:

 > Checking expected compilation state: {
 >   method: public void 
compiler.compilercontrol.share.pool.sub.Klass.method()
 >   compile [Optional.empty, Optional.empty]
 >   force_inline [Optional.empty, Optional.empty]
 >   dont_inline [Optional.empty, Optional.empty]
 >   log Optional.empty
 >   print_assembly Optional.empty
 >   print_inline Optional.empty
 > }


Other input parameters are already printed by the child VM's start 
command and the child VM's output.

The change had been tested via mach5 test runs for the compiler control 
tests and tier1 run.

Please review,
/Evgeny Nikitin


More information about the hotspot-compiler-dev mailing list