How to inspect hotspot compiler results? hsdis binaries for Windows?
Ulf Zibis
Ulf.Zibis at gmx.de
Fri Nov 20 10:27:45 PST 2009
Am 20.11.2009 03:24, Vladimir Kozlov schrieb:
> Ulf Zibis wrote:
>> P.S.: Is there any documentation, how to read the special
>> key-letters/words, printed from CompileCommand?
>
> What do you mean? Please, give example.
I mean things like:
- Could not load hsdis-i386.dll; library not loadable; PrintAssembly
is disabled // PrintAssembly was not in option list
PrintAssembly request changed to PrintOptoAssembly
- char[int:>=0]:exact *
- #r051
- N559:
- # B1 <- BLOCK HEAD IS JUNK Freq: 1
- B1:
- B2: # B34 B3 <- B1 Freq: 1
- P=0.000000 C=1471261.000000
- precise klass sun/nio/cs/ext/EUC_TW_C_d_b_codeToBuffer4$Decoder:
0x03d4c448:Constant:exact *]
- Constant:exact *
- P=0.517169 C=1471261.000000
- wrapper for: uncommon_trap(reason='range_check'
action='make_not_entrant')
- sun.nio.cs.ext.EUC_TW_C_d_b_codeToBuffer4$Decoder::decode @ bci:58
- L[0]=_ L[1]=_ L[2]=_ L[3]=esp + #48 L[4]=esp + #36 L[5]=esp + #40
L[6]=esp + #44 L[7]=esp + #0 L[8]=_ STK[0]=EBP STK[1]=esp + #48
- OopMap{ebp=Oop [36]=Oop [40]=Oop off=492}
- INT3 ; ShouldNotReachHere
- Freq: 1.01327e-006 // what does such small value especially mean ?
- B36: # B28 <- B35 Freq: 1.75827e-006
# Block is sole successor of call
- TEST EBX,EBX
Je,s
- # Destroy frame
- JMP rethrow_stub
- Compiled (c2) 38 nmethod (2)
- PcDesc(pc=0xc18650 offset=210):
java.lang.String::charAt @31 reexecute=false
sun.nio.cs.ext.EUC_TW_C_d_b_codeToBuffer4$Decoder::decode @61
reexecute=false
- #0
OopMap{ebp=Oop [36]=Oop [40]=Oop off=492}
#1
OopMap{[36]=Oop [40]=Oop [4]=Oop off=528}
#2
OopMap{ebp=Oop [36]=Oop [40]=Oop off=572}
#3
OopMap{[40]=Oop off=584}
#4
OopMap{ebp=Oop [40]=Oop off=608}
#5
OopMap{off=628}
- interpreter_invocation_count: 8847362
invocation_counter: 9129
backedge_counter: 1
- 16 bci: 9 BranchData taken(0) displacement(48)
Items of extra special interest are marked red.
-Ulf
>
>>>> -Xcomp
>>>> What is this ? There is no docu on
>>>> jdk1.7.0/docs/technotes/tools/windows/java.html
>>>
>>> We use it for stress testing out JIT compiler when all called methods
>>> are immediately compiled without reaching threshold.
>>> Note: the program execution will be very slow and generated code
>>> for compiled methods could be very different from normal execution
>>> since no profiling information is collected for executed bytecode.
>>
>> Thanks.
>> Can this option be specified for single methods ?
>
> -Xcomp -XX:CompileOnly=class::method
>
> But it will not do any inlining since called methods should not be
> compiled.
Thanks.
How can I choose e.g. 3 methods at 1 time?
E.g. CompileCommand=print,java.lang.System::print
How to distinguish between methods of same name, but different signature ?
-Ulf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20091120/a8eb6afa/attachment.html
More information about the hotspot-dev
mailing list