Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Aug 5, 2012
  1. @dbussink
Commits on Aug 1, 2012
  1. @dbussink
Commits on Jul 30, 2012
  1. @dbussink
  2. @dbussink

    Add validation for adding global handles

    dbussink authored
    We want to make sure people are only adding valid handles to the list of
    global handles. This means that the VALUE pointer in the CAPI needs to
    point to a proper CAPI handle and not point to some random memory
    location that can cause things such as GC crashes later on.
    
    Should help in debugging stuff like therubyracer to see earlier where
    extensions such as that register invalid handles.
Commits on Jul 18, 2012
  1. @evanphx
  2. @evanphx

    Add -Xcapi.lock to control CAPI locking

    evanphx authored
    By default, CAPI methods are not subject to a single lock, meaning that
    extensions that are not thread safe can crash. As a workaround, a user
    can set -Xcapi.lock to activate the lock. Extensions that use a
    non-threadsafe C library should use a ruby Mutex class internally.
Commits on Jul 9, 2012
  1. @dbussink
Commits on Jul 2, 2012
  1. @dbussink
Commits on Jun 24, 2012
  1. @dbussink
Commits on Jun 18, 2012
  1. @dbussink
  2. @dbussink
Commits on Jun 15, 2012
  1. @brixen

    Improve handling of auxiliary threads across process changes.

    brixen authored
    Introduce AuxiliaryThreads to manage the AuxiliaryThread instances.
Commits on Jun 13, 2012
  1. @dbussink
Commits on Jun 12, 2012
  1. @dbussink
Commits on Jun 5, 2012
  1. @dbussink

    Use handle index in aux_word

    dbussink authored
  2. @dbussink
  3. @dbussink
  4. @dbussink
  5. @dbussink

    Use the new allocator structure for capi::Handle objects

    dbussink authored
    This reduces memory usage and allows for using indexes to handles
    instead of needing a full pointer.
  6. @dbussink
Commits on May 22, 2012
  1. @ryoqun

    Remove an unneeded C-style cast

    ryoqun authored
Commits on May 18, 2012
  1. @ryoqun
  2. @ryoqun
  3. @ryoqun
Commits on Mar 16, 2012
  1. @dbussink

    Properly stop and restart the QueryAgent around exec()

    dbussink authored
    We want to be sure that the QueryAgent shuts down properly also makes
    sure the shared state doesn't reference it anymore.
  2. @dbussink

    Remove a VM from the threads list when discarding it

    dbussink authored
    Previously there were cases where we weren't properly removing the
    thread from the threads list. This happened for example for the
    SignalHandler thread and QueryAgent thread.
    
    By always removing it from the threads list from VM::discard, we make
    sure it's always remove and does not cause a crash when the GC tries to
    scan a thread that was not running anymore.
Commits on Feb 29, 2012
  1. @dbussink

    Use MurmurHash 3 for String hashing

    dbussink authored
    This gives us a fast hashing algorithm with good distribution.
    It also allows for using a seed value to randomize the hash
    output so it mitigates hash collision DoS attacks.
Commits on Feb 2, 2012
  1. @luislavena

    Minor correction to typo

    luislavena authored
  2. @evanphx
Commits on Jan 24, 2012
  1. @dbussink

    Use atomic operations on pending_threads and spin when stopping the w…

    dbussink authored
    …orld
    
    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 8, 2012
  1. @dbussink

    Use same locking mechanism in new_vm() and new_thread_id()

    dbussink authored
    These two functions were using different locking mechanisms
    which can result in a potential deadlock such as described
    in issue #1487
    
    Fixes #1487
Commits on Jan 6, 2012
  1. @dbussink
Commits on Nov 18, 2011
  1. @evanphx

    Fix stop_the_world deadlock bug

    evanphx authored
    We didn't check if another thread was trying to STW inside SWT itself,
    thus would cause a deadlock.
    
    Now a STW request can be denied and the caller must deal with that
    condition, typically by checkpointing and ther trying the STW request
    again.
Commits on Nov 3, 2011
  1. @evanphx
Commits on Nov 1, 2011
  1. @evanphx
Something went wrong with that request. Please try again.