Permalink
Switch branches/tags
Commits on Dec 7, 2013
Commits on Dec 6, 2013
  1. Ensure trampolines mark themselves as gc dependent

    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.
    dbussink committed Dec 6, 2013
  2. Allocate Thread as a pinned object

    We use init_lock_ for thread initialization which should move during the
    thread startup phase. Pinning it makes sure it doesn't.
    dbussink committed Dec 6, 2013
Commits on Dec 5, 2013
Commits on Dec 3, 2013
  1. Revert back to using std::list

    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.
    dbussink committed Dec 3, 2013
  2. Move type checking up in transcoder logic

    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.
    dbussink committed Dec 3, 2013
Commits on Dec 2, 2013
  1. Fixed parsing integers.

    brixen committed Dec 2, 2013
  2. Added more Integer() specs.

    brixen committed Dec 2, 2013
  3. Simplified integer parsing.

    brixen committed Dec 2, 2013
Commits on Dec 1, 2013
Commits on Nov 30, 2013
  1. Fix memory usage for turning long strings into bignums

    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.
    dbussink committed with brixen Nov 24, 2013
  2. Cleanup Bignum handling regarding string handling

    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.
    dbussink committed with brixen Nov 24, 2013
Commits on Nov 25, 2013
  1. Fix thread shutdown race condition

    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.
    dbussink committed Nov 25, 2013
  2. Cleanup since only test used special constructor

    This test can also use the constructor the rest of the system uses, so
    we can clean it up.
    dbussink committed Nov 25, 2013
Commits on Nov 24, 2013
  1. Merge pull request #2778 from razielgn/process-spawn-exitcode

    Process.spawn with non-existing command should set $? accordingly.
    dbussink committed Nov 24, 2013
  2. Merge pull request #2781 from pH14/master

    Adding spec for backreferences to keep matched string's class (fails on rbx)
    dbussink committed Nov 24, 2013
  3. Add HAVE_RB_FD_FIX_CLOEXEC header

    Fixes #2801
    dbussink committed Nov 24, 2013
  4. Set branches to run Travis.

    brixen committed Nov 24, 2013
Commits on Nov 22, 2013
Commits on Nov 21, 2013
  1. Fix deadlock in thread startup mechanism

    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.
    dbussink committed Nov 21, 2013
  2. Add missing fixture file

    dbussink committed Nov 21, 2013
  3. Allow t modifier in file modes

    Used in nokogiri's extconf.rb for when developing on the extension
    itself.
    dbussink committed Nov 21, 2013
  4. Add rb_fix_fd_cloexec to C-API.

    This fixes up file descriptors to set close on exec.
    dbussink committed Nov 21, 2013