public class IRMethod extends IRScope
| Modifier and Type | Field and Description |
|---|---|
protected ArgumentDescriptor[] |
argDesc |
boolean |
isInstanceMethod |
booleanVariableIndex, fixnumVariableIndex, floatVariableIndex, fullInterpreterContext, interpreterContext, LOG, temporaryVariableIndex, threadPollInstrsCount| Constructor and Description |
|---|
IRMethod(IRManager manager,
IRScope lexicalParent,
DefNode defn,
RubySymbol name,
boolean isInstanceMethod,
int lineNumber,
StaticScope staticScope,
boolean needsCodeCoverage) |
| Modifier and Type | Method and Description |
|---|---|
protected LocalVariable |
findExistingLocalVariable(RubySymbol name,
int scopeDepth) |
ArgumentDescriptor[] |
getArgumentDescriptors() |
LocalVariable |
getLocalVariable(RubySymbol name,
int scopeDepth)
Find or create a local variable.
|
IRScopeType |
getScopeType() |
boolean |
hasBeenBuilt()
For lazy scopes which IRBuild on demand we can ask this method whether it has been built yet...
|
InterpreterContext |
lazilyAcquireInterpreterContext() |
BasicBlock[] |
prepareForCompilation()
Run any necessary passes to get the IR ready for compilation (AOT and/or JIT)
|
void |
setArgumentDescriptors(ArgumentDescriptor[] argDesc)
Set upon completion of IRBuild of this IRMethod.
|
addChildScope, addClosure, allocateInterpreterContext, allocateInterpreterContext, allocateNextPrefixedName, bindingHasEscaped, buildJVMExceptionTable, canReceiveNonlocalReturns, computeScopeFlags, computeScopeFlagsEarly, createTemporaryVariable, debugOutput, definesLocalVariable, depends, dumpToIGV, equals, getBeginBlocks, getBooleanVariablesCount, getCFG, getClosures, getCurrentModuleVariable, getCurrentScopeVariable, getEndBlocks, getExecutedPasses, getExecutionContext, getFileName, getFixnumVariablesCount, getFlags, getFloatVariablesCount, getFullInterpreterContext, getFullyQualifiedName, getId, getInterpreterContext, getLexicalParent, getLexicalScopes, getLineNumber, getLiveVariablesProblem, getLocalVariables, getLocalVariablesCount, getManager, getName, getNearestFlipVariableScope, getNearestMethod, getNearestModuleReferencingScopeDepth, getNearestTopLocalVariableScope, getNewFlipStateVariable, getNewInlineVariable, getNewLabel, getNewLabel, getNewLocalVariable, getNewTemporaryVariable, getNewTemporaryVariableFor, getNewUnboxedVariable, getNextClosureId, getPrefixCountSize, getRootLexicalScope, getScopeId, getSelf, getStaticScope, getStoreLocalVarPlacementProblem, getTemporaryVariablesCount, getThreadPollInstrsCount, getUnboxableOpsAnalysisProblem, getUsedLocalVariables, getUsedVariablesCount, getVarIndices, getYieldClosureVariable, hasExplicitCallProtocol, hashCode, hasLoops, inlineMethod, isBeginEndBlock, isFlipScope, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScriptScope, isTopLocalVariableScope, isUnsafeScope, lookupExistingLVar, maybeUsingRefinements, needsBinding, needsFrame, needsOnlyBackref, parentMaybeUsingRefinements, prepareFullBuild, putLiveVariablesProblem, putStoreLocalVarPlacementProblem, putUnboxableOpsAnalysisProblem, receivesKeywordArgs, recordBeginBlock, removeClosure, resetState, resetTemporaryVariables, resetVariableCounter, reuseParentScope, setExplicitCallProtocolFlag, setFileName, setHasLoopsFlag, setInterpreterContext, setIsMaybeUsingRefinements, setLabelIndices, setLocalVariables, setName, setTemporaryVariableCount, setUpUseDefLocalVarMaps, toString, toStringInstrs, usesEval, usesLocalVariable, usesZSuperpublic final boolean isInstanceMethod
protected ArgumentDescriptor[] argDesc
public IRMethod(IRManager manager, IRScope lexicalParent, DefNode defn, RubySymbol name, boolean isInstanceMethod, int lineNumber, StaticScope staticScope, boolean needsCodeCoverage)
public boolean hasBeenBuilt()
IRScopehasBeenBuilt in class IRScopepublic InterpreterContext lazilyAcquireInterpreterContext()
public BasicBlock[] prepareForCompilation()
IRScopeprepareForCompilation in class IRScopepublic IRScopeType getScopeType()
getScopeType in class IRScopeprotected LocalVariable findExistingLocalVariable(RubySymbol name, int scopeDepth)
findExistingLocalVariable in class IRScopepublic LocalVariable getLocalVariable(RubySymbol name, int scopeDepth)
IRScopegetLocalVariable in class IRScopepublic ArgumentDescriptor[] getArgumentDescriptors()
public void setArgumentDescriptors(ArgumentDescriptor[] argDesc)
Copyright © 2001-2018 JRuby. All Rights Reserved.