Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Rubinius helping Ruby swallow Java, one bytecode at a time.
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


The JVM is a stack-based bytecode interpreter with profile-driven JIT
compilation. So is Rubinius.

I like the following analogy: a funnel makes it easy to pour in one
direction. Pouring Ruby semantics into the JVM is like using a funnel
backwards. Let's turn this funnel right-side up and pour Java bytecode
into Rubinius.

The basic idea is to read in Java class files, translate the bytecode
and create Rubinius execution contexts, and run.

Anyway, don't expect any Enterprise (tm) level shit, I'm just playing
around at the moment. Cool?


Try it

    $ echo 'public class Hello {}' >
    $ javac
    $ bin/charm javap Hello

Something went wrong with that request. Please try again.