The first three of these should be self-explanatory. The blocking flag will never be printed by
default in current versions of Java; it indicates that compilation did not occur in the back-
ground (see Compilation Threads for more details about that). Finally, the native attribute in-
dicates that the JVM generated some compiled code to facilitate the call into a native meth-
If the program is not running with tiered compilation, the next field ( tiered_level ) will be
blank. Otherwise, it will be a number indicating which tier has completed compilation (see
Next comes the name of the method being compiled (or the method containing the loop be-
ing compiled for OSR), which is printed as ClassName::method .
Next is the size (in bytes) of the code being compiled. This is the size of the Java bytecodes,
not the size of the compiled code (so, unfortunately, this can't be used to predict how large to
size the code cache).
Finally, in some cases there will be a message at the end of the compilation line that indicates
that some sort of deoptimization has occurred; these are typically the phrases “made not
entrant” or “made zombie.” See Deoptimization for more details.