public class IRMethod extends IRScope
| Modifier and Type | Field and Description |
|---|---|
boolean |
isInstanceMethod |
booleanVariableIndex, fixnumVariableIndex, floatVariableIndex, interpreterContext, temporaryVariableIndex| Constructor and Description |
|---|
IRMethod(IRManager manager,
IRScope lexicalParent,
MethodDefNode defn,
String name,
boolean isInstanceMethod,
int lineNumber,
StaticScope staticScope) |
| Modifier and Type | Method and Description |
|---|---|
void |
addArgDesc(IRMethodArgs.ArgType type,
String argName) |
void |
addInstr(Instr i) |
void |
addNativeSignature(int arity,
java.lang.invoke.MethodType signature) |
protected LocalVariable |
findExistingLocalVariable(String name,
int scopeDepth) |
List<String[]> |
getArgDesc() |
Operand[] |
getCallArgs() |
String |
getJittedName() |
LocalVariable |
getLocalVariable(String name,
int scopeDepth)
Find or create a local variable.
|
java.lang.invoke.MethodType |
getNativeSignature(int arity) |
Map<Integer,java.lang.invoke.MethodType> |
getNativeSignatures() |
IRScopeType |
getScopeType() |
List<BasicBlock> |
prepareForCompilation()
Run any necessary passes to get the IR ready for compilation
|
InterpreterContext |
prepareForInterpretation()
Run any necessary passes to get the IR ready for interpretation
|
void |
setJittedName(String jittedName) |
addChildScope, addClosure, addInstrAtBeginning, allocateInterpreterContext, allocateNextPrefixedName, bindingHasEscaped, buildCFG, buildJVMExceptionTable, buildLinearization, canReceiveNonlocalReturns, cfg, computeScopeFlags, createTemporaryVariable, definesLocalVariable, depends, equals, getBeginBlocks, getBooleanVariablesCount, getCFG, getClosures, getCurrentModuleVariable, getCurrentScopeVariable, getDataFlowSolution, getEndBlocks, getExecutedPasses, getFileName, getFixnumVariablesCount, getFlags, getFloatVariablesCount, getInstrs, getInterpreterContext, getLexicalParent, getLexicalScopes, getLineNumber, getLocalVariables, getLocalVariablesCount, getManager, getName, getNearestFlipVariableScope, getNearestMethod, getNearestModuleReferencingScopeDepth, getNearestTopLocalVariableScope, getNewFlipStateVariable, getNewInlineVariable, getNewLabel, getNewLabel, getNewLocalVariable, getNewTemporaryVariable, getNewTemporaryVariableFor, getNewUnboxedVariable, getNextClosureId, getPrefixCountSize, getScopeId, getSelf, getStaticScope, getTemporaryVariablesCount, getThreadPollInstrsCount, getTopLevelScope, getUsedVariablesCount, getVarIndices, getYieldClosureVariable, hasExplicitCallProtocol, hashCode, hasLoops, initEvalScopeVariableAllocator, initFlipStateVariable, initNestedClosures, initScope, inlineMethod, isBeginEndBlock, isFlipScope, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScriptScope, isTopLocalVariableScope, linearization, lookupExistingLVar, prepareInstructions, receivesKeywordArgs, recordBeginBlock, removeClosure, resetLinearizationData, resetState, resetTemporaryVariables, resetVariableCounter, savePersistenceInfo, setCFG, setDataFlowSolution, setExplicitCallProtocolFlag, setHasLoopsFlag, setLabelIndices, setLocalVariables, setName, setPrefixedNameIndexTo, setTemporaryVariableCount, setUpUseDefLocalVarMaps, toString, toStringInstrs, usesBackrefOrLastline, usesEval, usesLocalVariable, usesZSuperpublic IRMethod(IRManager manager, IRScope lexicalParent, MethodDefNode defn, String name, boolean isInstanceMethod, int lineNumber, StaticScope staticScope)
public InterpreterContext prepareForInterpretation()
prepareForInterpretation in class IRScopepublic List<BasicBlock> prepareForCompilation()
IRScopeprepareForCompilation in class IRScopepublic IRScopeType getScopeType()
getScopeType in class IRScopepublic void addArgDesc(IRMethodArgs.ArgType type, String argName)
public Operand[] getCallArgs()
protected LocalVariable findExistingLocalVariable(String name, int scopeDepth)
findExistingLocalVariable in class IRScopepublic LocalVariable getLocalVariable(String name, int scopeDepth)
IRScopegetLocalVariable in class IRScopepublic void addNativeSignature(int arity,
java.lang.invoke.MethodType signature)
public java.lang.invoke.MethodType getNativeSignature(int arity)
public Map<Integer,java.lang.invoke.MethodType> getNativeSignatures()
public String getJittedName()
public void setJittedName(String jittedName)
Copyright © 2001-2015 JRuby. All Rights Reserved.