MethodHandles.constant not inlining?

Charles Oliver Nutter headius at headius.com
Thu Jun 9 12:07:25 PDT 2011


On Thu, Jun 9, 2011 at 12:50 PM, Christian Thalinger
<christian.thalinger at oracle.com> wrote:
> Sorry I'm a bit behind but is this still a problem or have you fixed it already?
>
> It looks like it works:
>
>                                      @ 24   java.lang.invoke.MethodHandle::invokeExact (32 bytes)   inline (hot)
>                                        @ 28   constant::method__0$RUBY$foo (7 bytes)   inline (hot)
>                                         \-> discounting inline depth
>                                        @ 1   java.lang.invoke.MethodHandle::invokeExact (9 bytes)   inline (hot)
>                                          @ 2   sun.invoke.util.ValueConversions::identity (2 bytes)   inline (hot)
>                                           \-> discounting inline depth

I need to do an updated run. It's certainly possible it got fixed in
the interim. I was not looking at the inlining graph (is this
PrintInlining or LogCompilation, btw? I've never seen this output
before with the nice "discounting inline depth"), I was looking at the
resulting assembly. There, it had at least one callq operation right
where I'd expect to see the inlined constant.

Does the assembly output for this region look ok to you?

- Charlie


More information about the mlvm-dev mailing list