Modifier and Type | Method and Description |
---|---|
protected Variable |
IRBuilder.buildDefinitionCheck(ResultInstr definedInstr,
String definedReturnValue) |
protected Variable |
IRBuilder.buildDefnCheckIfThenPaths(Label undefLabel,
Operand defVal) |
Variable |
IRBuilder.buildSelf() |
protected Variable |
IRBuilder.copyAndReturnValue(Operand val) |
Variable |
IRScope.getCurrentModuleVariable() |
Variable |
IRScope.getCurrentScopeVariable() |
Variable |
IRScope.getNewInlineVariable(String inlinePrefix,
Variable v) |
protected Variable |
IRBuilder.getValueInTemporaryVariable(Operand val) |
Modifier and Type | Method and Description |
---|---|
void |
IRBuilder.buildAssignment(Node node,
Variable rhsVal) |
boolean |
IRScope.definesLocalVariable(Variable v) |
Variable |
IRScope.getNewInlineVariable(String inlinePrefix,
Variable v) |
void |
IRBuilder.initFlipStateVariable(Variable v,
Operand initState) |
protected void |
IRBuilder.receiveBlockArg(Variable v,
Operand argsArray,
int argIndex,
boolean isSplat) |
boolean |
IRScope.usesLocalVariable(Variable v) |
Modifier and Type | Method and Description |
---|---|
Variable |
LiveVariablesProblem.getVariable(int id) |
Modifier and Type | Method and Description |
---|---|
Set<Variable> |
LiveVariablesProblem.getAllVars() |
List<Variable> |
LiveVariablesProblem.getVarsLiveOnScopeEntry()
Get variables that are live on entry to the cfg.
|
Modifier and Type | Method and Description |
---|---|
void |
LiveVariablesProblem.addDFVar(Variable v) |
void |
UnboxableOpsAnalysisNode.boxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
Class reqdType,
Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
List<Instr> newInstrs) |
boolean |
LiveVariablesProblem.dfVarExists(Variable v) |
Integer |
LiveVariablesProblem.getDFVar(Variable v) |
void |
UnboxableOpsAnalysisNode.unboxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
Class reqdType,
Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
List<Instr> newInstrs) |
Modifier and Type | Method and Description |
---|---|
void |
UnboxableOpsAnalysisNode.boxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
Class reqdType,
Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
List<Instr> newInstrs) |
void |
UnboxableOpsAnalysisNode.unbox(Map<Variable,TemporaryLocalVariable> unboxMap) |
void |
UnboxableOpsAnalysisNode.unboxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
Class reqdType,
Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
List<Instr> newInstrs) |
Modifier and Type | Field and Description |
---|---|
protected Variable |
ResultBaseInstr.result |
protected Variable |
CallInstr.result |
Modifier and Type | Method and Description |
---|---|
Variable |
GetClassVarContainerModuleInstr.getObject() |
Variable |
ResultInstr.getResult() |
Variable |
ResultBaseInstr.getResult() |
Variable |
CallInstr.getResult() |
Variable |
ReifyClosureInstr.getSource() |
Modifier and Type | Method and Description |
---|---|
List<Variable> |
Instr.getUsedVariables() |
Modifier and Type | Method and Description |
---|---|
static CallInstr |
CallInstr.create(IRScope scope,
CallType callType,
Variable result,
String name,
Operand receiver,
Operand[] args,
Operand closure) |
static CallInstr |
CallInstr.create(IRScope scope,
Variable result,
String name,
Operand receiver,
Operand[] args,
Operand closure) |
void |
ResultInstr.updateResult(Variable v) |
void |
ResultBaseInstr.updateResult(Variable result) |
void |
CallInstr.updateResult(Variable v) |
Constructor and Description |
---|
ArgScopeDepthInstr(Variable result) |
BacktickInstr(Variable result,
Operand[] pieces) |
BlockGivenInstr(Variable result,
Operand block) |
BuildCompoundArrayInstr(Variable result,
Operand a1,
Operand a2,
boolean isArgsPush) |
BuildCompoundStringInstr(Variable result,
Operand[] pieces,
org.jcodings.Encoding encoding) |
BuildDynRegExpInstr(Variable result,
Operand[] pieces,
RegexpOptions options) |
BuildLambdaInstr(Variable result,
Operand lambdaBody,
String file,
int line) |
BuildRangeInstr(Variable result,
Operand begin,
Operand end,
boolean exclusive) |
BuildSplatInstr(Variable result,
Operand array) |
CallInstr(CallType callType,
Variable result,
String name,
Operand receiver,
Operand[] args,
Operand closure,
boolean potentiallyRefined) |
CallInstr(Operation op,
CallType callType,
Variable result,
String name,
Operand receiver,
Operand[] args,
Operand closure,
boolean potentiallyRefined) |
ClassSuperInstr(Variable result,
Operand definingModule,
String name,
Operand[] args,
Operand closure,
boolean isPotentiallyRefined) |
ConstMissingInstr(Variable result,
Operand currentModule,
String missingConst,
boolean isPotentiallyRefined) |
CopyInstr(Operation op,
Variable result,
Operand source) |
CopyInstr(Variable result,
Operand source) |
DefineClassInstr(Variable result,
IRClassBody newIRClassBody,
Operand container,
Operand superClass) |
DefineMetaClassInstr(Variable result,
Operand object,
IRModuleBody metaClassBody) |
DefineModuleInstr(Variable result,
IRModuleBody newIRModuleBody,
Operand container) |
EQQInstr(Variable result,
Operand v1,
Operand v2) |
GetClassVarContainerModuleInstr(Variable result,
Operand startingScope,
Variable object) |
GetClassVariableInstr(Variable dest,
Operand scope,
String varName) |
GetEncodingInstr(Variable result,
org.jcodings.Encoding encoding) |
GetFieldInstr(Variable dest,
Operand obj,
String fieldName) |
GetGlobalVariableInstr(Variable dest,
GlobalVariable gvar) |
GetGlobalVariableInstr(Variable dest,
String gvarName) |
GetInstr(Operation op,
Variable result,
Operand source,
String ref) |
InheritanceSearchConstInstr(Variable result,
Operand currentModule,
String constName,
boolean noPrivateConsts) |
InstanceSuperInstr(Variable result,
Operand definingModule,
String name,
Operand[] args,
Operand closure,
boolean isPotentiallyRefined) |
LexicalSearchConstInstr(Variable result,
Operand definingScope,
String constName) |
LoadFrameClosureInstr(Variable result) |
LoadImplicitClosureInstr(Variable result) |
MatchInstr(Variable result,
Operand receiver,
Operand arg) |
MultipleAsgnBase(Operation op,
Variable result,
Operand array,
int index) |
OptArgMultipleAsgnInstr(Variable result,
Operand array,
int index,
int minArgsLength) |
ProcessModuleBodyInstr(Variable result,
Operand moduleBody,
Operand block) |
ReceiveArgBase(Operation op,
Variable result,
int argIndex) |
ReceiveExceptionBase(Operation op,
Variable result) |
ReceiveJRubyExceptionInstr(Variable result) |
ReceiveKeywordArgInstr(Variable result,
String argName,
int required) |
ReceiveKeywordRestArgInstr(Variable result,
int required) |
ReceiveOptArgInstr(Variable result,
int requiredArgs,
int preArgs,
int optArgIndex) |
ReceivePostReqdArgInstr(Variable result,
int argIndex,
int preReqdArgsCount,
int postReqdArgsCount) |
ReceivePreReqdArgInstr(Variable result,
int argIndex) |
ReceiveRestArgInstr(Variable result,
int required,
int argIndex) |
ReceiveRubyExceptionInstr(Variable result) |
ReceiveSelfInstr(Variable result) |
ReifyClosureInstr(Variable result,
Variable source) |
ReqdArgMultipleAsgnInstr(Variable result,
Operand array,
int index) |
ReqdArgMultipleAsgnInstr(Variable result,
Operand array,
int preArgsCount,
int postArgsCount,
int index) |
RescueEQQInstr(Variable result,
Operand v1,
Operand v2) |
RestArgMultipleAsgnInstr(Variable result,
Operand array,
int index) |
RestArgMultipleAsgnInstr(Variable result,
Operand array,
int preArgsCount,
int postArgsCount,
int index) |
ResultBaseInstr(Operation operation,
Variable result,
Operand[] operands) |
RuntimeHelperCall(Variable result,
RuntimeHelperCall.Methods helperMethod,
Operand[] args) |
SearchConstInstr(Variable result,
String constName,
Operand startingScope,
boolean noPrivateConsts) |
SetCapturedVarInstr(Variable result,
Operand match2Result,
String varName) |
ToAryInstr(Variable result,
Operand array) |
UndefMethodInstr(Variable result,
Operand methodName) |
UnresolvedSuperInstr(Operation op,
Variable result,
Operand receiver,
Operand[] args,
Operand closure,
boolean isPotentiallyRefined) |
UnresolvedSuperInstr(Variable result,
Operand receiver,
Operand[] args,
Operand closure,
boolean isPotentiallyRefined) |
YieldInstr(Variable result,
Operand block,
Operand arg,
boolean unwrapArray) |
ZSuperInstr(Variable result,
Operand receiver,
Operand[] args,
Operand closure,
boolean isPotentiallyRefined) |
Constructor and Description |
---|
AluInstr(Operation op,
Variable result,
Operand a1,
Operand a2) |
BoxBooleanInstr(Variable dst,
Operand val) |
BoxFixnumInstr(Variable dst,
Operand val) |
BoxFloatInstr(Variable dst,
Operand val) |
BoxInstr(Operation op,
Variable result,
Operand val) |
UnboxBooleanInstr(Variable dst,
Operand val) |
UnboxFixnumInstr(Variable dst,
Operand val) |
UnboxFloatInstr(Variable dst,
Operand val) |
UnboxInstr(Operation op,
Variable result,
Operand value) |
Constructor and Description |
---|
GetErrorInfoInstr(Variable result) |
Constructor and Description |
---|
OneFixnumArgNoBlockCallInstr(CallType callType,
Variable result,
String name,
Operand receiver,
Operand[] args,
boolean potentiallyRefined) |
OneFloatArgNoBlockCallInstr(CallType callType,
Variable result,
String name,
Operand receiver,
Operand[] args,
boolean potentiallyRefined) |
OneOperandArgBlockCallInstr(CallType callType,
Variable result,
String name,
Operand receiver,
Operand[] args,
Operand closure,
boolean isPotentiallyRefined) |
OneOperandArgNoBlockCallInstr(CallType callType,
Variable result,
String name,
Operand receiver,
Operand[] args,
boolean isPotentiallyRefined) |
ZeroOperandArgNoBlockCallInstr(CallType callType,
Variable result,
String name,
Operand receiver,
Operand[] args,
boolean isPotentiallyRefined) |
Modifier and Type | Method and Description |
---|---|
protected static void |
InterpreterEngine.setResult(Object[] temp,
DynamicScope currDynScope,
Variable resultVar,
Object result) |
Modifier and Type | Class and Description |
---|---|
class |
ClosureLocalVariable
This represents a non-temporary variable used in a closure
and defined in this or a parent closure.
|
class |
LocalVariable |
class |
Self |
class |
TemporaryBooleanVariable
Represents a temporary variable for an unboxed Boolean operand.
|
class |
TemporaryClosureVariable |
class |
TemporaryCurrentModuleVariable |
class |
TemporaryCurrentScopeVariable |
class |
TemporaryFixnumVariable
Represents a temporary variable for an unboxed Float operand.
|
class |
TemporaryFloatVariable
Represents a temporary variable for an unboxed Float operand.
|
class |
TemporaryLocalReplacementVariable
When we optimize full local variables to be temporary ones we like to keep the name
of what we renamed them as.
|
class |
TemporaryLocalVariable
A set of variables which are only used in a particular scope and never
visible to Ruby itself.
|
class |
TemporaryVariable |
Modifier and Type | Method and Description |
---|---|
abstract Variable |
Variable.clone(SimpleCloneInfo ii) |
Variable |
TemporaryLocalVariable.clone(SimpleCloneInfo ii) |
Variable |
TemporaryLocalReplacementVariable.clone(SimpleCloneInfo ii) |
Variable |
TemporaryFloatVariable.clone(SimpleCloneInfo ii) |
Variable |
TemporaryFixnumVariable.clone(SimpleCloneInfo ii) |
Variable |
TemporaryCurrentScopeVariable.clone(SimpleCloneInfo ii) |
Variable |
TemporaryCurrentModuleVariable.clone(SimpleCloneInfo ii) |
Variable |
TemporaryClosureVariable.clone(SimpleCloneInfo ii) |
Variable |
TemporaryBooleanVariable.clone(SimpleCloneInfo ii) |
Variable |
Self.clone(SimpleCloneInfo ii) |
Variable |
LocalVariable.clone(SimpleCloneInfo ii) |
Variable |
ClosureLocalVariable.clone(SimpleCloneInfo ii) |
Variable |
WrappedIRClosure.getSelf() |
Modifier and Type | Method and Description |
---|---|
void |
WrappedIRClosure.addUsedVariables(List<Variable> l) |
void |
Variable.addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list
|
void |
UndefinedValue.addUsedVariables(List<Variable> l) |
void |
SValue.addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list
|
void |
StringLiteral.addUsedVariables(List<Variable> l) |
void |
StandardError.addUsedVariables(List<Variable> l) |
void |
Splat.addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list
|
void |
ScopeModule.addUsedVariables(List<Variable> l) |
void |
Reference.addUsedVariables(List<Variable> l) |
abstract void |
Operand.addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list -- force every operand
to implement this because a missing implementation can cause bad failures.
|
void |
ObjectClass.addUsedVariables(List<Variable> l) |
void |
Label.addUsedVariables(List<Variable> l) |
void |
IRException.addUsedVariables(List<Variable> l) |
void |
ImmutableLiteral.addUsedVariables(List<Variable> l) |
void |
Hash.addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list
|
void |
DynamicSymbol.addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list
|
void |
CurrentScope.addUsedVariables(List<Variable> l) |
void |
AsString.addUsedVariables(List<Variable> l) |
void |
Array.addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list
|
Constructor and Description |
---|
WrappedIRClosure(Variable self,
IRClosure closure) |
Modifier and Type | Method and Description |
---|---|
static Instr |
LocalOptimizationPass.optInstr(IRScope s,
Instr instr,
Map<Operand,Operand> valueMap,
Map<Variable,List<Variable>> simplificationMap) |
static Instr |
LocalOptimizationPass.optInstr(IRScope s,
Instr instr,
Map<Operand,Operand> valueMap,
Map<Variable,List<Variable>> simplificationMap) |
Modifier and Type | Method and Description |
---|---|
Variable |
IRReaderStream.decodeVariable() |
Variable |
IRReaderDecoder.decodeVariable() |
Modifier and Type | Method and Description |
---|---|
int |
MethodData.local(Variable variable) |
int |
MethodData.local(Variable variable,
org.objectweb.asm.Type type) |
Modifier and Type | Field and Description |
---|---|
protected Map<Variable,Variable> |
CloneInfo.variableRenameMap |
protected Map<Variable,Variable> |
CloneInfo.variableRenameMap |
Modifier and Type | Method and Description |
---|---|
Variable |
InlineCloneInfo.getCallResultVariable() |
protected Variable |
SimpleCloneInfo.getRenamedSelfVariable(Variable self) |
protected Variable |
InlineCloneInfo.getRenamedSelfVariable(Variable self) |
protected abstract Variable |
CloneInfo.getRenamedSelfVariable(Variable self)
How do we rename %self?
|
Variable |
SimpleCloneInfo.getRenamedVariable(Variable variable) |
Variable |
CloneInfo.getRenamedVariable(Variable variable)
Return a new instance of a variable for the newly cloned scope.
|
protected Variable |
SimpleCloneInfo.getRenamedVariableSimple(Variable v) |
protected Variable |
InlineCloneInfo.getRenamedVariableSimple(Variable v) |
protected abstract Variable |
CloneInfo.getRenamedVariableSimple(Variable variable)
How are typical variables renamed if they were not yet found in the variable renaming map?
|
Variable |
InlineCloneInfo.getYieldResult() |
Modifier and Type | Method and Description |
---|---|
protected Variable |
SimpleCloneInfo.getRenamedSelfVariable(Variable self) |
protected Variable |
InlineCloneInfo.getRenamedSelfVariable(Variable self) |
protected abstract Variable |
CloneInfo.getRenamedSelfVariable(Variable self)
How do we rename %self?
|
Variable |
SimpleCloneInfo.getRenamedVariable(Variable variable) |
Variable |
CloneInfo.getRenamedVariable(Variable variable)
Return a new instance of a variable for the newly cloned scope.
|
protected Variable |
SimpleCloneInfo.getRenamedVariableSimple(Variable v) |
protected Variable |
InlineCloneInfo.getRenamedVariableSimple(Variable v) |
protected abstract Variable |
CloneInfo.getRenamedVariableSimple(Variable variable)
How are typical variables renamed if they were not yet found in the variable renaming map?
|
Constructor and Description |
---|
InlineCloneInfo(CallBase call,
CFG c,
Variable callReceiver,
IRScope scopeBeingInlined) |
Copyright © 2001-2015 JRuby. All Rights Reserved.