public class IRClosure extends IRScope
| Modifier and Type | Field and Description |
|---|---|
protected ArgumentDescriptor[] |
argDesc |
int |
closureId |
Label |
endLabel |
Label |
startLabel |
booleanVariableIndex, fixnumVariableIndex, floatVariableIndex, fullInterpreterContext, interpreterContext, LOG, temporaryVariableIndex, threadPollInstrsCount| Modifier | Constructor and Description |
|---|---|
protected |
IRClosure(IRClosure c,
IRScope lexicalParent,
int closureId,
RubySymbol fullName)
Used by cloning code
|
protected |
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
org.jruby.util.ByteList prefix) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
boolean needsCoverage) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
org.jruby.util.ByteList prefix) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
org.jruby.util.ByteList prefix,
boolean isBeginEndBlock) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
org.jruby.util.ByteList prefix,
boolean isBeginEndBlock,
boolean needsCoverage) |
addChildScope, addClosure, allocateNextPrefixedName, bindingHasEscaped, buildJVMExceptionTable, canReceiveNonlocalReturns, computeScopeFlags, computeScopeFlagsEarly, 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, getNewInlineVariable, getNewLabel, getNewTemporaryVariableFor, getNewUnboxedVariable, getPrefixCountSize, getRootLexicalScope, getScopeId, getSelf, getStaticScope, getStoreLocalVarPlacementProblem, getTemporaryVariablesCount, getThreadPollInstrsCount, getUnboxableOpsAnalysisProblem, getUsedLocalVariables, getUsedVariablesCount, getVarIndices, getYieldClosureVariable, hasBeenBuilt, hasExplicitCallProtocol, hashCode, hasLoops, inlineMethod, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScriptScope, isUnsafeScope, lookupExistingLVar, maybeUsingRefinements, needsBinding, needsFrame, needsOnlyBackref, parentMaybeUsingRefinements, prepareForCompilation, prepareFullBuild, putLiveVariablesProblem, putStoreLocalVarPlacementProblem, putUnboxableOpsAnalysisProblem, receivesKeywordArgs, recordBeginBlock, removeClosure, resetState, resetTemporaryVariables, resetVariableCounter, reuseParentScope, setExplicitCallProtocolFlag, setFileName, setHasLoopsFlag, setInterpreterContext, setIsMaybeUsingRefinements, setLabelIndices, setLocalVariables, setTemporaryVariableCount, setUpUseDefLocalVarMaps, toString, toStringInstrs, usesEval, usesLocalVariable, usesZSuperpublic final Label startLabel
public final Label endLabel
public final int closureId
protected ArgumentDescriptor[] argDesc
protected IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, org.jruby.util.ByteList prefix)
protected IRClosure(IRClosure c, IRScope lexicalParent, int closureId, RubySymbol fullName)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, boolean needsCoverage)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, org.jruby.util.ByteList prefix)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, org.jruby.util.ByteList prefix, boolean isBeginEndBlock)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, org.jruby.util.ByteList prefix, boolean isBeginEndBlock, boolean needsCoverage)
public InterpreterContext allocateInterpreterContext(java.util.List<Instr> instructions)
IRScopeallocateInterpreterContext in class IRScopepublic InterpreterContext allocateInterpreterContext(java.util.concurrent.Callable<java.util.List<Instr>> instructions)
IRScopeallocateInterpreterContext in class IRScopepublic void setBeginEndBlock()
public boolean isBeginEndBlock()
isBeginEndBlock in class IRScopepublic int getNextClosureId()
getNextClosureId in class IRScopepublic LocalVariable getNewFlipStateVariable()
getNewFlipStateVariable in class IRScopepublic TemporaryLocalVariable createTemporaryVariable()
createTemporaryVariable in class IRScopepublic TemporaryLocalVariable getNewTemporaryVariable(TemporaryVariableType type)
getNewTemporaryVariable in class IRScopepublic Label getNewLabel()
getNewLabel in class IRScopepublic IRScopeType getScopeType()
getScopeType in class IRScopepublic boolean isTopLocalVariableScope()
isTopLocalVariableScope in class IRScopepublic boolean isFlipScope()
isFlipScope in class IRScopepublic java.lang.String toStringBody()
public BlockBody getBlockBody()
public boolean isNestedClosuresSafeForMethodConversion()
public IRMethod convertToMethod(RubySymbol name)
public void setSource(IterNode iter)
protected LocalVariable findExistingLocalVariable(RubySymbol name, int scopeDepth)
findExistingLocalVariable in class IRScopepublic LocalVariable getNewLocalVariable(RubySymbol name, int depth)
getNewLocalVariable in class IRScopepublic LocalVariable getLocalVariable(RubySymbol name, int depth)
IRScopegetLocalVariable in class IRScopepublic void setName(RubySymbol name)
public Signature getSignature()
public void setHandle(org.objectweb.asm.Handle handle)
public org.objectweb.asm.Handle getHandle()
public ArgumentDescriptor[] getArgumentDescriptors()
public void setArgumentDescriptors(ArgumentDescriptor[] argDesc)
Copyright © 2001-2018 JRuby. All Rights Reserved.