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, setVisibility
protected 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()
IRMethodArgs
getArgumentDescriptors
in interface IRMethodArgs
public InterpreterContext ensureInstrsReady()
protected abstract void printMethodIR()
public Signature getSignature()
IRMethodArgs
getSignature
in interface IRMethodArgs
public Arity getArity()
DynamicMethod
getArity
in class DynamicMethod
public DynamicMethod dup()
DynamicMethod
dup
in class DynamicMethod
public java.lang.Object clone()
clone
in class java.lang.Object
public java.lang.String getFile()
PositionAware
getFile
in interface PositionAware
public int getLine()
PositionAware
getLine
in interface PositionAware
public MethodData getMethodData()
getMethodData
in class DynamicMethod
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2001-2021 JRuby. All Rights Reserved.