Commits on Jan 28, 2012
  1. Use nil<>() properly

    dbussink committed Jan 28, 2012
  2. Initialize inliners_ to 0

    dbussink committed Jan 28, 2012
  3. Register Inliners properly as a CodeResource so it can be cleaned up

    dbussink committed Jan 28, 2012
    This means we also need to mark Inliners which now happens in the
    mark_inliners function used by various mark functions for different
    This also showed that NativeFunction wasn't properly marking it's
    inliners which probably never led to any real problems, but with
    the change to track the Inliners properly, this did expose this
    lingering issue.
    Also removed some redundant checks since we just asserted in the
    line above that inliners_ isn't null.
  4. Regen'd 1.9 parser.

    brixen committed Jan 28, 2012
Commits on Jan 27, 2012
  1. Cleanup unused park channel

    dbussink committed Jan 27, 2012
  2. Remove dead code

    evanphx committed Jan 27, 2012
  3. Use nil<>

    evanphx committed Jan 27, 2012
Commits on Jan 26, 2012
  1. Fixed building on stable 1.8.6.

    brixen committed Jan 26, 2012
  2. Even more IO option specs

    jfirebaugh committed Jan 21, 2012
  3. Yet more IO option specs

    jfirebaugh committed Jan 21, 2012
  4. Spec for ruby bug #5918

    jfirebaugh committed Jan 21, 2012
  5. Spec current MRI binmode behavior

    jfirebaugh committed Jan 21, 2012
    I'm going to simplify it with a ruby_bug in the next commit, but
    if it's not accepted we can revert to this.
  6. Fix wrong and outdated comments

    dbussink committed Jan 26, 2012
Commits on Jan 25, 2012
Commits on Jan 24, 2012
  1. Use atomic operations on pending_threads and spin when stopping the w…

    dbussink committed Jan 20, 2012
    This greatly improves performance of the gc_dependent / gc_independent
    barrier. This barrier is often crossed for potentially blocking and
    GC indepedenent functions such as FFI and IO calls.
    This makes these calls a lot cheaper because in the common case of not
    needing to GC they only have to automatically increase and decrease
    the pending_threads_ counter instead of doing a full lock / unlock.
Commits on Jan 23, 2012
  1. Tag a stupid platform-dependent spec.

    brixen committed Jan 23, 2012
    This is the MRI behavior where values larger than a Fixnum that still fit in a
    machine integer are used in C code. This is basically opaque to Ruby code and
    is generally a terrible idea. In many cases, Rubinius requires a Fixnum except
    where interfacing with libc functions whose valid range is a machine integer.
    I need to add machine integer helpers to MSpec for cases where this is
    reasonable. The other cases are typically marked not compliant on Rubinius.