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, usesZSuper
public 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()
IRScope
hasBeenBuilt
in class IRScope
public InterpreterContext lazilyAcquireInterpreterContext()
public BasicBlock[] prepareForCompilation()
IRScope
prepareForCompilation
in class IRScope
public IRScopeType getScopeType()
getScopeType
in class IRScope
protected LocalVariable findExistingLocalVariable(RubySymbol name, int scopeDepth)
findExistingLocalVariable
in class IRScope
public LocalVariable getLocalVariable(RubySymbol name, int scopeDepth)
IRScope
getLocalVariable
in class IRScope
public ArgumentDescriptor[] getArgumentDescriptors()
public void setArgumentDescriptors(ArgumentDescriptor[] argDesc)
Copyright © 2001-2018 JRuby. All Rights Reserved.