Package org.jruby.ir.interpreter
Class InterpreterContext
java.lang.Object
org.jruby.ir.interpreter.InterpreterContext
- Direct Known Subclasses:
ClosureInterpreterContext,ExitableInterpreterContext,FullInterpreterContext
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final InterpreterEngineprotected booleanprivate InterpreterEngineprotected booleanprotected Instr[]private booleanprivate static final Instr[]protected int[]private booleanprivate final IRScopeprivate static final InterpreterEngineprotected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean[]long[]double[]Object[]voidgetCFG()getFlags()Instr[]intgetLine()getName()intint[]getScope()intbooleanprotected voidbooleannewDynamicScope(ThreadContext context) Get a new dynamic scope.booleanprivate Instr[]prepareBuildInstructions(List<Instr> instructions) booleanbooleanbooleanvoidsetDynamicScopeEliminated(boolean dynamicScopeEliminated) voidsetExplicitCallProtocol(boolean callProtocol) private voidsetInstructions(List<Instr> instructions) voidsetReuseParentDynScope(boolean reuseParentDynScope) toString()
-
Field Details
-
NO_INSTRUCTIONS
-
DEFAULT_INTERPRETER
-
STARTUP_INTERPRETER
-
temporaryVariableCount
protected int temporaryVariableCount -
instructions
-
rescueIPCs
protected int[] rescueIPCs -
hasExplicitCallProtocol
protected boolean hasExplicitCallProtocol -
dynamicScopeEliminated
protected boolean dynamicScopeEliminated -
reuseParentDynScope
private boolean reuseParentDynScope -
metaClassBodyScope
private boolean metaClassBodyScope -
engine
-
instructionsCallback
-
flags
-
scope
-
-
Constructor Details
-
InterpreterContext
-
InterpreterContext
-
-
Method Details
-
initialize
protected void initialize() -
getEngine
-
getInstructions
-
setInstructions
-
prepareBuildInstructions
-
getRescueIPCs
public int[] getRescueIPCs() -
getRequiredArgsCount
public int getRequiredArgsCount() -
getScope
-
getCFG
-
getTemporaryVariableCount
public int getTemporaryVariableCount() -
allocateTemporaryVariables
-
allocateTemporaryBooleanVariables
public boolean[] allocateTemporaryBooleanVariables() -
allocateTemporaryFixnumVariables
public long[] allocateTemporaryFixnumVariables() -
allocateTemporaryFloatVariables
public double[] allocateTemporaryFloatVariables() -
getStaticScope
-
getFileName
-
getLine
public int getLine() -
getName
-
computeScopeFlagsFromInstructions
public void computeScopeFlagsFromInstructions() -
newDynamicScope
Get a new dynamic scope. Note: This only works for method scopes (ClosureIC will throw). -
hasExplicitCallProtocol
public boolean hasExplicitCallProtocol() -
setExplicitCallProtocol
public void setExplicitCallProtocol(boolean callProtocol) -
isDynamicScopeEliminated
public boolean isDynamicScopeEliminated() -
setDynamicScopeEliminated
public void setDynamicScopeEliminated(boolean dynamicScopeEliminated) -
pushNewDynScope
public boolean pushNewDynScope() -
reuseParentDynScope
public boolean reuseParentDynScope() -
setReuseParentDynScope
public void setReuseParentDynScope(boolean reuseParentDynScope) -
popDynScope
public boolean popDynScope() -
receivesKeywordArguments
public boolean receivesKeywordArguments() -
toString
-
toStringInstrs
-
getFlags
-