Skip to content
Commits on Oct 5, 2013
  1. More and more

    committed Oct 5, 2013
Commits on Sep 4, 2013
  1. More catch remove

    committed Sep 4, 2013
Commits on Sep 3, 2013
  1. @dbussink
  2. @dbussink

    Merge pull request #2547 from razielgn/time-marshal-ivars

    Fix Time marshaling of instance variables.
    dbussink committed Sep 3, 2013
  3. @razielgn

    Time: store zone in a slot.

    razielgn committed Sep 3, 2013
  4. @kachick

    Update a Module#prepend spec for 2.1 visibility modifying

    Follow MRI r42810(from ticket#8846)
    kachick committed Sep 3, 2013
  5. @kachick

    Add a Module#include spec for 2.1 visibility modifying

    Follow MRI r42810(from ticket#8846)
    kachick committed Sep 3, 2013
  6. @kachick

    Fix Enumerator::Lazy#{to_enum,enum_for}

    Fixes #2585
    kachick committed Sep 3, 2013
  7. @kachick
  8. @kachick
  9. @kachick
  10. @razielgn

    Fix Marshal#load with Time.

    razielgn committed Sep 3, 2013
  11. @razielgn

    Fix Marshal#dump with Time.

    razielgn committed Sep 3, 2013
  12. @razielgn
  13. @razielgn
Commits on Sep 2, 2013
  1. @dbussink
  2. @dbussink
  3. @dbussink

    Merge pull request #2582 from kachick/set_constant_on_frozen_module

    Module#const_set and {Kernel,Module}.#autoload should raise exceptions on frozen module
    dbussink committed Sep 2, 2013
Commits on Sep 1, 2013
  1. @dbussink

    Don't double allocate replacement setup for transcoding

    This was causing memory leaks because the memory was allocated again
    under the converter_ even when it already was allocated due to a
    previous run.
    dbussink committed Sep 1, 2013
  2. @dbussink

    Don't try to remove locked object if list is empty

    This can happen when the thread is already in the termination process
    and all locks have been cleaned up and only the thread itself is still
    dbussink committed Sep 1, 2013
  3. @dbussink
  4. @dbussink

    Use primitive for signbit

    The FFI approach would lead to Valgrind erroring with jumps on
    uninitialized values. This was due to GCC optimizations that would be
    done with the signbit macro.
    With this approach we don't get these errors and don't have to add the
    ffi_util method.
    dbussink committed Sep 1, 2013
  5. @dbussink

    Set encoding last because it reads ascii_only and valid_encoding

    This fixes a jump on uninitialized memory warning in valgrind.
    dbussink committed Sep 1, 2013
Commits on Aug 31, 2013
  1. @dbussink

    Lock around kind of symbol lookup

    Also cleans up symboltable size code. We already track the size anyway
    so all places needing the size should just used that.
    dbussink committed Aug 31, 2013
  2. @kachick
  3. @kachick
  4. @kachick
  5. @kachick
  6. @kachick
  7. @dbussink

    Lock around all symboltable operations

    These operations weren't locked around, so it could cause issues when
    a thread for example was resizing the backend storage for symbols and
    another thread was using lookup_debug_string.
    This could for example happen when the JIT was running since that uses
    lookup_debug_string. It uses this for the module naming of jitted
     methods. If at that same time symbols were added and a resize
    necessary, this could cause invalid memory usage or corruption.
    dbussink committed Aug 31, 2013
  8. @dbussink

    Create global for encoding list

    This way we don't need a symbol lookup inside the path for symbol
    lookup. This would cause a deadlock with fixing some SymbolTable locking
    dbussink committed Aug 31, 2013
  9. @dbussink

    Don't unlock thread itself in unlock_locks

    This removes the need for the unlock / lock pair in the thread logic.
    dbussink committed Aug 31, 2013
  10. @dbussink

    Fix race when unlocking locks for a thread

    The problem was that we unlocked the locks first after the thread was
    marked as not alive. This opened a race for seeing a mutex as still
    locked after a thread was joined, since that thread was seen as not
    alive and not waited for while it was still terminating and unlocking
    This would cause a sporadic spec failure like this:
    Mutex#locked? returns the status of the lock FAILED
    Expected true to be false
               { } in Object#__script__ at spec/ruby/shared/mutex/locked.rb:31
      BasicObject(Object)#instance_eval at kernel/common/eval19.rb:45
          { } in Enumerable(Array)#all? at kernel/common/enumerable.rb:104
                             Array#each at kernel/bootstrap/array.rb:68
                 Enumerable(Array)#all? at kernel/common/enumerable.rb:104
                  Integer(Fixnum)#times at kernel/common/integer.rb:83
                             Array#each at kernel/bootstrap/array.rb:68
               { } in Object#__script__ at spec/ruby/core/mutex/locked_spec.rb:5
                      Object#__script__ at spec/ruby/core/mutex/locked_spec.rb:4
                            Kernel.load at kernel/common/kernel.rb:584
      BasicObject(Object)#instance_eval at kernel/common/eval19.rb:45
                             Array#each at kernel/bootstrap/array.rb:68
       Rubinius::CodeLoader#load_script at kernel/delta/codeloader.rb:68
       Rubinius::CodeLoader.load_script at kernel/delta/codeloader.rb:111
                Rubinius::Loader#script at kernel/loader.rb:648
                  Rubinius::Loader#main at kernel/loader.rb:847
    When we move this up we have to do an unlock / lock around it, since
    unlock_locks would unlock all objects, also the thread itself, so we
    need to lock it again.
    dbussink committed Aug 31, 2013
Commits on Aug 30, 2013
  1. @dbussink
Something went wrong with that request. Please try again.