Getting back into invokedynamic in JRuby
Christian Thalinger
Christian.Thalinger at Sun.COM
Tue Mar 16 08:24:10 PDT 2010
On Mon, 2010-03-15 at 20:37 -0600, Charles Oliver Nutter wrote:
> I'm trying to find the right way to phrase my question to make sure I
> get the right answer...
>
> 1. Do I need to use all direct method handles to get inlining from the
> caller to the callee?
> 2. If I have a Java method handle that does a MethodHandle.invoke call
> in its body, will that invoked handle get inlined all the way back for
> all callers?
> 3. Does the body of the method pointed at by a JavaMethodHandle get
> specialized for all call sites, so that it doesn't appear to be a
> single body of code with a megamorphic invocation of a separate
> handle?
>
> Am I making my question clear enough?
I don't think I can really answer these questions, someone else can
probably do better.
> Also, additional questions:
>
> 4. I still needed to bump up inlining budgets considerably to get
> anything to inline across the dynamic call. Will that always be the
> case, or is there still a plan to get dynamic call plumbing excluded
> from that budget?
We changed something about inlining depth, but you probably still have
to use InlineSmallCode to get all methods on the path inlined.
> 5. What can I do to investigate why current MLVM is, in all cases,
> slower than what we had last fall?
Look at the inline tree. Is the slowdown happening with a particular
benchmark or with all of them? We can have a look when you're online on
IRC again.
-- Christian
More information about the mlvm-dev
mailing list