Implements #614 #759

wants to merge 4 commits into


None yet

3 participants


This pull request implements jruby/jruby#614

I've performed the changes outlined in the issue description. Benchmarks show that the performance degradation is ~0.7%

influenza added some commits May 17, 2013
@influenza influenza Added JavaClassKindOf implementation 7008538
@influenza influenza Use RubyModule.JavaClassKindOf fixes jruby/jruby#614
I've changed all of the relevant cases of anonymous KindOf classes to
use the new JavaClassKindOf. This cuts down on some of the noise
produced by anonymous inner classes, especially given that these
replacement points all had identical implementations.
@influenza influenza Merge remote-tracking branch 'origin/master' into JRUBY-614 0c8e38d

We fixed CI. Could you rebase this PR off the current master? Thanks.


Hmm.. not building on the machine I've got currently.

[ERROR] /work/fun/jruby/maven/jruby-rake-plugin/src/main/java/org/jruby/maven/[11,22] package org.jruby.embed does not exist

I'll be back on my dev machine Monday. Also, this PR still needs some additional benchmark lovin' before it is accepted.

headius commented Jun 8, 2013

Removes 20 classes...very nice :-)

Let us know when you think it's ready to merge. 0.7% degradation of kind_of is not a concern.

headius commented Jun 10, 2013

Actually I went ahead and pulled this to run some numbers. My tests aren't exhaustive, but they show some interesting results:

Summary: On Java 6, success cases for kind_of? degrade slightly, but failure cases improve. On Java 7, success cases are the same or faster, and failure cases are considerably faster.

I'm going to run our test suites locally to ensure this is 100%, but otherwise I'll be merging it. If there's additional improvement possible, we can do it as separate PRs.

headius commented Jun 10, 2013

Merged in bcc2674.

@headius headius closed this Jun 10, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment