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, usesZSuper
public IRMethod(IRManager manager, IRScope lexicalParent, MethodDefNode defn, String name, boolean isInstanceMethod, int lineNumber, StaticScope staticScope)
public InterpreterContext prepareForInterpretation()
prepareForInterpretation
in class IRScope
public List<BasicBlock> prepareForCompilation()
IRScope
prepareForCompilation
in class IRScope
public IRScopeType getScopeType()
getScopeType
in class IRScope
public void addArgDesc(IRMethodArgs.ArgType type, String argName)
public Operand[] getCallArgs()
protected LocalVariable findExistingLocalVariable(String name, int scopeDepth)
findExistingLocalVariable
in class IRScope
public LocalVariable getLocalVariable(String name, int scopeDepth)
IRScope
getLocalVariable
in class IRScope
public 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.