Re: JRuby/Seph/PHP.reboot/... SwitchPoint usage

2011-08-10 Thread Christian Thalinger
On Aug 8, 2011, at 8:21 PM, Christian Thalinger wrote: On Aug 8, 2011, at 6:39 PM, Charles Oliver Nutter wrote: On Mon, Aug 8, 2011 at 9:51 AM, Christian Thalinger christian.thalin...@oracle.com wrote: Since I have the basic push-notification of CallSites I'm now looking into

Re: JRuby/Seph/PHP.reboot/... SwitchPoint usage

2011-08-10 Thread Charles Oliver Nutter
On Wed, Aug 10, 2011 at 9:26 AM, Christian Thalinger christian.thalin...@oracle.com wrote: Here are the numbers for JDK 7 b147, 7071307+7071653, and 7071307+7071653+7071709: 7071307: MethodHandle bimorphic inlining should consider the frequency 7071653: JSR 292: call site change notification

Re: JRuby/Seph/PHP.reboot/... SwitchPoint usage

2011-08-10 Thread Charles Oliver Nutter
On Wed, Aug 10, 2011 at 11:21 AM, Charles Oliver Nutter head...@headius.com wrote: I guess my concern is that the original (long) version may or may not inline, but obviously doesn't degrade as badly. Why does the degraded performance of the long form suffer so much? Ruby is a very terse

Re: Performance problem with invoke dynamic

2011-08-10 Thread Christian Thalinger
On Jul 28, 2011, at 7:29 PM, Ola Bini wrote: 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

Re: JRuby/Seph/PHP.reboot/... SwitchPoint usage

2011-08-10 Thread Tom Rodriguez
I guess my concern is that the original (long) version may or may not inline, but obviously doesn't degrade as badly. Why does the degraded performance of the long form suffer so much? Ruby is a very terse language, often resulting in methods that represent a lot of code. I'm using

JRuby invokedynamic updates

2011-08-10 Thread Charles Oliver Nutter
Hello everyone! I have added a few new items to JRuby relating to invokedynamic. Let's dive in, shall we? 1. invokedynamic-based dispatch for literal binary operators with RHS a literal fixnum or float This is actually on by default because it didn't seem to hurt perf (much?) on JDK7, and it