On Thu, 2010-01-28 at 12:15 +0100, Rémi Forax wrote: > 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.
Sorry, I didn't see the attachment with the previous email. I'll look into it. -- Christian _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev