Package org.jruby.runtime.callsite
Class CachingCallSite
java.lang.Object
org.jruby.runtime.CallSite
org.jruby.runtime.callsite.CachingCallSite
- Direct Known Subclasses:
BimorphicCallSite,FunctionalCachingCallSite,MonomorphicCallSite,NormalCachingCallSite,ProfilingCachingCallSite,RefinedCachingCallSite,VariableCachingCallSite
-
Field Summary
FieldsFields inherited from class org.jruby.runtime.CallSite
callType, methodName -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, Block block, IRubyObject[] args, ThreadContext context, IRubyObject self) private IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self) private IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, IRubyObject arg) private IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, IRubyObject arg1, IRubyObject arg2) private IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) private IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, IRubyObject[] args, ThreadContext context, IRubyObject self) private IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self) protected IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, IRubyObject arg) protected IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, IRubyObject arg1, IRubyObject arg2) private IRubyObjectcacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) private CacheEntrycacheAndGet(RubyClass selfType, String methodName) Deprecated.private CacheEntrycacheAndGet(IRubyObject self, RubyClass selfType, String methodName) call(ThreadContext context, IRubyObject caller, IRubyObject self) Call the site's method against the target object passing no args.call(ThreadContext context, IRubyObject caller, IRubyObject self, double flote) Call the site's method against the target object, passing a literal double value.call(ThreadContext context, IRubyObject caller, IRubyObject self, long fixnum) Call the site's method against the target object, passing a literal long value.call(ThreadContext context, IRubyObject caller, IRubyObject self, Block block) Call the site's method against the target object passing no arguments and a non-literal (block pass, &) block.call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1) Call the site's method against the target object passing one argument.call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args) Call the site's method against the target object passing arguments.call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) Call the site's method against the target object passing one argument and a non-literal (block pass, &) block.call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block) Call the site's method against the target object passing one argument and a non-literal (block pass, &) block.call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2) Call the site's method against the target object passing two arguments.call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block) Call the site's method against the target object passing two arguments and a non-literal (block pass, &) block.call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) Call the site's method against the target object passing two arguments.call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block) Call the site's method against the target object passing three arguments and a non-literal (block pass, &) block.final IRubyObjectcallIter(ThreadContext context, IRubyObject caller, IRubyObject self, Block block) Call the site's method against the target object passing no arguments and a literal block.callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) Call the site's method against the target object passing arguments and a literal block.callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block) Call the site's method against the target object passing one argument and a literal block.final IRubyObjectcallIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block) Call the site's method against the target object passing two arguments and a literal block.final IRubyObjectcallIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block) Call the site's method against the target object passing three arguments and a literal block.protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method) protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, Block block) protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg) protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject[] args) protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject[] args, Block block) protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, Block block) protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, IRubyObject arg1) protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, IRubyObject arg1, Block block) protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2) protected final IRubyObjectcallMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) final IRubyObjectcallVarargs(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args) Call the site's method against the target object passing arguments.final IRubyObjectcallVarargs(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) Call the site's method against the target object passing one argument and a non-literal (block pass, &) block.final IRubyObjectcallVarargsIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) Call the site's method against the target object passing arguments and a literal block.final CacheEntrygetCache()final intfinal longprotected static RubyClassgetClass(IRubyObject self) final Stringfinal booleanbooleanisBuiltin(IRubyObject self) final booleanprotected booleanmethodMissing(DynamicMethod method, IRubyObject caller) final CacheEntryretrieveCache(RubyClass selfType) final CacheEntryretrieveCache(RubyClass selfType, String methodName) Deprecated.final CacheEntryretrieveCache(IRubyObject self) protected CacheEntrysetCache(CacheEntry entry, IRubyObject self)
-
Field Details
-
cache
-
builtinCache
Deprecated.
-
-
Constructor Details
-
CachingCallSite
-
-
Method Details
-
getCache
-
setCache
-
isOptimizable
public final boolean isOptimizable() -
getCachedClassIndex
public final int getCachedClassIndex() -
getMethodName
-
getCachedMethodSerial
public final long getCachedMethodSerial() -
call
Description copied from class:CallSiteCall the site's method against the target object, passing a literal long value. -
call
Description copied from class:CallSiteCall the site's method against the target object, passing a literal double value. -
call
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args) Description copied from class:CallSiteCall the site's method against the target object passing arguments. -
call
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) Description copied from class:CallSiteCall the site's method against the target object passing one argument and a non-literal (block pass, &) block. -
callIter
public IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) Description copied from class:CallSiteCall the site's method against the target object passing arguments and a literal block. This version handles break jumps by returning their value if this is the appropriate place in the call stack to do so. -
callVarargs
public final IRubyObject callVarargs(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args) Description copied from class:CallSiteCall the site's method against the target object passing arguments. As a "varargs" method, this will use the length of the args array to dispatch to the correct arity call, rather than dispatching unconditionally to the IRubyObject[] path.- Specified by:
callVarargsin classCallSite- Parameters:
context- the ThreadContext for the current threadcaller- the caller, for visibility checksself- the target object to call againstargs- the arguments to pass- Returns:
- the result of the call
-
callVarargs
public final IRubyObject callVarargs(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) Description copied from class:CallSiteCall the site's method against the target object passing one argument and a non-literal (block pass, &) block. As a "varargs" method, this will use the length of the args array to dispatch to the correct arity call, rather than dispatching unconditionally to the IRubyObject[] path.- Specified by:
callVarargsin classCallSite- Parameters:
context- the ThreadContext for the current threadcaller- the caller, for visibility checksself- the target object to call againstargs- the arguments to passblock- the block argument to pass- Returns:
- the result of the call
-
callVarargsIter
public final IRubyObject callVarargsIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) Description copied from class:CallSiteCall the site's method against the target object passing arguments and a literal block. This version handles break jumps by returning their value if this is the appropriate place in the call stack to do so. As a "varargs" method, this will use the length of the args array to dispatch to the correct arity call, rather than dispatching unconditionally to the IRubyObject[] path.- Specified by:
callVarargsIterin classCallSite- Parameters:
context- the ThreadContext for the current threadcaller- the caller, for visibility checksself- the target object to call againstargs- the arguments to passblock- the literal block to pass- Returns:
- the result of the call
-
call
Description copied from class:CallSiteCall the site's method against the target object passing no args. -
call
Description copied from class:CallSiteCall the site's method against the target object passing no arguments and a non-literal (block pass, &) block. -
callIter
public final IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, Block block) Description copied from class:CallSiteCall the site's method against the target object passing no arguments and a literal block. This version handles break jumps by returning their value if this is the appropriate place in the call stack to do so. -
call
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1) Description copied from class:CallSiteCall the site's method against the target object passing one argument. -
call
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block) Description copied from class:CallSiteCall the site's method against the target object passing one argument and a non-literal (block pass, &) block. -
callIter
public IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block) Description copied from class:CallSiteCall the site's method against the target object passing one argument and a literal block. This version handles break jumps by returning their value if this is the appropriate place in the call stack to do so. -
call
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2) Description copied from class:CallSiteCall the site's method against the target object passing two arguments. -
call
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block) Description copied from class:CallSiteCall the site's method against the target object passing two arguments and a non-literal (block pass, &) block.- Specified by:
callin classCallSite- Parameters:
context- the ThreadContext for the current threadcaller- the caller, for visibility checksself- the target object to call againstarg1- the first argument to passarg2- the second argument to passblock- the block argument to pass- Returns:
- the result of the call
-
callIter
public final IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block) Description copied from class:CallSiteCall the site's method against the target object passing two arguments and a literal block. This version handles break jumps by returning their value if this is the appropriate place in the call stack to do so.- Specified by:
callIterin classCallSite- Parameters:
context- the ThreadContext for the current threadcaller- the caller, for visibility checksself- the target object to call againstarg1- the first argument to passarg2- the second argument to passblock- the literal block to pass- Returns:
- the result of the call
-
call
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) Description copied from class:CallSiteCall the site's method against the target object passing two arguments.- Specified by:
callin classCallSite- Parameters:
context- the ThreadContext for the current threadcaller- the caller, for visibility checksself- the target object to call againstarg1- the first argument to passarg2- the second argument to passarg3- the third argument to pass- Returns:
- the result of the call
-
call
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block) Description copied from class:CallSiteCall the site's method against the target object passing three arguments and a non-literal (block pass, &) block.- Specified by:
callin classCallSite- Parameters:
context- the ThreadContext for the current threadcaller- the caller, for visibility checksself- the target object to call againstarg1- the first argument to passarg2- the second argument to passarg3- the third argument to passblock- the block argument to pass- Returns:
- the result of the call
-
callIter
public final IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block) Description copied from class:CallSiteCall the site's method against the target object passing three arguments and a literal block. This version handles break jumps by returning their value if this is the appropriate place in the call stack to do so.- Specified by:
callIterin classCallSite- Parameters:
context- the ThreadContext for the current threadcaller- the caller, for visibility checksself- the target object to call againstarg1- the first argument to passarg2- the second argument to passarg3- the third argument to passblock- the literal block to pass- Returns:
- the result of the call
-
retrieveCache
-
retrieveCache
-
retrieveCache
Deprecated. -
isBuiltin
-
isBuiltin
-
cacheAndGet
Deprecated. -
cacheAndGet
-
cacheAndCall
private IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, Block block, IRubyObject[] args, ThreadContext context, IRubyObject self) -
cacheAndCall
private IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, IRubyObject[] args, ThreadContext context, IRubyObject self) -
cacheAndCall
private IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self) -
cacheAndCall
private IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self) -
cacheAndCall
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, IRubyObject arg) -
cacheAndCall
private IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, IRubyObject arg) -
cacheAndCall
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, IRubyObject arg1, IRubyObject arg2) -
cacheAndCall
private IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, IRubyObject arg1, IRubyObject arg2) -
cacheAndCall
private IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) -
cacheAndCall
private IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, Block block, ThreadContext context, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject[] args) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, Block block) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject[] args, Block block) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, Block block) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, IRubyObject arg1) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, IRubyObject arg1, Block block) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2) -
callMethodMissing
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, RubyClass selfType, DynamicMethod method, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) -
methodMissing
-
getClass
-