On Jun 5, 2011, at 7:23 AM, Charles Oliver Nutter wrote: > OH, and FWIW, here's the LogCompilation -i output roughly around where > I'd expect to see op_plus and op_lt inlining: > > @ 27 java.lang.invoke.MethodHandle::invokeExact (0 bytes) > @ 27 java.lang.invoke.MethodHandle::invokeExact (17 bytes) > @ 10 org.jruby.RubyFixnum::op_plus (38 bytes) > @ 45 java.lang.invoke.MethodHandle::invokeExact (0 bytes) > @ 45 java.lang.invoke.MethodHandle::invokeExact (17 bytes) > @ 10 org.jruby.RubyFixnum::op_lt (22 bytes) > > Is it lying, or what? And if it's actually inlining, where's the rest > of op_plus and op_lt, most of which is trivial tiny methods? And why > doesn't it show up as inlined in the assembly output?
It inlines fine with the latest HotSpot and JDK7 b145. I think we're good :-) @ 48 org.jruby.runtime.callsite.LtCallSite::call (67 bytes) inline (hot) @ 11 org.jruby.Ruby::isFixnumReopened (5 bytes) inline (hot) @ 24 org.jruby.RubyFixnum::op_lt (22 bytes) inline (hot) @ 1 org.jruby.runtime.ThreadContext::getRuntime (5 bytes) inline (hot) @ 18 org.jruby.RubyBoolean::newBoolean (16 bytes) inline (hot) @ 5 org.jruby.Ruby::getTrue (5 bytes) inline (hot) @ 12 org.jruby.Ruby::getFalse (5 bytes) inline (hot) @ 63 org.jruby.runtime.callsite.CachingCallSite::call (17 bytes) never executed @ 51 org.jruby.RubyBasicObject::isTrue (15 bytes) inline (hot) @ 17 java.lang.invoke.MethodHandle::invokeExact (9 bytes) inline (hot) @ 2 sun.invoke.util.ValueConversions::identity (2 bytes) inline (hot) \-> discounting inline depth @ 29 org.jruby.runtime.callsite.PlusCallSite::call (67 bytes) inline (hot) @ 11 org.jruby.Ruby::isFixnumReopened (5 bytes) inline (hot) @ 24 org.jruby.RubyFixnum::op_plus (38 bytes) inline (hot) @ 15 org.jruby.RubyFixnum::additionOverflowed (27 bytes) inline (hot) @ 24 org.jruby.RubyFixnum::addAsBignum (17 bytes) never executed @ 29 org.jruby.runtime.ThreadContext::getRuntime (5 bytes) inline (hot) @ 34 org.jruby.RubyFixnum::newFixnum (29 bytes) inline (hot) @ 1 org.jruby.RubyFixnum::isInCacheRange (22 bytes) inline (hot) @ 25 org.jruby.RubyFixnum::<init> (14 bytes) inline (hot) @ 2 org.jruby.Ruby::getFixnum (5 bytes) inline (hot) @ 5 org.jruby.RubyInteger::<init> (6 bytes) inline (hot) @ 2 org.jruby.RubyNumeric::<init> (6 bytes) inline (hot) @ 2 org.jruby.RubyObject::<init> (6 bytes) inline (hot) @ 2 org.jruby.RubyBasicObject::<init> (17 bytes) inline (hot) @ 1 java.lang.Object::<init> (1 bytes) inline (hot) _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev