Commits on Jul 7, 2015
  1. Fix #3104: Ensure that push/pops don't break returns

    * return instructions may sometime reference values that rely
      on the current scope/frame. However, AddCallProtocalInstructionsPass
      introduces pops of those before returns. To ensure that returns
      are no longer broken, that pass should copy the value into a
      temporary variable before popping the scope/frame.
    * Added a new regression spec that primes the JIT by running the
      function in a loop 100 times. This ensures that the spec doesn't
      artificially pass because of relying on the startup interpreter.
      Verified that the spec fails without the fixes in this patch.
    subbuss committed Jul 7, 2015
Commits on Jul 6, 2015
  1. Eliminate IRBindingEvalScript and its incorrect var-scoping.

    Fixes #3102 and possibly others.
    headius committed Jul 6, 2015
  2. Do not persist filename in IR; require it when loading.

    Fixes #3109
    Because compiled scripts may be moved around or loaded from
    locations different than when they were compiled, we must pass
    filename into the decoding process to allow the script to reflect
    the new filename.
    headius committed Jul 6, 2015
  3. Merge pull request #3073 from jruby/test-dir-globs-on-uri-classloader

    dir globs on uri classloader without the need of .jrubydir
    mkristian committed Jul 6, 2015
  4. [Truffle] Function to initialize secureRandom

    This is to initialize ThreadContext.secureRandom. This change should not
    affect the behavior of this class, but facilitates ahead of time
    bbelleville committed with chrisseaton Jul 6, 2015
  5. Grr.

    headius committed Jul 6, 2015
  6. Get AOT-compiled scripts loading properly again. Fixes #3018

    Note that there's still one missing piece, as detailed in #3109:
    we are not updating loaded scripts with their actual filename. The
    original filename they were compiled from is still there, which
    may cause problems with require_relative and friends.
    headius committed Jul 6, 2015
  7. Lazy handles no longer exist.

    headius committed Jul 6, 2015
  8. Merge branch 'jruby-1_7' into work

    mkristian committed Jul 6, 2015
  9. [ji] spec (working) map to_hash

    kares committed Jul 1, 2015
  10. [ji] spec array to_a conversion

    kares committed Jul 1, 2015
  11. cleanup java.util.Map spec

    kares committed Jul 1, 2015
  12. review MapJavaProxy internals

    kares committed Jul 1, 2015
  13. make sure we do not overflow pow with (int) cast

    ... BigInteger#pow(int) throws an ArithmeticException
    kares committed Jul 1, 2015
Commits on Jul 5, 2015
  1. Add c-call, c-return tracing to handle-based methods.

    This mechanism is slightly heavier than the generated invokers
    mostly because it ends up checking whether there's events twice.
    However, this appears to be wrong logic; MRI reports the return
    of `set_trace_func` for example, and we don't. This commit also
    makes the following improvements:
    * Pass all args into the handle chain; this is
      necessary for tracing and helpful for reporting arity errors
      with the actually-invoked name.
    * Don't use an iterator when iterating over event hooks, to avoid
      allocation on that hot path. This should help all event hooks to
      be cheaper.
    headius committed Jul 5, 2015
  2. Patching handle invoker issues.

    * Provide name for arity error.
    * Properly set up parameter names.
    headius committed Jul 5, 2015
Commits on Jul 4, 2015