public class IRMethod extends IRScope
| Modifier and Type | Field and Description |
|---|---|
protected ArgumentDescriptor[] |
argDesc |
boolean |
isInstanceMethod |
compilable, fullInterpreterContext, interpreterContext, LOG, nextClosureIndex, optimizedInterpreterContext| Constructor and Description |
|---|
IRMethod(IRManager manager,
IRScope lexicalParent,
DefNode defn,
ByteList name,
boolean isInstanceMethod,
int lineNumber,
StaticScope staticScope,
int coverageMode) |
| Modifier and Type | Method and Description |
|---|---|
InterpreterContext |
builtInterperterContextForJavaConstructor()
initialize methods in reified Java types will try and dispatch to the Java base classes
constructor when the Ruby in the initialize:
a) The super call is still valid in terms of Java (e.g.
|
InterpreterContext |
builtInterpreterContext() |
protected LocalVariable |
findExistingLocalVariable(RubySymbol name,
int scopeDepth) |
ArgumentDescriptor[] |
getArgumentDescriptors() |
LocalVariable |
getLocalVariable(RubySymbol name,
int scopeDepth)
Find or create a local variable.
|
MethodData |
getMethodData() |
IRScopeType |
getScopeType() |
boolean |
hasBeenBuilt()
For lazy scopes which IRBuild on demand we can ask this method whether it has been built yet...
|
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.
|
accessesParentsLocalVariables, addChildScope, addClosure, allocateInitialFlags, allocateInterpreterContext, allocateInterpreterContext, anyUsesEval, buildJVMExceptionTable, canCaptureCallersBinding, canReceiveBreaks, canReceiveNonlocalReturns, captureParentRefinements, cleanupAfterExecution, countForLoops, debugOutput, depends, dumpToIGV, equals, executesOnce, getByteName, getClosures, getCoverageMode, getExecutedPasses, getExecutionContext, getFile, getFileName, getFullInterpreterContext, getFullyQualifiedName, getId, getInterpreterContext, getLexicalParent, getLexicalScopes, getLine, getLineNumber, getLocalVariables, getManager, getName, getNearestMethod, getNearestModuleReferencingScopeDepth, getNearestTopLocalVariableScope, getNewLabel, getNewLabel, getNewLocalVariable, getNextClosureId, getNextLabelIndex, getOptimizedInterpreterContext, getRootLexicalScope, getScopeId, getSelf, getStaticScope, hasBreakInstructions, hashCode, hasLoops, hasNonLocalReturns, inlineMethod, inlineMethodCompiled, inlineMethodJIT, inliningAllowed, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScopeContainedBy, isScriptScope, isTopLocalVariableScope, isWithinEND, lookupExistingLVar, maybeUsingRefinements, needsCodeCoverage, parentMaybeUsingRefinements, persistScopeFlags, persistScopeHeader, prepareFullBuild, receivesClosureArg, receivesKeywordArgs, removeClosure, setAccessesParentsLocalVariables, setByteName, setCanCaptureCallersBinding, setCanReceiveBreaks, setCanReceiveNonlocalReturns, setCoverageMode, setFileName, setHasBreakInstructions, setHasLoops, setHasNonLocalReturns, setIsMaybeUsingRefinements, setNeedsCodeCoverage, setNextLabelIndex, setReceivesClosureArg, setReceivesKeywordArgs, setUsesEval, setUsesSuper, setUsesZSuper, toString, toStringCompileForm, toStringInstrs, usesEval, usesSuper, usesZSuperpublic final boolean isInstanceMethod
protected ArgumentDescriptor[] argDesc
public IRMethod(IRManager manager, IRScope lexicalParent, DefNode defn, ByteList name, boolean isInstanceMethod, int lineNumber, StaticScope staticScope, int coverageMode)
public boolean hasBeenBuilt()
IRScopehasBeenBuilt in class IRScopepublic MethodData getMethodData()
public InterpreterContext builtInterpreterContext()
builtInterpreterContext in class IRScopepublic InterpreterContext builtInterperterContextForJavaConstructor()
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-2022 JRuby. All Rights Reserved.