Thanks for your help, Charles. It seems that when I run the interpreter, RUBY_VERSION is set to 2.0, based on my .jrubyrc (which has "compat.version=2.0"), but when I run the compiler, it's set to 1.9.3. So, I suppose that setting isn't being used by the compiler -- at least, not when run with the jrubyc script. I'm not sure where compiler configuration takes place.
-Jon On Tue, Oct 1, 2013 at 5:20 PM, Charles Oliver Nutter <head...@headius.com> wrote: > 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 > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email