I’ve been researching the simplest way to get a JIT for gcj for a
while.
I investigated using either ORP or Kaffe. ORP looked possible,
since it was written to be VM-independent, but difficult due to
mismatches between its exception handling and gcc’s. Kaffe had a
similar problem, with licensing difficulty to boot.
Tonight I looked into Mono’s new “mini” JIT a bit. Aside from the
ugliness of the code, it seems pretty reasonable. It appears to
integrate well with Dwarf-style exception handling. I’d imagine we
could write a libgcj port of it in a couple weeks (of solid time, not
spare time).
I still suspect Andrew’s gcj-as-jit
idea will prove to be the winner. Still, it is worth exploring our
options.
I’ve also got a short document on the requirements for JIT
pluggability. I’ll post that to the Classpath list soon-ish.
Be the first to leave a comment. Don’t be shy.