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


Reply via email to