Permalink
Commits on Nov 14, 2013
Commits on Nov 13, 2013
  1. Related to #1204. Make Psych emit strings in proper encoding. IOOutpu…

    enebo committed Nov 13, 2013
    …tStream can now explicitly specify what encoding it wants to write strings with
  2. Propagate keyrest through Open3.popen3 to internal version.

    headius committed Nov 13, 2013
    This also includes a fix to remove the keyword args from the arg
    list when processing the command. If we don't remove it, the arg
    list appears to be length > 1 and a single space-embedded command
    line will not be split into its component arguments.
  3. Fix keyrest eating an argument unconditionally in rest logic.

    headius committed Nov 13, 2013
    In the logic for preparing a rest argument, we were subtracting
    1 from available args if a keyrest arg is present. However,
    keyrest should only consume an arg if keyword args are given on
    the call side, and this case is already figured into arglen
    calculation before we get to the rest logic. Removed the extra
    logic for subtracting keyword arg element from args list.
    
    Fixes #1223.
  4. Merge branch 'jruby-1_7'

    headius committed Nov 13, 2013
  5. Revert "Use batch mode for builds before tests."

    headius committed Nov 13, 2013
    This reverts commit ad2f362.
  6. [IR] Tweaks to break-handling - IRBreakJump should be Unrescuable

    subbuss committed Nov 13, 2013
    * Unsure why IRBreakJump hadn't been marked Unrescuable thus far.
    * Eliminates spec crashers in spec/ruby/library/prime/each_spec.rb
Commits on Nov 12, 2013
  1. Remove old Generator impl, move toward unifying coroutine logic.

    headius committed Nov 12, 2013
    The old Enumerator#next logic used our internal Generator impl,
    which proved eventually to be leaky and slow. As of JRuby 1.7.5,
    Enumerator#next moved to a Java implementation that was both
    faster and better about cleaning up dangling instances, but the
    block form of Enumerator.new still used the old Generator logic.
    
    This commit eliminates the old coroutine-based Generator in favor
    of a trivial version matching Ruby 1.9+. The block forms of
    Enumerator.new now create this trivial Generator and then fall
    into the same "Nexter" logic introduced in 1.7.5 for #next.
  2. Unconditionally define Enumerator::Lazy methods in our impl.

    headius committed Nov 12, 2013
    Our impl was borrowed from Marc-Andre Cournoyer's "backports" impl
    which attempted to detect whether it was running on a Ruby that
    already had several lazy Enumerator methods defined already. The
    logic to do so triggered a thread-based Enumerator (using
    Generator) to be created for at least one method detection and
    possibly others. This caused some of our trace function tests to
    intermittently see one or more Generator thread's death throes,
    inserting bogus entries into test results.
    
    This fix removes the detection logic since we know we'll always
    need to define the backport version of these methods. No Generator
    gets started during boot now.
    
    It is possible this will also slightly improve startup, since that
    logic was using slow-path threaded Enumerator logic.
  3. Merge branch 'jruby-1_7'

    headius committed Nov 12, 2013
  4. Merge 1139

    enebo committed Nov 12, 2013
  5. Fixes #1139. ClassCastException when reading non String value from J…

    enebo committed Nov 12, 2013
    …ava System.properties
  6. Merge 1171 Fix to master

    enebo committed Nov 12, 2013
  7. Hmm forgot to push my merge

    enebo committed Nov 12, 2013
  8. [IR] Fixed off-by-1 error replacing instruction in an instr array

    subbuss committed Nov 12, 2013
    * Fixes occasional crasher running mspec with
      AddLocalVarLoadStoreInstructions pass enabled.
  9. [IR] Added missing flags on TO_ARY operation -- fixes buggy opts.

    subbuss committed Nov 12, 2013
    * TO_ARY operation can raise an exception (TypeError) and can have
      side effects (allocates RubyArray). So, optimizations like DCE
      cannot delete this instruction. Adding the flags blocks DCE from
      doing so and fixes mspec failures when run with DCE enabled.
Commits on Nov 11, 2013
  1. [IR] Strip no-longer-needed ensure-map and related state

    subbuss committed Nov 11, 2013
    * git 27442fc fixed some bugs in the interpreter that effectively
      used the rescue map for handling both rescue and ensures which
      left the ensure map unused.
    
    * This patch got rid of the ensure map and all related state from
      the IR builder, instructions, CFG, and exception regions.
    
    * Verified that there is no change in spec test results especially
      since the CFG removed exception edges to ensure-block, which could
      potentially have affected accuracy of the opt. passes.
  2. Merge pull request #1199 from voxik/softlink-jruby

    mkristian authored and headius committed Nov 11, 2013
    Softlink jruby to jruby.bash instead of hard copy.
  3. Merge pull request #1199 from voxik/softlink-jruby

    mkristian committed Nov 11, 2013
    Softlink jruby to jruby.bash instead of hard copy.