Permalink
Switch branches/tags
Commits on Feb 7, 2013
  1. Merge pull request #2143 from ryoqun/proc-subclass-new

    dbussink committed Feb 7, 2013
    Don't duplicate Proc objects if not needed
  2. Don't duplicate Proc objects if not needed

    ryoqun committed Feb 6, 2013
    Currently, when its receiver is a subclass of Proc, Proc::from_env() duplicates
    passed objects, even if not needed. The case is that passing instances of the
    same subclass of Proc:
    
        class MyProc < Proc
        end
        prc = Proc.new{}
        my_prc = MyProc.new(&prc)
        # => returns an instance of MyProc duplicated from prc
        MyProc.new(&my_prc)
        # => SHOULD return my_prc, but DOESN'T, rather DOES duplicate my_prc
        Proc.new(&prc)
        # => returns prc, by comparison
    
    The problem is that there is unintended code path in which the needless
    duplication can happen.
    
    Thus, the duplication logic is moved from Proc::from_env() into the ruby code
    of Proc.new and a new primitive called proc_duplicate_as_subclass.
    
    Also revert no longer valid changes done in the following commit, which
    originally tried to fix this:
    
    1abfbdf
    Make Proc::from_env reset klass if appropriate
  3. Add failing tags

    ryoqun committed Feb 6, 2013
  4. Spec ProcSubClass.new

    ryoqun committed Feb 6, 2013
Commits on Feb 6, 2013
  1. Fix issue with invalid reading of byte size

    dbussink committed Feb 6, 2013
    The buffer isn't marked on stack and doesn't need to be since we copy
    data. This does mean however, we shouldn't read from it after we have
    possibly gc'ed. By storing the buffer size at the beginning we ensure we
    don't need to read it later.
  2. Merge pull request #2145 from ryoqun/improve-bytecode-printer

    dbussink committed Feb 6, 2013
    Improve bytecode printer
  3. Merge pull request #2144 from ryoqun/print-bytecode-literals

    dbussink committed Feb 6, 2013
    Always show actual literals in bytecode printer
  4. Always show actual literals in bytecode printer

    ryoqun committed Feb 6, 2013
    Currently the keyword "literal" is used inconsistently across the bytecode
    instructions. For example, push_const uses it, but set_const doesn't.
    
    Always use "literal" to indicate the index to literals. And this enables
    Rubinius' built-in bytecode printer to show the actual literals referenced by
    the index.
    
    This would really ease my life when hacking on Rubinus, hopefully others
    starting to hack on it.
  5. Implement rb_method_boundp

    dbussink committed Feb 6, 2013
    Fixes #1145
  6. Merge pull request #2142 from ryoqun/proc-new-comment

    jc00ke committed Feb 6, 2013
     Add a comment to the assembly of Proc.new
  7. Fixed Kernel.chop[!].

    brixen committed Feb 5, 2013
  8. Remove trailing white space

    ryoqun committed Feb 6, 2013
Commits on Feb 5, 2013
  1. Setup pipe with proper default encodings

    dbussink committed Feb 5, 2013
    Fixes #2071
  2. Add spec case for complex regexp with binary encoding

    dbussink committed Feb 5, 2013
    Taken from issue #1669
  3. Add global symbol for to_ary

    dbussink committed Feb 5, 2013
  4. Handle signals after pthread_cond_wait is interrupted

    dbussink committed Feb 5, 2013
    There might be signals that need to be run if pthread_cond_wait is
    interrupted. Fixes #2093
Commits on Feb 4, 2013