For anyone who's interested in this kind of stuff, I just uploaded my
pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
useful for seeing how things work or debugging generated classes that
won't verify. It can do some reasonable class-dumps and execution
traces, too. It's probably about 70% complete, with most instructions
implemented, and currently has some integration with the GNU Classpath
runtime library.
For anyone who's interested in this kind of stuff, I just uploaded my
pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
useful for seeing how things work or debugging generated classes that
won't verify. It can do some reasonable class-dumps and execution
traces, too. It's probably about 70% complete, with most instructions
implemented, and currently has some integration with the GNU Classpath
runtime library.
Okay, I'm boggled. This is really cool (even it it's just a toy).
···
On 10/9/06, Ross Bamford <rossrt@roscopeco.co.uk> wrote:
That is very very cool. I'll definetely be playing with this.
···
On 10/9/06, Ross Bamford <rossrt@roscopeco.co.uk> wrote:
Hi,
For anyone who's interested in this kind of stuff, I just uploaded my
pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
useful for seeing how things work or debugging generated classes that
won't verify. It can do some reasonable class-dumps and execution
traces, too. It's probably about 70% complete, with most instructions
implemented, and currently has some integration with the GNU Classpath
runtime library.
On 10/9/06, Ross Bamford <rossrt@roscopeco.co.uk> wrote:
For anyone who's interested in this kind of stuff, I just uploaded my
pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
useful for seeing how things work or debugging generated classes that
won't verify. It can do some reasonable class-dumps and execution
traces, too. It's probably about 70% complete, with most instructions
implemented, and currently has some integration with the GNU Classpath
runtime library.
For anyone who's interested in this kind of stuff, I just uploaded my
pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
useful for seeing how things work or debugging generated classes that
won't verify. It can do some reasonable class-dumps and execution
traces, too. It's probably about 70% complete, with most instructions
implemented, and currently has some integration with the GNU Classpath
runtime library.
For anyone who's interested in this kind of stuff, I just uploaded my
pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
useful for seeing how things work or debugging generated classes that
won't verify. It can do some reasonable class-dumps and execution
traces, too. It's probably about 70% complete, with most instructions
implemented, and currently has some integration with the GNU Classpath
runtime library.
Seriously though, this might have real applications in JRuby. Existing libraries for examining bytecodes are far from friendly, and having a nice API to examine classes and code could be useful. We're planning on writing the next iteration of the Ruby-bytecode compiler in Ruby, and having a library like this to examine the results will make that easier.
···
--
Charles Oliver Nutter, JRuby Core Developer
headius@headius.com -- charles.o.nutter@sun.com
Blogging at headius.blogspot.com
For anyone who's interested in this kind of stuff, I just uploaded my
pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
useful for seeing how things work or debugging generated classes that
won't verify. It can do some reasonable class-dumps and execution
traces, too. It's probably about 70% complete, with most instructions
implemented, and currently has some integration with the GNU Classpath
runtime library.
Can it run JRuby?
Why stop there? Can JRuby run Ruva?
···
--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407
What aboute the reverse -- load Ruva inside of JRuby -- or better (worse?)
still, JRuby inside of Ruva inside of JRuby -- now there's an incestuous
cycle. The image of two snakes eating each others' tail comes to mind.
/Nick
···
On 10/9/06, Christian Neukirchen <chneukirchen@gmail.com> wrote:
Ross Bamford <rossrt@roscopeco.co.uk> writes:
> Hi,
>
> For anyone who's interested in this kind of stuff, I just uploaded my
> pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
> useful for seeing how things work or debugging generated classes that
> won't verify. It can do some reasonable class-dumps and execution
> traces, too. It's probably about 70% complete, with most instructions
> implemented, and currently has some integration with the GNU Classpath
> runtime library.
On 10/9/06, Ross Bamford <rossrt@roscopeco.co.uk> wrote:
For anyone who's interested in this kind of stuff, I just uploaded my
pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
useful for seeing how things work or debugging generated classes that
won't verify. It can do some reasonable class-dumps and execution
traces, too. It's probably about 70% complete, with most instructions
implemented, and currently has some integration with the GNU Classpath
runtime library.
So ... anyone up for JRuby on Ruva?
-austin
As long as it compiles extensions on Windows, sure.
Yeah, that kind of thing was the reason I started on Ruva last year.
Doing a lot of stuff with generated classes, and the JVM's preverifier
errors are, shall we say "unhelpful", to say the least ...
Anyway, I'll be glad (plus a bit surprised) if anything in there's of
use...
···
On Tue, 2006-10-10 at 07:21 +0900, Charles Oliver Nutter wrote:
Seriously though, this might have real applications in JRuby. Existing
libraries for examining bytecodes are far from friendly, and having a
nice API to examine classes and code could be useful. We're planning on
writing the next iteration of the Ruby-bytecode compiler in Ruby, and
having a library like this to examine the results will make that easier.
The unresolved class returned by Reader.file is visitable too - there's
a bit of a basic TraceClassVisitor in ruva/utils/class_visitor.rb but it
gives too much output most of the time...
If you're after the code, it's easier to get the class resolved or
you'll have to find the code attributes yourself, so try something like:
Also, have a look at the bottom of class_loader.rb and a few others,
there are small test programs there sometimes...
Hope that helps,
···
On Tue, 2006-10-10 at 23:09 +0900, Charles Oliver Nutter wrote:
Ross Bamford wrote:
> For anyone who's interested in this kind of stuff, I just uploaded my
> pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
I tried to play with it a bit but I don't have Classpath installed. Is
there a way to read in classes for inspection without Classpath?
Christian Neukirchen wrote:
> Ross Bamford <rossrt@roscopeco.co.uk> writes:
>
>> Hi,
>>
>> For anyone who's interested in this kind of stuff, I just uploaded my
>> pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
>> useful for seeing how things work or debugging generated classes that
>> won't verify. It can do some reasonable class-dumps and execution
>> traces, too. It's probably about 70% complete, with most instructions
>> implemented, and currently has some integration with the GNU Classpath
>> runtime library.
>
> Can it run JRuby?
Why stop there? Can JRuby run Ruva?
and why stop there ... how much work will it take to get JRuby on
Ruva on MetaRuby on Cardinal? I want to be able to read the
line of code currently being interpreted ;^)
···
On 10/9/06, Joel VanderWerf <vjoel@path.berkeley.edu> wrote:
--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407
>
> Ross Bamford <rossrt@roscopeco.co.uk> writes:
>
> > Hi,
> >
> > For anyone who's interested in this kind of stuff, I just uploaded my
> > pure-ruby toy JVM to Rubyforge. It's obviously very slow, but can be
> > useful for seeing how things work or debugging generated classes that
> > won't verify. It can do some reasonable class-dumps and execution
> > traces, too. It's probably about 70% complete, with most instructions
> > implemented, and currently has some integration with the GNU Classpath
> > runtime library.
>
> Can it run JRuby?
What aboute the reverse -- load Ruva inside of JRuby -- or better (worse?)
still, JRuby inside of Ruva inside of JRuby -- now there's an incestuous
cycle. The image of two snakes eating each others' tail comes to mind.
This is *not* the Python Mailing List.
Robert
/Nick
···
On 10/9/06, Nick Sieger <nicksieger@gmail.com> wrote:
On 10/9/06, Christian Neukirchen <chneukirchen@gmail.com> wrote:
On Tue, 2006-10-10 at 05:51 +0900, Nick Sieger wrote:
On 10/9/06, Christian Neukirchen <chneukirchen@gmail.com> wrote:
> Can it run JRuby?
What aboute the reverse -- load Ruva inside of JRuby -- or better (worse?)
still, JRuby inside of Ruva inside of JRuby -- now there's an incestuous
cycle. The image of two snakes eating each others' tail comes to mind.