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