|
||||||||||
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.JittedMethod
public class JittedMethod
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.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.jruby.internal.runtime.methods.DynamicMethod |
---|
DynamicMethod.NativeCall |
Field Summary |
---|
Fields inherited from class org.jruby.internal.runtime.methods.DynamicMethod |
---|
builtin, callConfig, implementationClass, name, nativeCall, notImplemented, protectedClass, serialNumber, visibility |
Constructor Summary | |
---|---|
JittedMethod(RubyModule implementationClass,
StaticScope staticScope,
Script jitCompiledScript,
java.lang.String name,
CallConfiguration jitCallConfig,
Visibility visibility,
Arity arity,
ISourcePosition position,
DefaultMethod realMethod)
|
Method Summary | |
---|---|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name)
Arity 0, no block |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
Block block)
Arity 0, with block; calls through IRubyObject[] path |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0)
Arity 1, no 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)
Arity 1, with block; calls through IRubyObject[] path |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1)
Arity 2, no block |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1,
Block block)
Arity 2, with block; calls through IRubyObject[] path |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2)
Arity 3, no block |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2,
Block block)
Arity 3, with block; calls through IRubyObject[] path |
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. |
java.lang.String |
getFile()
Get the filename for the method. |
int |
getLine()
Get the line number for the method. |
ISourcePosition |
getPosition()
|
DynamicMethod |
getRealMethod()
Get the "real" method contained within this method. |
StaticScope |
getStaticScope()
|
protected void |
post(Ruby runtime,
ThreadContext context,
java.lang.String name)
|
protected void |
pre(ThreadContext context,
IRubyObject self,
java.lang.String name,
Block block,
int argsLength)
|
Methods inherited from class org.jruby.internal.runtime.methods.DynamicMethod |
---|
calculateProtectedClass, call, call, call, call, call, call, call, call, call, call, call, call, call, call, getCallConfig, getImplementationClass, getName, getNativeCall, getProtectedClass, getSerialNumber, getVisibility, handleBreak, handleRedo, handleReturn, init, isBuiltin, isCallableFrom, isNative, isNotImplemented, isUndefined, setCallConfig, setImplementationClass, setIsBuiltin, setName, setNativeCall, setNotImplemented, setVisibility |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JittedMethod(RubyModule implementationClass, StaticScope staticScope, Script jitCompiledScript, java.lang.String name, CallConfiguration jitCallConfig, Visibility visibility, Arity arity, ISourcePosition position, DefaultMethod realMethod)
Method Detail |
---|
public StaticScope getStaticScope()
public DynamicMethod getRealMethod()
DynamicMethod
getRealMethod
in class DynamicMethod
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 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
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, Block block)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, Block block)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1, Block block)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)
DynamicMethod
call
in class DynamicMethod
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
protected void pre(ThreadContext context, IRubyObject self, java.lang.String name, Block block, int argsLength)
protected void post(Ruby runtime, ThreadContext context, java.lang.String name)
public ISourcePosition getPosition()
public java.lang.String getFile()
PositionAware
getFile
in interface PositionAware
public int getLine()
PositionAware
getLine
in interface PositionAware
public Arity getArity()
DynamicMethod
getArity
in class DynamicMethod
public ArgsNode getArgsNode()
getArgsNode
in interface MethodArgs
public DynamicMethod dup()
DynamicMethod
dup
in class DynamicMethod
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |