public abstract class AbstractIRMethod extends DynamicMethod implements IRMethodArgs, PositionAware, java.lang.Cloneable
DynamicMethod.NativeCall, DynamicMethod.Version| Modifier and Type | Field and Description |
|---|---|
protected int |
callCount |
protected InterpreterContext |
interpreterContext |
protected IRScope |
method |
protected Signature |
signature |
protected StaticScope |
staticScope |
definedClass, flags, handle, implementationClass, name, protectedClass, serialNumber| Constructor and Description |
|---|
AbstractIRMethod(IRScope method,
Visibility visibility,
RubyModule implementationClass) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
clone() |
DynamicMethod |
dup()
Duplicate this method, returning DynamicMethod referencing the same code
and with the same attributes.
|
InterpreterContext |
ensureInstrsReady() |
ArgumentDescriptor[] |
getArgumentDescriptors()
Get the array of ArgumentDescriptors that represent the arguments to this method.
|
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.
|
IRScope |
getIRScope() |
int |
getLine()
Get the line number for the method.
|
MethodData |
getMethodData()
Additional metadata about this method.
|
Signature |
getSignature()
Get the Signature for this method.
|
StaticScope |
getStaticScope() |
protected abstract void |
printMethodIR() |
void |
setCallCount(int callCount) |
java.lang.String |
toString() |
static <T extends AbstractIRMethod & Compilable> |
tryJit(ThreadContext context,
T self) |
calculateProtectedClass, call, call, call, call, call, call, call, call, call, call, getCallConfig, getDefinedClass, getHandle, getImplementationClass, getName, getProtectedClass, getRealMethod, getSerialNumber, getVisibility, init, init, isBuiltin, isCallableFrom, isImplementedBy, isNative, isNotImplemented, isNull, isRefined, isUndefined, setCallConfig, setDefinedClass, setHandle, setImplementationClass, setIsBuiltin, setNotImplemented, setVisibilityprotected final Signature signature
protected final IRScope method
protected final StaticScope staticScope
protected int callCount
protected transient InterpreterContext interpreterContext
public AbstractIRMethod(IRScope method, Visibility visibility, RubyModule implementationClass)
public static <T extends AbstractIRMethod & Compilable> void tryJit(ThreadContext context, T self)
public final void setCallCount(int callCount)
public IRScope getIRScope()
public StaticScope getStaticScope()
public ArgumentDescriptor[] getArgumentDescriptors()
IRMethodArgsgetArgumentDescriptors in interface IRMethodArgspublic InterpreterContext ensureInstrsReady()
protected abstract void printMethodIR()
public Signature getSignature()
IRMethodArgsgetSignature in interface IRMethodArgspublic Arity getArity()
DynamicMethodgetArity in class DynamicMethodpublic DynamicMethod dup()
DynamicMethoddup in class DynamicMethodpublic java.lang.Object clone()
clone in class java.lang.Objectpublic java.lang.String getFile()
PositionAwaregetFile in interface PositionAwarepublic int getLine()
PositionAwaregetLine in interface PositionAwarepublic MethodData getMethodData()
getMethodData in class DynamicMethodpublic java.lang.String toString()
toString in class java.lang.ObjectCopyright © 2001-2021 JRuby. All Rights Reserved.