[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-mlvm-dev
Subject:    Performance problem with invoke dynamic
From:       ola.bini () gmail ! com (Ola Bini)
Date:       2011-07-28 17:29:55
Message-ID: 4E319C93.3010306 () gmail ! com
[Download RAW message or body]

On 2011-07-28 10.11, Christian Thalinger wrote:
> 
> On Jul 28, 2011, at 6:10 PM, Ola Bini wrote:
> 
>>> The bad performance sounds like something is not inlined at all.
>>> How are you invoking valueMH?  Via invokedynamic or a direct MH
>>> call?
>> 
>> valueMH is combined with an exactInvoker and then chained together
>> with another method handle that calls a method on the result of it
>> that returns another methodhandle that is set as the target for the
>> call site.
> 
> Hard to follow :-)
> 
>> 
>> Exactly the same thing that was done in the emitted bytecode,
>> actually.
> 
> Do you have a test case to run?
> 

Yes, it's a specific benchmark run (bench/bench_read_lexical.sp). The
current master of Seph (12e906d6cac94608a1da565fe748f87421210c97) has
the method handle implementation. The
c92f2246c09cef9eb9018128e19bfa25593afd2f checkin is the last with the
bytecode based version.

Cheers
-- 
 Ola Bini (http://olabini.com)
  Ioke - JRuby - ThoughtWorks

 "Yields falsehood when quined" yields falsehood when quined.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic