Many questions! On Tue, Oct 1, 2013 at 3:41 PM, Jon Zeppieri <zeppi...@gmail.com> wrote: > - Are NotCompilableExceptions caught somewhere, allowing the > interpreter to carry on? (I did a simple grep for this, but didn't > find it.) Or was that code path not taken, at all?
NotCompileableException is caught by the JIT and used to leave a given method in the interpreter. They can be logged with -Xjit.logging.verbose=true (and -Xjit.logging=true will log successes). If you do not see the method fail to JIT, then the code path in question was probably not taken. I will say that the compiler size of keyword args is a little hacky right now and probably well behind the interpreter. 2.0 has not been a priority for us during the 1.7.x cycle. > - Does AOT compilation not go through that code path that would throw > the NotCompilableException? AOT compilation should follow the same paths as JIT but fail hard when NotCompilableException is thrown. > - What is the state of the IR? My brief look suggests that currently > the production compiler translates directly from the AST but that > there is a separate, newer compiler pipeline that goes through the IR, > and that pipeline can be turned on with a command-line switch but > which is off by default. The IR is produced by a compiler from the current AST. We have a fully functional interpreter (unsure about 2.0 features) and a very partial JIT from IR to JVM bytecode. The current plan is that the IR will form the basis of JRuby 9000's runtime. - Charlie --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email