Modifier and Type | Field and Description |
---|---|
protected java.util.List<Instr> |
IRBuilder.instructions |
Modifier and Type | Method and Description |
---|---|
static Instr |
IRBuilder.createBranch(Operand v1,
Operand v2,
Label jmpTarget) |
Modifier and Type | Method and Description |
---|---|
void |
IRBuilder.addInstr(Instr instr) |
void |
IRBuilder.addInstrAtBeginning(Instr instr) |
void |
IRVisitor.Instr(Instr instr) |
void |
IRVisitor.visit(Instr instr) |
Modifier and Type | Method and Description |
---|---|
InterpreterContext |
IRClosure.allocateInterpreterContext(java.util.List<Instr> instructions,
int temporaryVariableCount,
java.util.EnumSet<IRFlags> flags) |
InterpreterContext |
IRScope.allocateInterpreterContext(java.util.List<Instr> instructions,
int tempVariableCount,
java.util.EnumSet<IRFlags> flags)
Make version specific to scope which needs it (e.g.
|
InterpreterContext |
IRClosure.allocateInterpreterContext(java.util.function.Supplier<java.util.List<Instr>> instructions,
int temporaryVariableCount,
java.util.EnumSet<IRFlags> flags) |
InterpreterContext |
IRScope.allocateInterpreterContext(java.util.function.Supplier<java.util.List<Instr>> instructions,
int tempVariableCount,
java.util.EnumSet<IRFlags> flags)
Make version specific to scope which needs it (e.g.
|
void |
IRBuilder.computeScopeFlagsFrom(java.util.List<Instr> instructions) |
Modifier and Type | Method and Description |
---|---|
abstract void |
FlowGraphNode.applyTransferFunction(Instr i)
Apply transfer function to the instruction
|
abstract void |
FlowGraphNode.buildDataFlowVars(Instr i)
Builds the data-flow variables (or facts) for a particular instruction.
|
Modifier and Type | Method and Description |
---|---|
void |
LoadLocalVarPlacementNode.applyTransferFunction(Instr i) |
void |
UnboxableOpsAnalysisNode.applyTransferFunction(Instr i) |
void |
LiveVariableNode.applyTransferFunction(Instr i) |
void |
StoreLocalVarPlacementNode.applyTransferFunction(Instr i) |
void |
DefinedVariableNode.applyTransferFunction(Instr i) |
void |
LoadLocalVarPlacementNode.buildDataFlowVars(Instr i) |
void |
UnboxableOpsAnalysisNode.buildDataFlowVars(Instr i) |
void |
LiveVariableNode.buildDataFlowVars(Instr i) |
void |
StoreLocalVarPlacementNode.buildDataFlowVars(Instr i) |
void |
DefinedVariableNode.buildDataFlowVars(Instr i) |
Modifier and Type | Method and Description |
---|---|
void |
UnboxableOpsAnalysisNode.boxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
java.lang.Class reqdType,
java.util.Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
java.util.List<Instr> newInstrs) |
void |
UnboxableOpsAnalysisNode.unboxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
java.lang.Class reqdType,
java.util.Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
java.util.List<Instr> newInstrs) |
Modifier and Type | Class and Description |
---|---|
class |
AliasInstr |
class |
ArgScopeDepthInstr |
class |
ArrayDerefInstr
Instruction representing Ruby code of the form: "a['str']"
which is equivalent to: a.[]('str').
|
class |
AsStringInstr |
class |
AttrAssignInstr |
class |
BFalseInstr |
class |
BlockGivenInstr
Represents a defined?(yield) check, which works like a call to block_given? without
requiring special access to the caller's frame.
|
class |
BNEInstr |
class |
BNilInstr |
class |
BranchInstr |
class |
BreakInstr |
class |
BSwitchInstr
Represents a multiple-target jump instruction based on a switch-like table
|
class |
BTrueInstr |
class |
BuildBackrefInstr |
class |
BuildCompoundArrayInstr |
class |
BuildCompoundStringInstr |
class |
BuildDynRegExpInstr |
class |
BuildLambdaInstr |
class |
BuildRangeInstr |
class |
BuildSplatInstr |
class |
BUndefInstr |
class |
CallBase |
class |
CallInstr |
class |
CheckArgsArrayArityInstr |
class |
CheckArityInstr |
class |
CheckForLJEInstr |
class |
ClassSuperInstr |
class |
CopyInstr |
class |
DefineClassInstr |
class |
DefineClassMethodInstr |
class |
DefineInstanceMethodInstr |
class |
DefineMetaClassInstr |
class |
DefineModuleInstr |
class |
EQQInstr |
class |
ExceptionRegionEndMarkerInstr |
class |
ExceptionRegionStartMarkerInstr |
class |
GetClassVarContainerModuleInstr |
class |
GetClassVariableInstr |
class |
GetEncodingInstr |
class |
GetFieldInstr |
class |
GetGlobalVariableInstr |
class |
GetInstr |
class |
GVarAliasInstr |
class |
InheritanceSearchConstInstr |
class |
InlinedLineNumberInstr
This represents a linenumber instr that has been inlined into another method/closure.
|
class |
InstanceSuperInstr |
class |
JumpInstr |
class |
LabelInstr |
class |
LexicalSearchConstInstr |
class |
LineNumberInstr |
class |
LoadFrameClosureInstr
Load the block passed to this scope via the on-heap frame (or similar cross-call structure).
|
class |
LoadImplicitClosureInstr
Load the "implicit" closure for this scope.
|
class |
LoadLocalVarInstr |
class |
MatchInstr |
class |
ModuleVersionGuardInstr
This instruction will be generated whenever speculative optimizations are performed
based on assuming that an object's metaclass is C (as determined by the version number
of C -- where the version number changes every time C's class structure changes).
|
class |
MultiBranchInstr |
class |
MultipleAsgnBase |
class |
NonlocalReturnInstr |
class |
NoOperandInstr
An instr with no Operands
|
class |
NoOperandResultBaseInstr
result instr with no operands
|
class |
NOperandInstr
For Instrs with an arbitrary number of Operands.
|
class |
NOperandResultBaseInstr
Created by enebo on 7/28/15.
|
class |
NopInstr |
class |
NoResultCallInstr |
class |
OneOperandBranchInstr |
class |
OneOperandInstr
Created by enebo on 7/27/15.
|
class |
OneOperandResultBaseInstr
Result Instr with one operand.
|
class |
OptArgMultipleAsgnInstr |
class |
PopBackrefFrameInstr |
class |
PopBindingInstr |
class |
PopBlockFrameInstr |
class |
PopMethodFrameInstr |
class |
PrepareBlockArgsInstr |
class |
PrepareFixedBlockArgsInstr |
class |
PrepareNoBlockArgsInstr |
class |
PrepareSingleBlockArgInstr |
class |
ProcessModuleBodyInstr |
class |
PushBackrefFrameInstr |
class |
PushBlockBindingInstr |
class |
PushBlockFrameInstr |
class |
PushMethodBindingInstr |
class |
PushMethodFrameInstr |
class |
PutClassVariableInstr |
class |
PutConstInstr |
class |
PutFieldInstr |
class |
PutGlobalVarInstr |
class |
PutInstr |
class |
RaiseArgumentErrorInstr |
class |
RaiseRequiredKeywordArgumentError |
class |
ReceiveArgBase |
class |
ReceiveExceptionBase |
class |
ReceiveJRubyExceptionInstr |
class |
ReceiveKeywordArgInstr |
class |
ReceiveKeywordRestArgInstr |
class |
ReceiveOptArgInstr |
class |
ReceivePostReqdArgInstr
This represents a required arg that shows up after optional/rest args
in a method/block parameter list.
|
class |
ReceivePreReqdArgInstr |
class |
ReceiveRestArgInstr |
class |
ReceiveRubyExceptionInstr |
class |
ReceiveSelfInstr |
class |
RecordEndBlockInstr |
class |
ReifyClosureInstr |
class |
ReqdArgMultipleAsgnInstr |
class |
RescueEQQInstr |
class |
RestArgMultipleAsgnInstr |
class |
RestoreBindingVisibilityInstr |
class |
ResultBaseInstr
For most instrs that have a result this is their base class.
|
class |
ReturnBase |
class |
ReturnInstr |
class |
ReturnOrRethrowSavedExcInstr |
class |
RuntimeHelperCall |
class |
SaveBindingVisibilityInstr |
class |
SearchConstInstr |
class |
SearchModuleForConstInstr
Search for a constant within the current module.
|
class |
SetCapturedVarInstr |
class |
StoreLocalVarInstr |
class |
ThreadPollInstr |
class |
ThrowExceptionInstr |
class |
ToAryInstr |
class |
ToggleBacktraceInstr
This instruction toggles a single per thread field which specifies whether an exception
being thrown needs to generate backtrace info.
|
class |
TraceInstr
Instrumented trace.
|
class |
TwoOperandBranchInstr |
class |
TwoOperandInstr
Instr for two operands.
|
class |
TwoOperandResultBaseInstr
Result Instr with two operands.
|
class |
UndefMethodInstr |
class |
UnresolvedSuperInstr |
class |
UpdateBlockExecutionStateInstr |
class |
YieldInstr |
class |
ZSuperInstr |
Modifier and Type | Method and Description |
---|---|
Instr |
ReceiveJRubyExceptionInstr.clone(CloneInfo ii) |
Instr |
SearchConstInstr.clone(CloneInfo ii) |
Instr |
DefineModuleInstr.clone(CloneInfo ii) |
Instr |
BNEInstr.clone(CloneInfo ii) |
Instr |
RescueEQQInstr.clone(CloneInfo ii) |
Instr |
SearchModuleForConstInstr.clone(CloneInfo ii) |
Instr |
BTrueInstr.clone(CloneInfo ii) |
Instr |
BreakInstr.clone(CloneInfo info) |
Instr |
LexicalSearchConstInstr.clone(CloneInfo ii) |
Instr |
PrepareNoBlockArgsInstr.clone(CloneInfo ii) |
Instr |
BFalseInstr.clone(CloneInfo ii) |
Instr |
BlockGivenInstr.clone(CloneInfo ii) |
Instr |
RaiseArgumentErrorInstr.clone(CloneInfo ii) |
Instr |
BNilInstr.clone(CloneInfo ii) |
Instr |
PutClassVariableInstr.clone(CloneInfo ii) |
Instr |
NonlocalReturnInstr.clone(CloneInfo info) |
Instr |
BUndefInstr.clone(CloneInfo ii) |
Instr |
BuildDynRegExpInstr.clone(CloneInfo ii) |
Instr |
BuildLambdaInstr.clone(CloneInfo ii) |
Instr |
BuildCompoundStringInstr.clone(CloneInfo ii) |
Instr |
PrepareBlockArgsInstr.clone(CloneInfo ii) |
Instr |
ZSuperInstr.clone(CloneInfo ii) |
Instr |
InheritanceSearchConstInstr.clone(CloneInfo ii) |
Instr |
PopBackrefFrameInstr.clone(CloneInfo ii) |
Instr |
AttrAssignInstr.clone(CloneInfo ii) |
Instr |
OptArgMultipleAsgnInstr.clone(CloneInfo ii) |
Instr |
GVarAliasInstr.clone(CloneInfo ii) |
Instr |
SetCapturedVarInstr.clone(CloneInfo ii) |
Instr |
ClassSuperInstr.clone(CloneInfo ii) |
Instr |
ReceivePostReqdArgInstr.clone(CloneInfo info) |
Instr |
BSwitchInstr.clone(CloneInfo info) |
Instr |
ToggleBacktraceInstr.clone(CloneInfo info) |
Instr |
ReifyClosureInstr.clone(CloneInfo info) |
Instr |
NopInstr.clone(CloneInfo ii) |
Instr |
UpdateBlockExecutionStateInstr.clone(CloneInfo ii) |
Instr |
PrepareSingleBlockArgInstr.clone(CloneInfo ii) |
Instr |
YieldInstr.clone(CloneInfo ii) |
Instr |
AliasInstr.clone(CloneInfo ii) |
Instr |
PopBindingInstr.clone(CloneInfo ii) |
Instr |
ReceiveRubyExceptionInstr.clone(CloneInfo ii) |
Instr |
StoreLocalVarInstr.clone(CloneInfo ii) |
Instr |
RestArgMultipleAsgnInstr.clone(CloneInfo ii) |
Instr |
GetGlobalVariableInstr.clone(CloneInfo ii) |
Instr |
ArrayDerefInstr.clone(CloneInfo ii) |
Instr |
PutConstInstr.clone(CloneInfo ii) |
Instr |
BuildCompoundArrayInstr.clone(CloneInfo ii) |
Instr |
PushBlockBindingInstr.clone(CloneInfo ii) |
Instr |
PushMethodBindingInstr.clone(CloneInfo ii) |
Instr |
ReturnOrRethrowSavedExcInstr.clone(CloneInfo ii) |
Instr |
ReqdArgMultipleAsgnInstr.clone(CloneInfo ii) |
Instr |
PutGlobalVarInstr.clone(CloneInfo ii) |
Instr |
DefineInstanceMethodInstr.clone(CloneInfo ii) |
Instr |
DefineClassInstr.clone(CloneInfo ii) |
Instr |
ReceiveKeywordArgInstr.clone(CloneInfo ii) |
Instr |
LabelInstr.clone(CloneInfo ii) |
Instr |
GetEncodingInstr.clone(CloneInfo ii) |
Instr |
LoadImplicitClosureInstr.clone(CloneInfo info) |
Instr |
ReceivePreReqdArgInstr.clone(CloneInfo info) |
Instr |
ToAryInstr.clone(CloneInfo ii) |
Instr |
PushMethodFrameInstr.clone(CloneInfo ii) |
Instr |
BuildBackrefInstr.clone(CloneInfo ii) |
Instr |
ThrowExceptionInstr.clone(CloneInfo ii) |
Instr |
ThreadPollInstr.clone(CloneInfo ii) |
Instr |
GetClassVariableInstr.clone(CloneInfo ii) |
Instr |
PushBackrefFrameInstr.clone(CloneInfo ii) |
Instr |
RaiseRequiredKeywordArgumentError.clone(CloneInfo ii) |
Instr |
AsStringInstr.clone(CloneInfo ii) |
Instr |
PutFieldInstr.clone(CloneInfo ii) |
Instr |
ModuleVersionGuardInstr.clone(CloneInfo ii) |
Instr |
ProcessModuleBodyInstr.clone(CloneInfo ii) |
Instr |
UnresolvedSuperInstr.clone(CloneInfo ii) |
Instr |
ExceptionRegionEndMarkerInstr.clone(CloneInfo ii) |
Instr |
PopMethodFrameInstr.clone(CloneInfo ii) |
Instr |
UndefMethodInstr.clone(CloneInfo ii) |
Instr |
PushBlockFrameInstr.clone(CloneInfo ii) |
Instr |
ReceiveRestArgInstr.clone(CloneInfo info) |
Instr |
RestoreBindingVisibilityInstr.clone(CloneInfo ii) |
Instr |
CheckForLJEInstr.clone(CloneInfo info) |
Instr |
TraceInstr.clone(CloneInfo ii) |
Instr |
ReceiveKeywordRestArgInstr.clone(CloneInfo ii) |
Instr |
DefineMetaClassInstr.clone(CloneInfo ii) |
Instr |
MatchInstr.clone(CloneInfo ii) |
Instr |
CheckArgsArrayArityInstr.clone(CloneInfo ii) |
Instr |
LoadLocalVarInstr.clone(CloneInfo ii) |
Instr |
CheckArityInstr.clone(CloneInfo info) |
Instr |
CallInstr.clone(CloneInfo ii) |
Instr |
ArgScopeDepthInstr.clone(CloneInfo ii) |
Instr |
LineNumberInstr.clone(CloneInfo ii) |
Instr |
InstanceSuperInstr.clone(CloneInfo ii) |
Instr |
BuildSplatInstr.clone(CloneInfo ii) |
Instr |
SaveBindingVisibilityInstr.clone(CloneInfo ii) |
Instr |
PopBlockFrameInstr.clone(CloneInfo ii) |
Instr |
RecordEndBlockInstr.clone(CloneInfo ii) |
Instr |
DefineClassMethodInstr.clone(CloneInfo ii) |
Instr |
NoResultCallInstr.clone(CloneInfo ii) |
Instr |
RuntimeHelperCall.clone(CloneInfo ii) |
Instr |
GetFieldInstr.clone(CloneInfo ii) |
Instr |
BuildRangeInstr.clone(CloneInfo ii) |
Instr |
ReturnInstr.clone(CloneInfo info) |
Instr |
EQQInstr.clone(CloneInfo ii) |
Instr |
InlinedLineNumberInstr.clone(CloneInfo ii) |
Instr |
PrepareFixedBlockArgsInstr.clone(CloneInfo ii) |
Instr |
LoadFrameClosureInstr.clone(CloneInfo info) |
Instr |
ReceiveOptArgInstr.clone(CloneInfo info) |
Instr |
GetClassVarContainerModuleInstr.clone(CloneInfo ii) |
Instr |
CopyInstr.clone(CloneInfo ii) |
abstract Instr |
Instr.clone(CloneInfo info)
Clone the instruction for use in an inlining context (either when a scope is inlined into
another scope, or when a block has to be cloned because its associated call belongs to
an inlined scope).
|
Instr |
ExceptionRegionStartMarkerInstr.clone(CloneInfo ii) |
Instr |
JumpInstr.clone(CloneInfo ii) |
Instr |
ReceiveSelfInstr.clone(CloneInfo info) |
Modifier and Type | Class and Description |
---|---|
class |
AluInstr |
class |
BoxBooleanInstr |
class |
BoxFixnumInstr |
class |
BoxFloatInstr |
class |
BoxInstr |
class |
UnboxBooleanInstr |
class |
UnboxFixnumInstr |
class |
UnboxFloatInstr |
class |
UnboxInstr |
Modifier and Type | Method and Description |
---|---|
Instr |
BoxFixnumInstr.clone(CloneInfo ii) |
Instr |
AluInstr.clone(CloneInfo ii) |
Instr |
UnboxBooleanInstr.clone(CloneInfo ii) |
Instr |
BoxFloatInstr.clone(CloneInfo ii) |
Instr |
UnboxInstr.clone(CloneInfo info) |
Instr |
UnboxFloatInstr.clone(CloneInfo ii) |
Instr |
UnboxFixnumInstr.clone(CloneInfo ii) |
Instr |
BoxBooleanInstr.clone(CloneInfo ii) |
Modifier and Type | Class and Description |
---|---|
class |
GetErrorInfoInstr |
class |
RestoreErrorInfoInstr |
Modifier and Type | Method and Description |
---|---|
Instr |
GetErrorInfoInstr.clone(CloneInfo info) |
Instr |
RestoreErrorInfoInstr.clone(CloneInfo ii) |
Modifier and Type | Class and Description |
---|---|
class |
OneArgOperandAttrAssignInstr |
class |
OneFixnumArgNoBlockCallInstr |
class |
OneFloatArgNoBlockCallInstr |
class |
OneOperandArgBlockCallInstr |
class |
OneOperandArgNoBlockCallInstr |
class |
OneOperandArgNoBlockNoResultCallInstr |
class |
TwoOperandArgNoBlockCallInstr |
class |
ZeroOperandArgNoBlockCallInstr |
Modifier and Type | Method and Description |
---|---|
Instr |
OneOperandArgBlockCallInstr.clone(CloneInfo ii) |
Instr |
OneFloatArgNoBlockCallInstr.clone(CloneInfo ii) |
Instr |
ZeroOperandArgNoBlockCallInstr.clone(CloneInfo ii) |
Instr |
OneArgOperandAttrAssignInstr.clone(CloneInfo ii) |
Instr |
OneOperandArgNoBlockCallInstr.clone(CloneInfo ii) |
Instr |
OneOperandArgNoBlockNoResultCallInstr.clone(CloneInfo ii) |
Instr |
OneFixnumArgNoBlockCallInstr.clone(CloneInfo ii) |
Instr |
TwoOperandArgNoBlockCallInstr.clone(CloneInfo ii) |
Modifier and Type | Field and Description |
---|---|
protected Instr[] |
InterpreterContext.instructions |
Modifier and Type | Field and Description |
---|---|
java.util.function.Supplier<java.util.List<Instr>> |
InterpreterContext.instructionsCallback |
Modifier and Type | Method and Description |
---|---|
Instr[] |
InterpreterContext.getInstructions() |
Modifier and Type | Method and Description |
---|---|
protected static void |
InterpreterEngine.extractToMethodToAvoidC2Crash(Instr instr,
java.lang.Throwable t) |
protected static void |
InterpreterEngine.processBookKeepingOp(ThreadContext context,
Block block,
Instr instr,
Operation operation,
java.lang.String name,
IRubyObject[] args,
IRubyObject self,
Block blockArg,
RubyModule implClass,
DynamicScope currDynScope,
java.lang.Object[] temp,
StaticScope currScope) |
protected static void |
InterpreterEngine.processCall(ThreadContext context,
Instr instr,
Operation operation,
DynamicScope currDynScope,
StaticScope currScope,
java.lang.Object[] temp,
IRubyObject self) |
protected static void |
StartupInterpreterEngine.processOtherOp(ThreadContext context,
Block block,
Instr instr,
Operation operation,
DynamicScope currDynScope,
StaticScope currScope,
java.lang.Object[] temp,
IRubyObject self) |
protected static void |
InterpreterEngine.processOtherOp(ThreadContext context,
Block block,
Instr instr,
Operation operation,
DynamicScope currDynScope,
StaticScope currScope,
java.lang.Object[] temp,
IRubyObject self,
double[] floats,
long[] fixnums,
boolean[] booleans) |
protected static IRubyObject |
InterpreterEngine.processReturnOp(ThreadContext context,
Block block,
Instr instr,
Operation operation,
DynamicScope currDynScope,
java.lang.Object[] temp,
IRubyObject self,
StaticScope currScope) |
protected static void |
InterpreterEngine.receiveArg(ThreadContext context,
Instr i,
Operation operation,
IRubyObject[] args,
boolean acceptsKeywordArgument,
DynamicScope currDynScope,
java.lang.Object[] temp,
java.lang.Object exception,
Block blockArg) |
protected static void |
InterpreterEngine.setResult(java.lang.Object[] temp,
DynamicScope currDynScope,
Instr instr,
java.lang.Object result) |
static void |
Profiler.updateCallSite(Instr instr,
IRScope scope,
java.lang.Integer scopeVersion) |
Constructor and Description |
---|
FullInterpreterContext(IRScope scope,
Instr[] instructions,
int temporaryVariableCount,
java.util.EnumSet<IRFlags> flags) |
Constructor and Description |
---|
ClosureInterpreterContext(IRClosure scope,
java.util.List<Instr> instructions,
int temporaryVariableCount,
java.util.EnumSet<IRFlags> flags) |
ClosureInterpreterContext(IRClosure scope,
java.util.function.Supplier<java.util.List<Instr>> instructions,
int temporaryVariableCount,
java.util.EnumSet<IRFlags> flags) |
InterpreterContext(IRScope scope,
java.util.List<Instr> instructions,
int temporaryVariableCount,
java.util.EnumSet<IRFlags> flags) |
InterpreterContext(IRScope scope,
java.util.function.Supplier<java.util.List<Instr>> instructions,
int temporaryVariableCount,
java.util.EnumSet<IRFlags> flags) |
Modifier and Type | Method and Description |
---|---|
Instr |
InstructionsListenerDecorator.get(int index) |
Instr |
InstructionsListenerDecorator.remove(int index) |
Instr |
InstructionsListenerDecorator.set(int index,
Instr element) |
Modifier and Type | Method and Description |
---|---|
java.util.Iterator<Instr> |
InstructionsListenerDecorator.iterator() |
java.util.ListIterator<Instr> |
InstructionsListenerDecorator.listIterator() |
java.util.ListIterator<Instr> |
InstructionsListenerDecorator.listIterator(int index) |
java.util.List<Instr> |
InstructionsListenerDecorator.subList(int fromIndex,
int toIndex) |
Modifier and Type | Method and Description |
---|---|
boolean |
InstructionsListenerDecorator.add(Instr e) |
void |
InstructionsListenerDecorator.add(int index,
Instr element) |
void |
IRScopeListener.addedInstr(IRScope scope,
Instr instr,
int index) |
void |
InstructionsListener.instrChanged(BasicBlock basicBlock,
Instr oldInstr,
Instr newInstr,
int index,
InstructionsListener.OperationType op)
listen to a change of a list of instructions, right before the change going to take place
|
Instr |
InstructionsListenerDecorator.set(int index,
Instr element) |
Modifier and Type | Method and Description |
---|---|
boolean |
InstructionsListenerDecorator.addAll(java.util.Collection<? extends Instr> c) |
boolean |
InstructionsListenerDecorator.addAll(int index,
java.util.Collection<? extends Instr> c) |
Constructor and Description |
---|
InstructionsListenerDecorator(BasicBlock basicBlock,
java.util.List<Instr> instrs,
InstructionsListener listener) |
Modifier and Type | Method and Description |
---|---|
static Instr |
LocalOptimizationPass.optInstr(FullInterpreterContext fic,
Instr instr,
java.util.Map<Operand,Operand> valueMap,
java.util.Map<Variable,java.util.List<Variable>> simplificationMap) |
Modifier and Type | Method and Description |
---|---|
static Instr |
LocalOptimizationPass.optInstr(FullInterpreterContext fic,
Instr instr,
java.util.Map<Operand,Operand> valueMap,
java.util.Map<Variable,java.util.List<Variable>> simplificationMap) |
static void |
LocalOptimizationPass.runLocalOptsOnInstrArray(FullInterpreterContext fic,
Instr[] instrs) |
Modifier and Type | Method and Description |
---|---|
Instr |
IRReaderDecoder.decodeInstr() |
Instr |
IRReaderStream.decodeInstr() |
Modifier and Type | Method and Description |
---|---|
java.util.List<Instr> |
IRReaderDecoder.decodeInstructionsAt(IRScope scope,
int poolOffset,
int instructionOffset) |
java.util.List<Instr> |
IRReaderStream.decodeInstructionsAt(IRScope scope,
int poolOffset,
int offset) |
Modifier and Type | Method and Description |
---|---|
void |
IRWriterEncoder.encode(Instr value) |
void |
IRWriterStream.encode(Instr instr) |
void |
IRWriterAnalyzer.encode(Instr instr) |
void |
IRDumper.formatInstr(Instr instr1,
java.lang.String varFormat,
java.lang.String varSpaces,
java.lang.String ipcFormat,
Instr instr2,
int i) |
void |
IRDumper.visit(Instr instr) |
Modifier and Type | Method and Description |
---|---|
Instr |
BasicBlock.getLastInstr() |
Modifier and Type | Method and Description |
---|---|
java.util.List<Instr> |
BasicBlock.getInstrs() |
Modifier and Type | Method and Description |
---|---|
void |
BasicBlock.addInstr(Instr i) |
org.jruby.dirgra.DirectedGraph<BasicBlock> |
CFG.build(Instr[] instrs)
Build the Control Flow Graph
|
void |
BasicBlock.insertInstr(Instr i) |
void |
BasicBlock.insertInstr(int index,
Instr i) |
int |
IGVCFGVisitor.Instr(Instr instr) |
boolean |
BasicBlock.removeInstr(Instr i) |
Modifier and Type | Method and Description |
---|---|
void |
BasicBlock.replaceInstrs(java.util.List<Instr> instrs) |
Modifier and Type | Method and Description |
---|---|
void |
JVMVisitor.visit(Instr instr) |
Modifier and Type | Method and Description |
---|---|
java.util.List<Tuple<Instr,Instr>> |
IGVInstrListener.getRemovedEdges() |
java.util.List<Tuple<Instr,Instr>> |
IGVInstrListener.getRemovedEdges() |
java.util.List<Instr> |
IGVInstrListener.removedList(BasicBlock basicBlock) |
Modifier and Type | Method and Description |
---|---|
void |
IGVInstrListener.instrChanged(BasicBlock basicBlock,
Instr oldInstr,
Instr newInstr,
int index,
InstructionsListener.OperationType op) |
Copyright © 2001-2020 JRuby. All Rights Reserved.