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 TypeFieldDescriptionprotected booleanprotected booleanprotected Instr[]protected int[]protected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean[]long[]double[]Object[]voidgetCFG()getFlags()Instr[]intgetLine()getName()intint[]getScope()intbooleanprotected voidbooleanbooleanisEND()booleannewDynamicScope(ThreadContext context) Get a new dynamic scope.booleanbooleanbooleanbooleanvoidsetDynamicScopeEliminated(boolean dynamicScopeEliminated) voidsetExplicitCallProtocol(boolean callProtocol) voidsetReuseParentDynScope(boolean reuseParentDynScope) toString()
-
Field Details
-
temporaryVariableCount
protected int temporaryVariableCount -
instructions
-
rescueIPCs
protected volatile int[] rescueIPCs -
hasExplicitCallProtocol
protected boolean hasExplicitCallProtocol -
dynamicScopeEliminated
protected boolean dynamicScopeEliminated -
instructionsCallback
-
-
Constructor Details
-
InterpreterContext
-
InterpreterContext
-
-
Method Details
-
initialize
protected void initialize() -
getEngine
-
getInstructions
-
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) -
isEND
public boolean isEND() -
pushNewDynScope
public boolean pushNewDynScope() -
reuseParentDynScope
public boolean reuseParentDynScope() -
setReuseParentDynScope
public void setReuseParentDynScope(boolean reuseParentDynScope) -
popDynScope
public boolean popDynScope() -
receivesKeywordArguments
public boolean receivesKeywordArguments() -
isRuby2Keywords
public boolean isRuby2Keywords() -
toString
-
toStringInstrs
-
getFlags
-