public class FullInterpreterContext extends InterpreterContext
| Modifier and Type | Field and Description |
|---|---|
int |
booleanVariableIndex |
int |
fixnumVariableIndex |
int |
floatVariableIndex |
instructions, instructionsCallback, rescueIPCs, temporaryVariableCount| Constructor and Description |
|---|
FullInterpreterContext(IRScope scope,
CFG cfg,
BasicBlock[] linearizedBBList) |
FullInterpreterContext(IRScope scope,
Instr[] instructions) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
buildComplete()
have this interpretercontext fully built? This is slightly more complicated than this simple check, but it
should work.
|
void |
computeScopeFlagsFromInstructions() |
boolean |
definesLocalVariable(Variable v) |
int |
determineRPC(int ipc) |
FullInterpreterContext |
duplicate() |
BasicBlock |
findBasicBlockOf(long callsiteId) |
void |
generateInstructionsForInterpretation()
We plan on running this in full interpreted mode.
|
CFG |
getCFG() |
java.util.Map<java.lang.String,DataFlowProblem> |
getDataFlowProblems() |
java.util.List<CompilerPass> |
getExecutedPasses() |
BasicBlock[] |
getLinearizedBBList() |
java.util.Set<LocalVariable> |
getUsedLocalVariables()
Get all variables referenced by this scope.
|
boolean |
hasExplicitCallProtocol() |
BasicBlock[] |
linearizeBasicBlocks() |
boolean |
popDynScope() |
boolean |
pushNewDynScope() |
boolean |
reuseParentDynScope() |
void |
setUpUseDefLocalVarMaps() |
java.lang.String |
toStringInstrs() |
java.lang.String |
toStringLinearized() |
boolean |
usesLocalVariable(Variable v) |
allocateTemporaryBooleanVariables, allocateTemporaryFixnumVariables, allocateTemporaryFloatVariables, allocateTemporaryVariables, getEngine, getFileName, getFlags, getInstructions, getName, getRequiredArgsCount, getRescueIPCs, getScope, getStaticScope, newDynamicScope, receivesKeywordArguments, setEngine, toStringpublic int floatVariableIndex
public int fixnumVariableIndex
public int booleanVariableIndex
public FullInterpreterContext(IRScope scope, CFG cfg, BasicBlock[] linearizedBBList)
public boolean buildComplete()
buildComplete in class InterpreterContextpublic BasicBlock[] linearizeBasicBlocks()
public boolean hasExplicitCallProtocol()
hasExplicitCallProtocol in class InterpreterContextpublic boolean pushNewDynScope()
pushNewDynScope in class InterpreterContextpublic boolean popDynScope()
popDynScope in class InterpreterContextpublic boolean reuseParentDynScope()
reuseParentDynScope in class InterpreterContextpublic 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)
Copyright © 2001-2020 JRuby. All Rights Reserved.