public class CompiledProc extends MethodProc
Modifier and Type | Field and Description |
---|---|
protected int |
numArgs |
applyToConsumerDefaultMP, argTypes, NO_MATCH, NO_MATCH_AMBIGUOUS, NO_MATCH_BAD_TYPE, NO_MATCH_GUARD_FALSE, NO_MATCH_TOO_FEW_ARGS, NO_MATCH_TOO_MANY_ARGS, NO_MATCH_UNUSED_KEYWORD, THROW_ON_EXCEPTION
applyToObject, noArgs
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
Constructor and Description |
---|
CompiledProc(boolean resultGoesToConsumer,
java.lang.invoke.MethodHandle applyMethod,
java.lang.Object name,
int numArgs,
java.lang.Object argTypes) |
CompiledProc(java.lang.Object module,
boolean resultGoesToConsumer,
java.lang.invoke.MethodHandle applyMethod,
java.lang.Object name,
int numArgs) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getModule() |
java.lang.Class |
getModuleClass() |
CompiledProc |
init(boolean resultGoesToConsumer,
java.lang.invoke.MethodHandle applyMethod,
java.lang.Object name,
int numArgs) |
void |
initResultToConsumer(java.lang.Object module,
java.lang.invoke.MethodHandle applyMethod,
java.lang.Object name,
int numArgs) |
void |
initResultToObject(java.lang.Object module,
java.lang.invoke.MethodHandle applyMethod,
java.lang.Object name,
int numArgs) |
static CompiledProc |
makeResultToConsumer(java.lang.Object module,
java.lang.invoke.MethodHandle applyMethod,
java.lang.Object name,
int numArgs) |
static CompiledProc |
makeResultToObject(java.lang.Object module,
java.lang.invoke.MethodHandle applyMethod,
java.lang.Object name,
int numArgs) |
int |
numArgs()
Return
minArgs()|(maxArgs<<12) . |
protected void |
resolveParameterTypes()
Figure out parameter types.
|
applyToConsumerDefaultMP, getParameterType, isApplicable, matchFailAsException, mostSpecific, numParameters, overrideEquivalent
applyToObject
apply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public CompiledProc(java.lang.Object module, boolean resultGoesToConsumer, java.lang.invoke.MethodHandle applyMethod, java.lang.Object name, int numArgs)
public CompiledProc(boolean resultGoesToConsumer, java.lang.invoke.MethodHandle applyMethod, java.lang.Object name, int numArgs, java.lang.Object argTypes)
public java.lang.Object getModule()
public java.lang.Class getModuleClass()
public static CompiledProc makeResultToObject(java.lang.Object module, java.lang.invoke.MethodHandle applyMethod, java.lang.Object name, int numArgs)
public static CompiledProc makeResultToConsumer(java.lang.Object module, java.lang.invoke.MethodHandle applyMethod, java.lang.Object name, int numArgs)
public void initResultToObject(java.lang.Object module, java.lang.invoke.MethodHandle applyMethod, java.lang.Object name, int numArgs)
public void initResultToConsumer(java.lang.Object module, java.lang.invoke.MethodHandle applyMethod, java.lang.Object name, int numArgs)
public CompiledProc init(boolean resultGoesToConsumer, java.lang.invoke.MethodHandle applyMethod, java.lang.Object name, int numArgs)
protected void resolveParameterTypes()
resolveParameterTypes
in class MethodProc
public int numArgs()
Procedure
minArgs()|(maxArgs<<12)
.
We use a single virtual function to reduce the number of methods
in the system, as well as the number of virtual method table entries.
We shift by 12 so the number can normally be represented using a
sipush instruction, without requiring a constant pool entry.