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_EXCEPTIONapplyToObject, noArgsapplyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKeynameKey| 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, overrideEquivalentapplyToObjectapply0, 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, toStringgetName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbolpublic 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 MethodProcpublic int numArgs()
ProcedureminArgs()|(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.