The value of annotations in native code from the JIT compiler

I am interested in learning more information in the assembly code obtained using the -XX command line: + PrintOptoAssembly (JIT compiler output) using the fast_debug OpenJDK assembly version 6-src-b23-05_jul_2011 on i686 GNU / Linux.

Inside the build code, there are some “annotations” after the label of each block:

02c   B2:  #    B14 B3 <- B1 B13  Freq: 1
...
063   B11: #    B15 B12 <- B4 B3  Freq: 9.53674e-07

My first assumption is that it B14 B3 <- B1 B13represents some information of the control flow and Freq: 1some information about the frequency that this mark is reached. Are these annotations branching hints (on platforms that support them)? Are they documented (publicly)?

Also, what's the point P=..., C=...and ,s?

02a     Je,s  B13  P=0.000000 C=6700.000000

Please let me know if you need some sample code.

+3
source share

All Articles