evanphx / rubinius

Rubinius, the Ruby VM

This URL has Read+Write access

huy (author)
Wed Sep 03 18:05:44 -0700 2008
rue (committer)
Fri Sep 05 15:07:45 -0700 2008
commit  7f133030663b22ebfbc28adb5bfd8bef8a418d23
tree    597a24bd596dea45e83cdc216d4de8ad3473b775
parent  9a1fca2b6b7f08a6fef72dd7c663a6518c83a25e
rubinius / vm
vm/README
 VM: a C++ VM for running ruby code
------------------------------------
(Could probably use a better name than VM)


 Prerequisites
---------------

* LLVM 2.3 or later, http://llvm.org


 Building
----------

You should be in the vm directory for all of these.

`rake build`


 Running
---------

For now, just run the tests.


 Tests and Specs
-----------------

* `rake test` builds and runs all of the tests in test/test_*
* `rake coverage` runs the tests as above and then generates
  a coverage report based on those in coverage/index.html.


 Notes
-------

* Classes defined in builtin/*.hpp are C++ classes mapped directly to ruby
  objects.

* Because of the previous point, NO virtual functions are allowed in these
  classes. C++ inserts a pointer into every object which has virtual functions
  and we must have complete control over the body of an object.

* Similarly, only use single inheritance. This keeps the order of data
  members consistent.