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
[email protected]
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev