RFR: 8284849: Add deoptimization to unified logging

Johan Sjölén duke at openjdk.java.net
Fri May 27 12:20:44 UTC 2022


On Fri, 20 May 2022 14:12:30 GMT, Johan Sjölén <duke at openjdk.java.net> wrote:

> This PR adds a new "deoptimization" tag and a new log message on the info level mimicking JFR's deoptimization event. In the future this tag will be used to add trace level information, hopefully replacing TraceDeoptimization. JFR's event also captures the stacktrace, which this does not (happy to add this if considered important).
> 
> An example output looks like this: 
> 
> 
> [1.346s][info][deoptimization] Deoptimization start {
> [1.346s][info][deoptimization]   compileId = 407
> [1.346s][info][deoptimization]   compiler = c2
> [1.346s][info][deoptimization]   method:lineno:bci = java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(I)Z:176:26
> [1.346s][info][deoptimization]   instruction = ifne
> [1.346s][info][deoptimization]   reason = unstable_if
> [1.346s][info][deoptimization]   action = reinterpret
> [1.346s][info][deoptimization] } Deoptimization end

I changed the log to one line and moved out all repeatedly used values into variables. I limited all of these to a scope to not pollute the function scope unnecessarily. I use `comp_level` directly instead of translating into a string (didn't find a function for it), are levels as ints sufficient?

-------------

PR: https://git.openjdk.java.net/jdk/pull/8812


More information about the hotspot-dev mailing list