Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: c0d5a48947a2
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: fab4f023552e
Choose a head ref
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Mar 7, 2016

  1. Copy the full SHA
    ee5fc7e View commit details
  2. Copy the full SHA
    fab4f02 View commit details
Showing with 5 additions and 3 deletions.
  1. +2 −2 core/src/main/java/org/jruby/ir/runtime/IRRuntimeHelpers.java
  2. +3 −1 spec/tags/ruby/core/kernel/require_tags.txt
4 changes: 2 additions & 2 deletions core/src/main/java/org/jruby/ir/runtime/IRRuntimeHelpers.java
Original file line number Diff line number Diff line change
@@ -29,6 +29,7 @@
import org.jruby.parser.StaticScope;
import org.jruby.runtime.*;
import org.jruby.runtime.builtin.IRubyObject;
import org.jruby.runtime.callsite.CachingCallSite;
import org.jruby.runtime.callsite.FunctionalCachingCallSite;
import org.jruby.runtime.callsite.NormalCachingCallSite;
import org.jruby.runtime.callsite.RefinedCachingCallSite;
@@ -1800,8 +1801,7 @@ public static RubyString freezeLiteralString(ThreadContext context, RubyString s

@JIT
public static IRubyObject callOptimizedAref(ThreadContext context, IRubyObject caller, IRubyObject target, RubyString keyStr, CallSite site) {
// FIXME: optimized builtin check for Hash#[]
if (target instanceof RubyHash) {
if (target instanceof RubyHash && ((CachingCallSite) site).retrieveCache(target.getMetaClass(), "[]").method.isBuiltin()) {
// call directly with cached frozen string
return ((RubyHash) target).op_aref(context, keyStr);
}
4 changes: 3 additions & 1 deletion spec/tags/ruby/core/kernel/require_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
fails(JRUBY-5668):Kernel#require ($LOAD_FEATURES) when a non-extensioned file is in $LOADED_FEATURES loads a .rb extensioned file when a non extensioned file is in $LOADED_FEATURES
fails(JRUBY-5668):Kernel.require ($LOAD_FEATURES) when a non-extensioned file is in $LOADED_FEATURES loads a .rb extensioned file when a non extensioned file is in $LOADED_FEATURES
critical(hangs:Kernel#require (concurrently) allows a 2nd require if the 1st raised an exception
critical(hangs):Kernel#require (concurrently) allows a 2nd require if the 1st raised an exception
critical(hangs):Kernel.require (concurrently) allows a 2nd require if the 1st raised an exception
fails:Kernel#require (concurrently) blocks a second thread from returning while the 1st is still requiring
fails:Kernel.require (concurrently) blocks a second thread from returning while the 1st is still requiring