diff --git a/core/src/main/java/org/jruby/ir/targets/indy/Bootstrap.java b/core/src/main/java/org/jruby/ir/targets/indy/Bootstrap.java index 6597163faa8..cd3d6f09581 100644 --- a/core/src/main/java/org/jruby/ir/targets/indy/Bootstrap.java +++ b/core/src/main/java/org/jruby/ir/targets/indy/Bootstrap.java @@ -620,9 +620,10 @@ public static CallSite contextValueString(Lookup lookup, String name, MethodType .from(Ruby.class, ThreadContext.class, MutableCallSite.class) .invokeStaticQuiet(LOOKUP, Bootstrap.class, "runtime"); + // We use LOOKUP here to have a full-featured MethodHandles.Lookup, avoiding jruby/jruby#7911 private static final MethodHandle RUNTIME_FROM_CONTEXT_HANDLE = Binder - .from(Ruby.class, ThreadContext.class) + .from(LOOKUP, Ruby.class, ThreadContext.class) .getFieldQuiet("runtime"); private static final MethodHandle NIL_HANDLE =