Skip to content
This repository

Rubinius, the Ruby Environment

Don't scan C data structures during concurrent GC

This prevents walking C data structures concurrently, which might be in
the middle of free'ing data or other non thread safe operations.
latest commit 02320aeb8e
Dirkjan Bussink dbussink authored April 20, 2014
Octocat-spinner-32 .bundle Added .bundle/config. February 26, 2014
Octocat-spinner-32 bin Updated bin/mspec. March 15, 2014
Octocat-spinner-32 kernel Fix handling of non ASCII values on ENV April 15, 2014
Octocat-spinner-32 library Unfsck bundled RubyGems. March 18, 2014
Octocat-spinner-32 mspec Updated MSpec source to 439b4fa1. October 21, 2013
Octocat-spinner-32 rakelib Set RBX_PREFIX_PATH to the build prefix when building extensions April 18, 2014
Octocat-spinner-32 spec Fix handling of non ASCII values on ENV April 15, 2014
Octocat-spinner-32 tools Changed references from vm/external_libs to vendor. July 01, 2011
Octocat-spinner-32 vendor This is defined as 1 on Linux normally January 26, 2014
Octocat-spinner-32 vm Don't scan C data structures during concurrent GC April 20, 2014
Octocat-spinner-32 .autotest added RUBY env for autotest March 12, 2008
Octocat-spinner-32 .gdbinit Check CallFrames directly from their VM August 08, 2010
Octocat-spinner-32 .gitignore Pulled .gitignore from master. February 26, 2014
Octocat-spinner-32 .travis.yml Updated .travis.yml from master. March 16, 2014
Octocat-spinner-32 AUTHORS Added self to AUTHORS October 29, 2013
Octocat-spinner-32 CONTRIBUTING Add note about config logs March 17, 2014
Octocat-spinner-32 Changelog Updated Changelog. March 10, 2014
Octocat-spinner-32 Gemfile Updated Gemfile. March 09, 2014
Octocat-spinner-32 LICENSE Mention contributors in the LICENSE file. February 05, 2014
Octocat-spinner-32 README $SAFE isn't supported on Rbx either. January 14, 2014
Octocat-spinner-32 Rakefile Updated build files from master. March 14, 2014
Octocat-spinner-32 SECURITY Add basic instructions for security reports July 08, 2013
Octocat-spinner-32 THANKS THANKS copy edits August 11, 2011
Octocat-spinner-32 configure Added --debug-build configure option. March 18, 2014
Octocat-spinner-32 rubinius-build_tools.gemspec Added gemspecs for Rubinius meta-gems. October 14, 2013
Octocat-spinner-32 rubinius-developer_tools.gemspec Added gemspecs for Rubinius meta-gems. October 14, 2013
Octocat-spinner-32 rubinius.gemspec Fixed rubinius metagem description. October 21, 2013
Octocat-spinner-32 security.pub Add basic instructions for security reports July 08, 2013
README
1. What is Rubinius

Rubinius is an implementation of the Ruby programming language. Rubinius aims
to be compatible with Ruby version 2.1.

Rubinius includes a Ruby parser, bytecode virtual machine, bytecode compiler,
generational garbage collector, and just-in-time (JIT) native machine code
compiler. Rubinius uses native OS threads with no global interpreter lock.
Rubinius also provides C-API compatibility for native C extensions.

The Ruby core library is written almost entirely in Ruby. Rubinius tools, such
as the bytecode compiler and debugger, are also written in Ruby.  Rubinius
provides the same standard libraries as Matz's Ruby implementation (MRI) with
the following exceptions:

* Continuation
* Ripper
* TracePoint
* Tracer

Rubinius runs on Mac OS X and many Unix/Linux operating systems.  Microsoft
Windows is not yet supported.

Most popular Ruby applications, like Rails, run on Rubinius.


2. License

Rubinius uses the BSD license. See LICENSE for details.


3. Installing Rubinius from Source

To install Rubinius, use the following steps:

  1. Ensure that MRI 2.0+, rubygems, rake, and git are installed
  2. git clone git://github.com/rubinius/rubinius.git
  3. cd rubinius
  4. bundle
  5. ./configure --prefix=/path/to/install/dir
  6. rake

When the install process finishes, follow the directions printed to the
terminal to add the Rubinius executable (bin) directory to your PATH.


4. Using RubyGems

Rubinius comes with RubyGems built-in. To install a gem, run the following:

  rbx -S gem install <gem_name>


5. Documentation

After installing Rubinius, run 'rbx docs' to access the built-in documentation
at any time.


6. Tickets

Please file tickets for bugs or problems. The issue tracker is:

  http://github.com/rubinius/rubinius/issues


7. Contributing

The Rubinius team welcomes contributions. For more information read the
CONTRIBUTING file in the root directory of Rubinius.


8. Features Currently Not Supported

The following features of Ruby/MRI are currently not (yet) supported by
Rubinius:

* Keyword arguments (https://github.com/rubinius/rubinius/issues/2669)
* Refinements
* $SAFE levels
Something went wrong with that request. Please try again.