I am still using the specialized math callsites because they inline well and an
Indy-based approach was still quite a bit slower last time I tried.
I am back to being worried about the inlining thresholds. With no MHs and
runtime profiled direct calls, I was able to get this all to inline. So
On 05/20/2011 11:08 PM, Tom Rodriguez wrote:
> Is it the inlining policy? I played a little with this and the current
> default policy is still not as good as the big tweaks to MaxInlineSize and
> InlineSmallCode.
>
> tom
I tend to agree,
things like isFixnumReopened and getCacheToken seem to b
Is it the inlining policy? I played a little with this and the current default
policy is still not as good as the big tweaks to MaxInlineSize and
InlineSmallCode.
tom
On May 20, 2011, at 1:21 PM, Charles Oliver Nutter wrote:
> Meh, false alarm. This is just the default empty Object[] assigned
Meh, false alarm. This is just the default empty Object[] assigned to
all objects. I still can't explain the perf degradation.
Here's the full assembly for fib_ruby: https://gist.github.com/983721
It seems like stuff is inlining, so I have no idea why performance is
so terrible.
- Charlie
On Fr
Another update...I managed to turn off the ricochet frames and have it
still work (???). The with-ricochet mode is faster, but still 2-3x
slower than no indy at all (using JRuby's IC), and 4-5x slower than
invokedynamic was recently...
HOWEVER...an assembly dump I just did contains some very odd c
On Thu, May 19, 2011 at 3:53 PM, John Rose wrote:
> Your sketch seems good, except that you cannot handle both the return value
> and the thrown exception in one place. (API limitation.) So if your post
> logic wants to see the return value, you have more work to do.
>
> Suggestion: Make the
On Thu, May 19, 2011 at 4:55 PM, John Rose wrote:
> The last MH.invoke in my sketch could also be the indy instruction, with the
> preceding stuff executed in the BSM.
>
> The basic idea is to package the wrapping logic in a target-independent form,
> and bind it (pre-packaged) to each call site
On Fri, May 20, 2011 at 1:07 AM, Ola Bini wrote:
>> Try -XX:+UnlockDiag* -XX:-UseRicochetFrames for differential testing.
>>
>> If you can find a microbenchmark which shows differential slowdown, we can
>> debug it.
>
> When trying the above all my tests fail with this:
> java.lang.RuntimeExcept
Le 19/05/2011 23:00, John Rose a écrit :
On May 19, 2011, at 11:11 AM, Charles Oliver Nutter wrote:
I've just landed a newer SwitchPoint-based constant caching mechanism.
https://github.com/jruby/jruby/commit/90be178c96053d201ea2a869bda7feddeedcfa10
Cool! That's one of the key use cases fo