public class FullInterpreterContext extends InterpreterContext
Modifier and Type | Field and Description |
---|---|
int |
booleanVariableIndex |
int |
fixnumVariableIndex |
int |
floatVariableIndex |
dynamicScopeEliminated, hasExplicitCallProtocol, instructions, instructionsCallback, rescueIPCs, temporaryVariableCount
Constructor and Description |
---|
FullInterpreterContext(IRScope scope,
CFG cfg,
BasicBlock[] linearizedBBList,
int temporaryVariableCount,
java.util.EnumSet<IRFlags> flags) |
FullInterpreterContext(IRScope scope,
Instr[] instructions,
int temporaryVariableCount,
java.util.EnumSet<IRFlags> flags) |
allocateTemporaryBooleanVariables, allocateTemporaryFixnumVariables, allocateTemporaryFloatVariables, allocateTemporaryVariables, getEngine, getFileName, getFlags, getInstructions, getLine, getName, getRequiredArgsCount, getRescueIPCs, getScope, getStaticScope, getTemporaryVariableCount, isDynamicScopeEliminated, newDynamicScope, popDynScope, pushNewDynScope, receivesKeywordArguments, reuseParentDynScope, setDynamicScopeEliminated, setExplicitCallProtocol, setReuseParentDynScope, toString
public int floatVariableIndex
public int fixnumVariableIndex
public int booleanVariableIndex
public FullInterpreterContext(IRScope scope, CFG cfg, BasicBlock[] linearizedBBList, int temporaryVariableCount, java.util.EnumSet<IRFlags> flags)
public BasicBlock[] linearizeBasicBlocks()
public boolean hasExplicitCallProtocol()
hasExplicitCallProtocol
in class InterpreterContext
public boolean needsBinding()
public void generateInstructionsForInterpretation()
public CFG getCFG()
getCFG
in class InterpreterContext
public void computeScopeFlagsFromInstructions()
computeScopeFlagsFromInstructions
in class InterpreterContext
public java.util.Map<java.lang.String,DataFlowProblem> getDataFlowProblems()
public java.util.List<CompilerPass> getExecutedPasses()
public BasicBlock[] getLinearizedBBList()
public java.lang.String toStringInstrs()
toStringInstrs
in class InterpreterContext
public java.lang.String toStringLinearized()
public FullInterpreterContext duplicate()
public int determineRPC(int ipc)
public BasicBlock findBasicBlockOf(long callsiteId)
public java.util.Set<LocalVariable> getUsedLocalVariables()
public void setUpUseDefLocalVarMaps()
public boolean usesLocalVariable(Variable v)
public boolean definesLocalVariable(Variable v)
protected void initialize()
initialize
in class InterpreterContext
public TemporaryVariable createTemporaryVariable()
public TemporaryLocalVariable getNewTemporaryVariableFor(LocalVariable var)
public TemporaryLocalVariable getNewUnboxedVariable(java.lang.Class type)
public TemporaryLocalVariable getNewTemporaryVariable(TemporaryVariableType type)
public boolean needsFrame()
public boolean bindingHasEscaped()
public boolean needsOnlyBackref()
Copyright © 2001-2022 JRuby. All Rights Reserved.