+PrintInlining falsly? says: never executed

Ulf Zibis Ulf.Zibis at gmx.de
Mon Nov 30 15:48:59 PST 2009


Tom, thanks for looking at this.

Am 30.11.2009 19:17, Tom Rodriguez schrieb:
> On Nov 26, 2009, at 8:29 AM, Ulf Zibis wrote:
>
>   
>> Having:
>> VM option 'MaxInlineSize=250'
>> VM option '+PrintCompilation'
>> VM option '+PrintInlining'
>>
>> I get:
>>     @ 180   sun.nio.cs.ext.EUC_TW_C_d_b_codeToBuffer4$Decoder::decode  never executed
>> and
>> static sun/nio/cs/ext/EUC_TW_C_d_b_codeToBuffer4$Decoder.decode(BBI[C[II)Ljava/nio/charset/CoderResult;
>> interpreter_invocation_count:    10001
>> invocation_counter:               5001
>> backedge_counter:                    1
>>     
>
> Where did this output come from?  Was it printed at the time it was being checked for inlining?

I comes from -XX:PrintAssemblyOptions. Yes, it was printed at same time.

The complete set of options was:
-XX:MaxInlineSize=250 \
-XX:+PrintCompilation \
-XX:+PrintInlining \
-XX:+UnlockDiagnosticVMOptions -Xbatch \
-XX:PrintAssemblyOptions=hsdis-print-bytes \
-XX:CompileCommand=print,sun.nio.cs.ext.EUC_TW_C_d_b_codeToBuffer4$Decoder::decodeArrayLoop 
\
-XX:CompileCommand=print,sun.nio.cs.ext.EUC_TW_C_d_b_codeToBuffer4$Decoder::decode

BTW: what is the difference to -XX:FreqInlineSize=250 ? I didn't get any 
effect.


>   The "never executed" logic is in src/share/vm/opto/bytecodeInfo.cpp and it's simply checking that the invocation counter is non-zero.  Are you saying that it's actually non-zero but we see it as zero?
>
>   
>> Why PrintInlining says: "never executed" ?
>>
>>
>>
>> Having only:
>> VM option '+PrintInlining'
>>
>> I get:
>>     @ 181   sun.nio.cs.ext.EUC_TW_C_d_b_codeToBuffer4$Decoder::decode  too big
>>     
>
> method size: below is the size of the method object.  code size: is the size of the bytecodes.
>   

Thanks, yes, I know. That's why I set MaxInlineSize above 189.

-Ulf

> tom
>
>   
>> For the method size refer:
>> {method}
>> - klass: {other class}
>> - method holder:     'sun/nio/cs/ext/EUC_TW_C_d_b_codeToBuffer4$Decoder'
>> - constants:         0x085562d4{constant pool}
>>
>> - access:            0x81000000 - name:              'decode'
>> - signature:         '(BBI[C[II)Ljava/nio/charset/CoderResult;'
>> - max stack:         6
>> - max locals:        9
>> - size of params:    7
>> - method size:       20
>> - vtable index:      17
>> - i2i entry:         0x00acb6a0
>>
>> - adapter:           0x03d431f0
>> - compiled entry     0x00b91070
>> - code size:         189
>> - code start:        0x1425d730
>> - code end (excl):   0x1425d7ed
>> - method data:       0x142c5e08
>> - checked ex length: 0
>> - linenumber start:  0x1425d7ed
>> - localvar length:   9
>> - localvar start:    0x1425d802
>>
>>
>> -Ulf
>>
>>
>>     
>
>
>   



More information about the hotspot-compiler-dev mailing list