Top Description Fields Constructors Methods
org.jruby.ir.targets.indy

public Class ArrayDerefInvokeSite

extends NormalInvokeSite
Class Inheritance
Imports
com.headius.invokebinder.Binder, .SmartBinder, .SmartHandle, org.jruby.RubyBasicObject, .RubyClass, .RubyHash, .RubyModule, .RubyString, org.jruby.internal.runtime.methods.DynamicMethod, org.jruby.ir.targets.simple.NormalInvokeSite, org.jruby.runtime.Block, .ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.callsite.CacheEntry, org.objectweb.asm.Handle, .Opcodes, java.lang.invoke.CallSite, .MethodHandle, .MethodHandles, .MethodType, .SwitchPoint

Created by headius on 10/23/14.

Field Summary

Modifier and TypeField and Description
public static final Handle
private static final MethodHandles.Lookup
private static final MethodHandle

Constructor Summary

AccessConstructor and Description
public
ArrayDerefInvokeSite(MethodType type, String file, int line)

Method Summary

Modifier and TypeMethod and Description
public static CallSite
bootstrap(MethodHandles.Lookup lookup, String name, MethodType type, String file, int line)

public IRubyObject
fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, Block block)

Overrides org.jruby.ir.targets.indy.InvokeSite.fail.

Failover version uses a monomorphic cache and DynamicMethod.call, as in non-indy.

public IRubyObject
public static boolean
protected SmartHandle
Inherited from org.jruby.ir.targets.simple.NormalInvokeSite:
bootstrapnewSite

Field Detail

BOOTSTRAPback to summary
public static final Handle BOOTSTRAP

Hides org.jruby.ir.targets.simple.NormalInvokeSite.BOOTSTRAP.

LOOKUPback to summary
private static final MethodHandles.Lookup LOOKUP

Hides org.jruby.ir.targets.indy.InvokeSite.LOOKUP.

STRDUP_FILTERback to summary
private static final MethodHandle STRDUP_FILTER

Constructor Detail

ArrayDerefInvokeSiteback to summary
public ArrayDerefInvokeSite(MethodType type, String file, int line)

Method Detail

bootstrapback to summary
public static CallSite bootstrap(MethodHandles.Lookup lookup, String name, MethodType type, String file, int line)
failback to summary
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, Block block) throws Throwable

Overrides org.jruby.ir.targets.indy.InvokeSite.fail.

Failover version uses a monomorphic cache and DynamicMethod.call, as in non-indy. This assumes all ArrayDeref will be arity=1, which correlates to the code in IRBuilder.

invokeback to summary
public IRubyObject invoke(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) throws Throwable

Overrides org.jruby.ir.targets.indy.InvokeSite.invoke.

testOptimizedHashback to summary
public static boolean testOptimizedHash(RubyClass testClass, IRubyObject self)
testTargetback to summary
protected SmartHandle testTarget(IRubyObject self, RubyModule testClass)

Overrides org.jruby.ir.targets.indy.InvokeSite.testTarget.

Annotations
@Override