ant test-compiler now runs 100% successfully. This means that all our
regression tests pass with the JIT enabled and threshold set to zero
(i.e. if a method can be compiled, compile it the first time before
running it).
This is a major boost toward having the JIT enabled and well supported.
Of course, there's a trade-off.
In order to make the JIT really safe, I had to back down a few
optimizations that were not compatible with the rest of the interpreter.
Basically, this means that JITted code is using the same framing and
scoping logic that interpreted code is. This impacted compiled code
performance by perhaps 30-40%. For things like fib and method
invocation, however, we're still comfortably faster than MRI.
This opens up the possibility of having the JIT truly supported for 1.0.
Even further, it opens up the possibility of having the JIT enabled by
default. The only thing holding that back is questions about
classloading that haven't been explored yet.
But this is a very good thing. I would now recommend that people start
actively playing with the JIT by setting JAVA_OPTS=-Djruby.jit.enabled=true.
Have fun!
- Charlie
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email