From: Rocky Bernstein Date: 2010-12-14T21:10:55+09:00 Subject: [ruby-core:33716] Re: Towards a standardized AST for Ruby code --000e0cd17d284d05c004975da036 Content-Type: text/plain; charset=ISO-8859-1 On Tue, Dec 14, 2010 at 3:58 AM, Charles Oliver Nutter wrote: > On Sun, Dec 12, 2010 at 6:34 PM, Rocky Bernstein > wrote: > > On the other hand, I do believe that in the rubinius implementation it > is > > possible to have one interpreter/system which suits both competing needs > of > > performance and live introspection. I believe this because in a sense > > rubinius *is* already two implementations: a Ruby interpreter plus a JIT > for > > it. > > JRuby has also been a mixed-mode implementation since early 2008. > Depending on what information you want available for debugging, it's > possible to provide it in interpreted mode; but as we discussed at > RubyKaigi, all optimizing compilers will eventually want to throw away > information about code that isn't necessary for execution, and then > you have to do debugging only with the interpreter (or with a compiler > that doesn't do those optimizations, which may be fine). I don't think > you currently want/need anything we throw away, but we need to be > mindful of that possibility. > > - Charlie > Thanks for the information. Yes I suspect it does, but I need to check and get back to you. it's on my list of things to do. And thanks for your mindfulness. --000e0cd17d284d05c004975da036 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Tue, Dec 14, 2010 at 3:58 AM, Charles= Oliver Nutter <headius@headius.com> wrote:
On Sun, Dec 12, 2010 at 6:34 PM, Rocky Bernstein <rockyb@rubyforge.org> wrote:
> On =A0the other hand, I do believe that in the rubinius implementation= it is
> possible to have one interpreter/system which suits both competing nee= ds of
> performance and live introspection. I believe this because in a sense<= br> > rubinius *is* already two implementations: a Ruby interpreter plus a J= IT for
> it.

JRuby has also been a mixed-mode implementation since early 2008.
Depending on what information you want available for debugging, it's possible to provide it in interpreted mode; but as we discussed at
RubyKaigi, all optimizing compilers will eventually want to throw away
information about code that isn't necessary for execution, and then
you have to do debugging only with the interpreter (or with a compiler
that doesn't do those optimizations, which may be fine). I don't th= ink
you currently want/need anything we throw away, but we need to be
mindful of that possibility.

- Charlie

Thanks for the information. Y= es I suspect it does, but I need to check and get back to you. it's on = my list of things to do.=A0

And thanks for your mi= ndfulness. =A0

--000e0cd17d284d05c004975da036--