public
Description: Rubinius, the Ruby VM
Homepage: http://rubini.us
Clone URL: git://github.com/evanphx/rubinius.git
evanphx (author)
Wed May 21 17:23:04 -0700 2008
commit  006344a256c29c5cd350938de96e1954439b213c
tree    ab7150e325b2fe439cb50d35c4f1729dc298c971
parent  f7c468db337b387c29d285fb486f7df3329d7a1e
rubinius / vm
name age message
..
file .gitignore Loading commit data...
file README
file Rakefile
file ar.cpp
file ar.hpp
file builtin.hpp
file builtin_array.cpp
file builtin_array.hpp
file builtin_bignum.cpp
file builtin_bignum.hpp
file builtin_block_environment.hpp
file builtin_bytearray.cpp
file builtin_bytearray.hpp
file builtin_channel.cpp
file builtin_channel.hpp
file builtin_class.cpp
file builtin_class.hpp
file builtin_compiledmethod.cpp
file builtin_compiledmethod.hpp
file builtin_contexts.cpp
file builtin_contexts.hpp
file builtin_exception.cpp
file builtin_exception.hpp
file builtin_executable.cpp
file builtin_executable.hpp
file builtin_fixnum.hpp
file builtin_float.cpp
file builtin_float.hpp
file builtin_hash.cpp
file builtin_hash.hpp
file builtin_immediates.cpp
file builtin_immediates.hpp
file builtin_io.cpp
file builtin_io.hpp
file builtin_iseq.cpp
file builtin_iseq.hpp
file builtin_list.cpp
file builtin_list.hpp
file builtin_lookuptable.cpp
file builtin_lookuptable.hpp
file builtin_memorypointer.cpp
file builtin_memorypointer.hpp
file builtin_methodtable.hpp
file builtin_nativefunction.hpp
file builtin_object.cpp
file builtin_regexp.cpp
file builtin_regexp.hpp
file builtin_selector.cpp
file builtin_selector.hpp
file builtin_sendsite.cpp
file builtin_sendsite.hpp
file builtin_staticscope.cpp
file builtin_staticscope.hpp
file builtin_string.cpp
file builtin_string.hpp
file builtin_symbol.cpp
file builtin_symbol.hpp
file builtin_task.cpp
file builtin_task.hpp
file builtin_thread.cpp
file builtin_thread.hpp
file builtin_tuple.cpp
file builtin_tuple.hpp
file compiled_file.cpp
file compiled_file.hpp
directory doc/
directory drivers/
file environment.cpp
file environment.hpp
file event.cpp
file event.hpp
directory external_libs/
file ffi.cpp
file ffi.hpp
file field_extract.rb
file gc.cpp
file gc.hpp
file gc_baker.cpp
file gc_baker.hpp
file gc_debug.cpp
file gc_debug.hpp
file gc_marksweep.cpp
file gc_marksweep.hpp
file gc_root.cpp
file gc_root.hpp
file generate_types.rb
file global_cache.hpp
file globals.hpp
file instructions.rb
file marshal.cpp
file marshal.hpp
file message.cpp
file message.hpp
file object.hpp
file objectmemory.cpp
file objectmemory.hpp
file objects.cpp
file objects.hpp
file prelude.hpp
file primitives.cpp
file primitives.hpp
file probes.cpp
file probes.hpp
file resolver.hpp
file strlcat.c Wed Mar 11 15:24:01 -0700 2009 Move strl* to util [evanphx]
file strlcat.h
file strlcpy.c
file strlcpy.h Tue Dec 04 04:22:56 -0800 2007 Use the same naming scheme for include guards e... [Tilman Sauerbeck]
directory test/
file type_info.cpp
file type_info.hpp
file virtual.cpp
file virtual.hpp
file vm.cpp
file vm.hpp
file vmexecutable.hpp
file vmmethod.cpp
file vmmethod.hpp
vm/README
VM: a C++ VM for running ruby code
(Could probably use a better name than VM)

TASKS in test/:

make test:
  Runs all tests defined by test_*.hpp

make coverage:
  Generates a code coverage report, coverage/index.html, by running
  the tests.

NOTES:

*) classes defined in objects.hpp and 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.