Skip to content
Commits on Dec 7, 2013
Commits on Dec 6, 2013
  1. @dbussink

    Ensure trampolines mark themselves as gc dependent

    dbussink committed
    We should ensure we are GC dependent again before returning to the
    thread startup handling. This ensures that we can properly GC
    independent again the in_new_thread trampoline function in Thread.
  2. @dbussink

    Allocate Thread as a pinned object

    dbussink committed
    We use init_lock_ for thread initialization which should move during the
    thread startup phase. Pinning it makes sure it doesn't.
Commits on Dec 5, 2013
  1. @dbussink
Commits on Dec 3, 2013
  1. @dbussink

    Revert back to using std::list

    dbussink committed
    We current keep iterators in instance variables which are invalidated
    for a deque, but not for a list. This brings back some of the
    performance issues in specific cases with using std::list so we should
    review this code to see if it can be done differently to perform
    better.
  2. @dbussink
  3. @dbussink
  4. @dbussink
  5. @dbussink
  6. @dbussink
  7. @dbussink

    Move type checking up in transcoder logic

    dbussink committed
    This ensures we don't create invalid C structures because parts have
    been allocated while others have not. This would cause segfaults if
    someone manages to get the encoding setup in an invalid state.
  8. @dbussink
Commits on Dec 2, 2013
  1. @brixen

    Fixed parsing integers.

    brixen committed
  2. @brixen

    Added more Integer() specs.

    brixen committed
  3. @brixen

    Simplified integer parsing.

    brixen committed
Commits on Dec 1, 2013
  1. @brixen
  2. @brixen
  3. @brixen
Commits on Nov 30, 2013
  1. @brixen
  2. @dbussink @brixen

    Fix memory usage for turning long strings into bignums

    dbussink committed with brixen
    This was caused because relocation of managed mp_int storage means a new
    ByteArray is allocated. Because there was no opportunity for doing a GC
    during the loop, it would keep growing in memory usage.
    
    By reusing the same non managed mp_int, this memory usage is greatly
    lowered. It means less allocations and reallocations, leading to stable
    memory usage.
  3. @dbussink @brixen

    Cleanup Bignum handling regarding string handling

    dbussink committed with brixen
    This had duplicate logic, but Integer also already has string handling.
    We want to have a single place for an optimized version of turning a
    string into a bignum, so this ensures we have one place to do it.
Commits on Nov 25, 2013
  1. @dbussink

    Fix thread shutdown race condition

    dbussink committed
    This ensures we can tear down the roots and thread data structures
    outside of using them in the GC. There was a race possible where we
    would be iterating threads in the GC while an entry was removed. This
    was possible because the deconstructor for VM would run outside a GC
    dependent block.
  2. @dbussink

    Cleanup since only test used special constructor

    dbussink committed
    This test can also use the constructor the rest of the system uses, so
    we can clean it up.
  3. @dbussink
Commits on Nov 24, 2013
  1. @dbussink

    Merge pull request #2778 from razielgn/process-spawn-exitcode

    dbussink committed
    Process.spawn with non-existing command should set $? accordingly.
  2. @dbussink

    Merge pull request #2781 from pH14/master

    dbussink committed
    Adding spec for backreferences to keep matched string's class (fails on rbx)
  3. @dbussink

    Add HAVE_RB_FD_FIX_CLOEXEC header

    dbussink committed
    Fixes #2801
  4. @brixen

    Set branches to run Travis.

    brixen committed
Commits on Nov 22, 2013
  1. @dbussink
  2. @dbussink
Commits on Nov 21, 2013
  1. @dbussink

    Fix deadlock in thread startup mechanism

    dbussink committed
    This would cause a deadlock when a thread would start, but the hard_lock
    code would happen at the same time a GC happens and also the thread was
    still starting. This meant the thread that started the thread would
    never get the init_lock and thus would wait indefinitely.
    
    This would cause the GC not to be ever happening, having two locks
    waiting for each other and never seeing any finish.
  2. @dbussink

    Add missing fixture file

    dbussink committed
  3. @dbussink

    Allow t modifier in file modes

    dbussink committed
    Used in nokogiri's extconf.rb for when developing on the extension
    itself.
  4. @dbussink
  5. @dbussink

    Add rb_fix_fd_cloexec to C-API.

    dbussink committed
    This fixes up file descriptors to set close on exec.
Something went wrong with that request. Please try again.