Ruva: Pure-ruby toy (J)VM

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.

http://ruva.rubyforge.org/
http://rubyforge.org/projects/ruva
svn checkout svn://rubyforge.org/var/svn/ruva/trunk

Wow!

On 10/9/06, Ross B. [email protected] 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.

Okay, I’m boggled. This is really cool (even it it’s just a toy).

On 10/9/06, Ross B. [email protected] wrote:

http://ruva.rubyforge.org/
http://rubyforge.org/projects/ruva
svn checkout svn://rubyforge.org/var/svn/ruva/trunk


Ross B. - [email protected]

That is very very cool. I’ll definetely be playing with this.

On Tue, 10 Oct 2006, Austin Z. wrote:

So … anyone up for JRuby on Ruva?

You’re a sick man.

– Matt
It’s not what I know that counts.
It’s what I can remember in time to use.

On 10/9/06, Ross B. [email protected] 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

On Tue, 10 Oct 2006, Austin Z. wrote:

On 10/9/06, Matt L. [email protected] wrote:

On Tue, 10 Oct 2006, Austin Z. wrote:

So … anyone up for JRuby on Ruva?
You’re a sick man.

Thank you.

You are quite welcome. Hope to see you at RubyConf.

– Matt
It’s not what I know that counts.
It’s what I can remember in time to use.

On 10/9/06, Matt L. [email protected] wrote:

On Tue, 10 Oct 2006, Austin Z. wrote:

So … anyone up for JRuby on Ruva?
You’re a sick man.

Thank you.

-austin

On 10/9/06, Matt L. [email protected] wrote:

You are quite welcome. Hope to see you at RubyConf.

I’ll be there. Looking forward to it.

-austin

Ross B. [email protected] 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? :wink:

On 10/9/06, Christian N. [email protected] wrote:

implemented, and currently has some integration with the GNU Classpath
runtime library.

Can it run JRuby? :wink:

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

Christian N. wrote:

runtime library.

Can it run JRuby? :wink:

Why stop there? Can JRuby run Ruva?

Joel VanderWerf wrote:

Christian N. wrote:

runtime library.

Can it run JRuby? :wink:

Why stop there? Can JRuby run Ruva?

Can JRuby run Ruva running JRuby?

On 10/9/06, Joel VanderWerf [email protected] wrote:

implemented, and currently has some integration with the GNU Classpath
runtime library.

Can it run JRuby? :wink:

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, Nick S. [email protected] wrote:

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? :wink:

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, Robert D. [email protected] wrote:

This is not the Python Mailing List.
Robert

I thought of that horrible pun but wanted to see how long it would take
someone else to mention it instead ;-). Took about 5 minutes!

/Nick

On 10/9/06, Robert D. [email protected] wrote:

This is not the Python Mailing List.
Somehow the image of two rubies eating each other seems a bit bizarre,
even for this thread.

On 10/9/06, Simen E. [email protected] wrote:

incestuous

cycle. The image of two snakes eating each others’ tail comes to
mind.

This is not the Python Mailing List.

Somehow the image of two rubies eating each other seems a bit bizarre,
even for this thread.

I know when I am beaten, I love that kind of dry remarks, maybe DRY.
0:1

  • Simen


Deux choses sont infinies : l’univers et la bêtise humaine ; en ce qui
concerne l’univers, je n’en ai pas acquis la certitude absolue.

  • Albert Einstein

On 10/9/06, Nick S. [email protected] wrote:

On 10/9/06, Robert D. [email protected] wrote:

This is not the Python Mailing List.
Robert

I thought of that horrible pun but wanted to see how long it would take
someone else to mention it instead ;-). Took about 5 minutes!

Sorry I am weakening, but you will see when having my age !!!
Honestly my jokes might be horrible sometimes but this thread just got
hillarious anyway :)))

/Nick


Deux choses sont infinies : l’univers et la bêtise humaine ; en ce qui
concerne l’univers, je n’en ai pas acquis la certitude absolue.

  • Albert Einstein

Simen E. wrote:

cycle. The image of two snakes eating each others’ tail comes to mind.

Ah, but deep down inside it’s all C.

Ross B. wrote:

svn checkout svn://rubyforge.org/var/svn/ruva/trunk
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.