JSR 292 x86 C1 support

Rémi Forax forax at univ-mlv.fr
Thu Jan 28 03:15:02 PST 2010


Le 28/01/2010 11:34, Christian Thalinger a écrit :
> On Wed, 2010-01-27 at 17:59 +0100, Rémi Forax wrote:
>    
>> Nice, it works well on some my small test suites (MethodHandle and indy).
>>      
> Thanks for testing.
>
>    
>> About perf, dynamic calls are a little less efficient than their static
>> couterparts,
>> it seems that neither c1 nor c2 inline a method handle call or an
>> invokedynamic.
>> Should I have set these inline flags that are now in product VM ?
>>      
> It's correct that C1 does not do inlining for MH call sites, but C2
> should.  Could you try to run with -XX:+PrintCompilation -XX:
> +PrintInlining to see why the methods are not inlined?
>    

With the test in attachment
java -server -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic Test2
(-server is jdk7b80 hs17)

Clearly the method handle aren't inlined,
PrintInlining give me some cryptic values (encoding problem I think),
I've also testes with LogCompilation, I get:

<bc code='182' bci='44'/>
<type id='572' name='int'/>
<method id='938' holder='691' name='invoke' return='572' arguments='572' 
flags='4369' bytes='0' iicount='1'/>
<call method='938' count='11264' prof_factor='1' inline='1'/>
<inline_depth_discount caller='905' callee='938'/>
<direct_call bci='44'/>
<uncommon_trap bci='44' reason='null_check' action='maybe_recompile'/>

(and from javap)
44: invokevirtual #21                 // Method 
java/dyn/MethodHandle.invoke:(I)I

The whole log is is attachment, with the test.

> -- Christian
>    

Rémi
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Test2.java
Url: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20100128/5eb4dd01/attachment-0001.ksh 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hotspot.log
Type: text/xml
Size: 37171 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20100128/5eb4dd01/attachment-0001.xml 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: log-inlining.txt
Url: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20100128/5eb4dd01/attachment-0001.txt 


More information about the mlvm-dev mailing list