Modifier and Type | Method and Description |
---|---|
BasicBlock[] |
IRMethod.prepareForCompilation() |
BasicBlock[] |
IRScope.prepareForCompilation()
Run any necessary passes to get the IR ready for compilation (AOT and/or JIT)
|
Modifier and Type | Method and Description |
---|---|
java.util.Map<BasicBlock,Label> |
IRScope.buildJVMExceptionTable() |
Modifier and Type | Field and Description |
---|---|
protected BasicBlock |
FlowGraphNode.basicBlock |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
FlowGraphNode.getBB() |
Modifier and Type | Method and Description |
---|---|
abstract U |
DataFlowProblem.buildFlowGraphNode(BasicBlock bb) |
U |
DataFlowProblem.getFlowGraphNode(BasicBlock bb) |
Constructor and Description |
---|
FlowGraphNode(T problem,
BasicBlock basicBlock) |
Modifier and Type | Method and Description |
---|---|
StoreLocalVarPlacementNode |
StoreLocalVarPlacementProblem.buildFlowGraphNode(BasicBlock bb) |
UnboxableOpsAnalysisNode |
UnboxableOpsAnalysisProblem.buildFlowGraphNode(BasicBlock bb) |
LoadLocalVarPlacementNode |
LoadLocalVarPlacementProblem.buildFlowGraphNode(BasicBlock bb) |
LiveVariableNode |
LiveVariablesProblem.buildFlowGraphNode(BasicBlock bb) |
DefinedVariableNode |
DefinedVariablesProblem.buildFlowGraphNode(BasicBlock bb) |
Constructor and Description |
---|
DefinedVariableNode(DefinedVariablesProblem prob,
BasicBlock n) |
LiveVariableNode(LiveVariablesProblem prob,
BasicBlock n) |
LoadLocalVarPlacementNode(LoadLocalVarPlacementProblem prob,
BasicBlock n) |
StoreLocalVarPlacementNode(StoreLocalVarPlacementProblem prob,
BasicBlock n) |
UnboxableOpsAnalysisNode(UnboxableOpsAnalysisProblem prob,
BasicBlock n) |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
FullInterpreterContext.findBasicBlockOf(long callsiteId) |
BasicBlock[] |
FullInterpreterContext.getLinearizedBBList() |
BasicBlock[] |
FullInterpreterContext.linearizeBasicBlocks() |
Constructor and Description |
---|
FullInterpreterContext(IRScope scope,
CFG cfg,
BasicBlock[] linearizedBBList) |
Modifier and Type | Method and Description |
---|---|
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
|
Constructor and Description |
---|
InstructionsListenerDecorator(BasicBlock basicBlock,
java.util.List<Instr> instrs,
InstructionsListener listener) |
Modifier and Type | Method and Description |
---|---|
static void |
LocalOptimizationPass.runLocalOptsOnBasicBlock(IRScope s,
BasicBlock b) |
Modifier and Type | Method and Description |
---|---|
void |
DominatorTreeBuilder.buildDominatorTree(CFG cfg,
java.util.LinkedList<BasicBlock> postOrderList,
int maxNodeId) |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
BasicBlock.clone(CloneInfo info,
CFG newCFG) |
BasicBlock |
BasicBlock.cloneForInlining(InlineCloneInfo ii) |
BasicBlock |
CFG.getBBForLabel(Label label) |
BasicBlock |
CFG.getEntryBB() |
BasicBlock |
CFG.getExitBB() |
BasicBlock |
CFG.getGlobalEnsureBB() |
BasicBlock |
CFG.getIncomingSourceOfType(BasicBlock block,
java.lang.Object type) |
BasicBlock |
CFG.getOutgoingDestinationOfType(BasicBlock block,
java.lang.Object type) |
BasicBlock |
CFG.getRescuerBBFor(BasicBlock block) |
static BasicBlock[] |
CFGLinearizer.linearize(CFG cfg) |
BasicBlock |
BasicBlock.splitAtInstruction(Site splitPoint,
Label newLabel,
boolean includeSplitPointInstr) |
Modifier and Type | Method and Description |
---|---|
org.jruby.dirgra.DirectedGraph<BasicBlock> |
CFG.build(Instr[] instrs)
Build the Control Flow Graph
|
java.util.Collection<BasicBlock> |
CFG.getBasicBlocks() |
java.lang.Iterable<org.jruby.dirgra.Edge<BasicBlock>> |
CFG.getIncomingEdges(BasicBlock block) |
java.lang.Iterable<BasicBlock> |
CFG.getIncomingSources(BasicBlock block) |
java.lang.Iterable<BasicBlock> |
CFG.getOutgoingDestinations(BasicBlock block) |
java.lang.Iterable<BasicBlock> |
CFG.getOutgoingDestinationsNotOfType(BasicBlock block,
java.lang.Object type) |
java.lang.Iterable<BasicBlock> |
CFG.getOutgoingDestinationsOfType(BasicBlock block,
java.lang.Object type) |
java.util.Collection<org.jruby.dirgra.Edge<BasicBlock>> |
CFG.getOutgoingEdges(BasicBlock block) |
java.util.Iterator<BasicBlock> |
CFG.getPostOrderTraverser() |
java.util.Iterator<BasicBlock> |
CFG.getReversePostOrderTraverser() |
java.util.Collection<BasicBlock> |
CFG.getSortedBasicBlocks() |
java.util.LinkedList<BasicBlock> |
CFG.postOrderList() |
Modifier and Type | Method and Description |
---|---|
void |
CFG.addBasicBlock(BasicBlock bb) |
void |
CFG.addEdge(BasicBlock source,
BasicBlock destination,
java.lang.Object type) |
void |
CFG.addGlobalEnsureBB(BasicBlock geb) |
void |
IGVCFGVisitor.BasicBlock(BasicBlock basicBlock) |
boolean |
CFG.bbIsProtected(BasicBlock b) |
java.lang.Iterable<org.jruby.dirgra.Edge<BasicBlock>> |
CFG.getIncomingEdges(BasicBlock block) |
BasicBlock |
CFG.getIncomingSourceOfType(BasicBlock block,
java.lang.Object type) |
java.lang.Iterable<BasicBlock> |
CFG.getIncomingSources(BasicBlock block) |
BasicBlock |
CFG.getOutgoingDestinationOfType(BasicBlock block,
java.lang.Object type) |
java.lang.Iterable<BasicBlock> |
CFG.getOutgoingDestinations(BasicBlock block) |
java.lang.Iterable<BasicBlock> |
CFG.getOutgoingDestinationsNotOfType(BasicBlock block,
java.lang.Object type) |
java.lang.Iterable<BasicBlock> |
CFG.getOutgoingDestinationsOfType(BasicBlock block,
java.lang.Object type) |
java.util.Collection<org.jruby.dirgra.Edge<BasicBlock>> |
CFG.getOutgoingEdges(BasicBlock block) |
BasicBlock |
CFG.getRescuerBBFor(BasicBlock block) |
int |
CFG.inDegree(BasicBlock b) |
int |
CFG.outDegree(BasicBlock b) |
void |
CFG.removeAllOutgoingEdgesForBB(BasicBlock b) |
void |
CFG.removeBB(BasicBlock b) |
void |
CFG.removeEdge(BasicBlock a,
BasicBlock b) |
void |
CFG.setRescuerBB(BasicBlock block,
BasicBlock rescuerBlock) |
void |
BasicBlock.swallowBB(BasicBlock foodBB) |
protected void |
IGVCFGVisitor.visitInstrs(BasicBlock basicBlock) |
Modifier and Type | Method and Description |
---|---|
void |
CFG.optimize(java.util.List<BasicBlock> returnBBs) |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
CFGInliner.findCallsiteBB(CallBase call) |
BasicBlock |
InlineCloneInfo.getOrCreateRenamedBB(BasicBlock bb) |
BasicBlock |
InlineCloneInfo.getRenamedBB(BasicBlock bb) |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
InlineCloneInfo.getOrCreateRenamedBB(BasicBlock bb) |
BasicBlock |
InlineCloneInfo.getRenamedBB(BasicBlock bb) |
java.lang.String |
CFGInliner.inlineMethod(IRScope scopeToInline,
RubyModule implClass,
int classToken,
BasicBlock callBB,
CallBase call,
boolean cloneHost) |
void |
InlineCloneInfo.recordYieldSite(BasicBlock bb,
YieldInstr i) |
void |
InlineCloneInfo.setupYieldArgsAndYieldResult(YieldInstr yi,
BasicBlock yieldBB,
int blockArityValue) |
Modifier and Type | Method and Description |
---|---|
void |
IGVInstrListener.instrChanged(BasicBlock basicBlock,
Instr oldInstr,
Instr newInstr,
int index,
InstructionsListener.OperationType op) |
java.util.List<Instr> |
IGVInstrListener.removedList(BasicBlock basicBlock) |
Copyright © 2001-2019 JRuby. All Rights Reserved.