|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jruby.internal.runtime.methods.DynamicMethod
org.jruby.internal.runtime.methods.DefaultMethod
public class DefaultMethod
This is the mixed-mode method type. It will call out to JIT compiler to see if the compiler wants to JIT or not. If the JIT compiler does JIT this it will return the new method to be executed here instead of executing the interpreted version of this method. The next invocation of the method will end up causing the runtime to load and execute the newly JIT'd method.
Field Summary |
---|
Fields inherited from class org.jruby.internal.runtime.methods.DynamicMethod |
---|
callConfig, implementationClass, protectedClass, visibility |
Constructor Summary | |
---|---|
DefaultMethod(RubyModule implementationClass,
StaticScope staticScope,
Node body,
ArgsNode argsNode,
Visibility visibility,
ISourcePosition position)
|
Method Summary | |
---|---|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name)
A default implementation of zero arity, non-block 'call' method, which simply calls the zero-arity, block-receiving version with Block.NULL_BLOCK. |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
Block block)
A default implementation of zero arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with IRubyObject.NULL_ARRAY. |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0)
A default implementation of one-arity, non-block 'call' method, which simply calls the one-arity, block-receiving version with the argument and Block.NULL_BLOCK. |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject[] args)
A default implementation of n-arity, non-block 'call' method, which simply calls the n-arity, block-receiving version with the arg list and Block.NULL_BLOCK. |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject[] args,
Block block)
The minimum 'call' method required for a dynamic method handle. |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0,
Block block)
A default implementation of one-arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with a boxed arg list. |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1)
A default implementation of two-arity, non-block 'call' method, which simply calls the two-arity, block-receiving version with the arguments and Block.NULL_BLOCK. |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1,
Block block)
A default implementation of two-arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with a boxed arg list. |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2)
A default implementation of three-arity, non-block 'call' method, which simply calls the three-arity, block-receiving version with the arguments and Block.NULL_BLOCK. |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2,
Block block)
A default implementation of three-arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with a boxed arg list. |
DynamicMethod |
dup()
Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes. |
ArgsNode |
getArgsNode()
|
Arity |
getArity()
Retrieve the arity of this method, used for reporting arity to Ruby code. |
Node |
getBodyNode()
|
int |
getCallCount()
|
ISourcePosition |
getPosition()
|
StaticScope |
getStaticScope()
|
int |
incrementCallCount()
|
IRubyObject |
interpretedCall(ThreadContext context,
Ruby runtime,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject[] args,
Block block)
|
void |
setCallCount(int callCount)
|
void |
setJITCallConfig(CallConfiguration jitCallConfig)
|
void |
setJITCompiledScript(Script jitCompiledScript)
|
Methods inherited from class org.jruby.internal.runtime.methods.DynamicMethod |
---|
calculateProtectedClass, getCallConfig, getImplementationClass, getProtectedClass, getRealMethod, getVisibility, handleRedo, handleReturn, init, isCallableFrom, isNative, isUndefined, setCallConfig, setImplementationClass, setVisibility |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DefaultMethod(RubyModule implementationClass, StaticScope staticScope, Node body, ArgsNode argsNode, Visibility visibility, ISourcePosition position)
Method Detail |
---|
public int getCallCount()
public int incrementCallCount()
public void setCallCount(int callCount)
public Node getBodyNode()
public ArgsNode getArgsNode()
getArgsNode
in interface MethodArgs
public StaticScope getStaticScope()
public void setJITCompiledScript(Script jitCompiledScript)
public void setJITCallConfig(CallConfiguration jitCallConfig)
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject[] args, Block block)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callname
- The incoming name used to invoke this methodargs
- The argument list to this invocationblock
- The block passed to this invocation
public IRubyObject interpretedCall(ThreadContext context, Ruby runtime, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject[] args, Block block)
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject[] args)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callname
- The incoming name used to invoke this method
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callclazz
- The Ruby class against which this method is bindingname
- The incoming name used to invoke this method
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, Block block)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callclazz
- The Ruby class against which this method is bindingname
- The incoming name used to invoke this methodblock
- The block passed to this invocation
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callclazz
- The Ruby class against which this method is bindingname
- The incoming name used to invoke this method
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, Block block)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callclazz
- The Ruby class against which this method is bindingname
- The incoming name used to invoke this methodarg0
- The one argument to this methodblock
- The block passed to this invocation
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callclazz
- The Ruby class against which this method is bindingname
- The incoming name used to invoke this methodarg0
- The first argument to this invocationarg1
- The second argument to this invocation
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1, Block block)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callclazz
- The Ruby class against which this method is bindingname
- The incoming name used to invoke this methodarg0
- The first argument to this invocationarg1
- The second argument to this invocationblock
- The block passed to this invocation
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callclazz
- The Ruby class against which this method is bindingname
- The incoming name used to invoke this methodarg0
- The first argument to this invocationarg1
- The second argument to this invocation
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callclazz
- The Ruby class against which this method is bindingname
- The incoming name used to invoke this methodarg0
- The first argument to this invocationarg1
- The second argument to this invocationblock
- The block passed to this invocation
public ISourcePosition getPosition()
public Arity getArity()
DynamicMethod
getArity
in class DynamicMethod
public DynamicMethod dup()
DynamicMethod
dup
in class DynamicMethod
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |