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, getName, getRequiredArgsCount, getRescueIPCs, getScope, getStaticScope, getTemporaryVariableCount, isDynamicScopeEliminated, newDynamicScope, popDynScope, pushNewDynScope, receivesKeywordArguments, reuseParentDynScope, setDynamicScopeEliminated, setExplicitCallProtocol, setReuseParentDynScope, toStringpublic 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 InterpreterContextpublic boolean needsBinding()
public void generateInstructionsForInterpretation()
public CFG getCFG()
getCFG in class InterpreterContextpublic void computeScopeFlagsFromInstructions()
computeScopeFlagsFromInstructions in class InterpreterContextpublic 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 InterpreterContextpublic 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 InterpreterContextpublic 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-2020 JRuby. All Rights Reserved.