Package | Description |
---|---|
org.jruby.ir | |
org.jruby.ir.dataflow | |
org.jruby.ir.dataflow.analyses | |
org.jruby.ir.passes | |
org.jruby.ir.representations | |
org.jruby.ir.transformations.inlining |
Modifier and Type | Method and Description |
---|---|
List<BasicBlock> |
IRScope.buildLinearization() |
List<BasicBlock> |
IRScope.linearization() |
Modifier and Type | Method and Description |
---|---|
void |
IRScope.inlineMethod(IRScope method,
RubyModule implClass,
int classToken,
BasicBlock basicBlock,
CallBase call) |
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 |
---|---|
Iterable<BasicBlock> |
DataFlowProblem.getIncomingSourcesOf(BasicBlock bb) |
Iterable<BasicBlock> |
DataFlowProblem.getOutgoingDestinationsOf(BasicBlock bb) |
Modifier and Type | Method and Description |
---|---|
abstract FlowGraphNode |
DataFlowProblem.buildFlowGraphNode(BasicBlock bb) |
abstract void |
FlowGraphNode.compute_MEET(Edge e,
BasicBlock source,
FlowGraphNode pred)
"MEET" current solution of "IN/OUT" with "OUT/IN(pred)", where "pred"
is a predecessor of the current node! The choice of "IN/OUT" is
determined by the direction of data flow.
|
protected FlowGraphNode |
DataFlowProblem.getFlowGraphNode(BasicBlock b) |
Iterable<BasicBlock> |
DataFlowProblem.getIncomingSourcesOf(BasicBlock bb) |
Iterable<BasicBlock> |
DataFlowProblem.getOutgoingDestinationsOf(BasicBlock bb) |
Constructor and Description |
---|
FlowGraphNode(DataFlowProblem p,
BasicBlock n) |
Modifier and Type | Method and Description |
---|---|
FlowGraphNode |
StoreLocalVarPlacementProblem.buildFlowGraphNode(BasicBlock bb) |
FlowGraphNode |
LoadLocalVarPlacementProblem.buildFlowGraphNode(BasicBlock bb) |
FlowGraphNode |
LiveVariablesProblem.buildFlowGraphNode(BasicBlock bb) |
void |
StoreLocalVarPlacementNode.compute_MEET(Edge e,
BasicBlock source,
FlowGraphNode pred) |
void |
LoadLocalVarPlacementNode.compute_MEET(Edge e,
BasicBlock source,
FlowGraphNode pred) |
void |
LiveVariableNode.compute_MEET(Edge e,
BasicBlock source,
FlowGraphNode pred) |
Constructor and Description |
---|
LiveVariableNode(DataFlowProblem prob,
BasicBlock n) |
LoadLocalVarPlacementNode(DataFlowProblem prob,
BasicBlock n) |
StoreLocalVarPlacementNode(DataFlowProblem prob,
BasicBlock n) |
Modifier and Type | Method and Description |
---|---|
void |
DominatorTreeBuilder.buildDominatorTree(CFG cfg,
LinkedList<BasicBlock> postOrderList,
int maxNodeId) |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
BasicBlock.cloneForInlinedClosure(InlinerInfo ii) |
BasicBlock |
BasicBlock.cloneForInlinedMethod(InlinerInfo ii) |
BasicBlock |
CFG.getBBForLabel(Label label) |
BasicBlock |
ExceptionRegion.getEndBB() |
BasicBlock |
CFG.getEnsurerBBFor(BasicBlock block) |
BasicBlock |
CFG.getEntryBB() |
BasicBlock |
CFG.getExitBB() |
BasicBlock |
CFG.getGlobalEnsureBB() |
BasicBlock |
CFG.getIncomingSource(BasicBlock block) |
BasicBlock |
CFG.getIncomingSourceOfType(BasicBlock block,
Object type) |
BasicBlock |
CFG.getOutgoingDestination(BasicBlock block) |
BasicBlock |
CFG.getOutgoingDestinationOfType(BasicBlock block,
Object type) |
BasicBlock |
CFG.getRescuerBBFor(BasicBlock block) |
BasicBlock |
ExceptionRegion.getStartBB() |
BasicBlock |
BasicBlock.splitAtInstruction(Instr splitPoint,
Label newLabel,
boolean includeSplitPointInstr) |
Constructor and Description |
---|
ExceptionRegion(Label firstRescueBlockLabel,
Label ensureBlockLabel,
BasicBlock startBB) |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
InlinerInfo.getOrCreateRenamedBB(BasicBlock bb) |
BasicBlock |
InlinerInfo.getRenamedBB(BasicBlock bb) |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
InlinerInfo.getOrCreateRenamedBB(BasicBlock bb) |
BasicBlock |
InlinerInfo.getRenamedBB(BasicBlock bb) |
void |
CFGInliner.inlineMethod(IRScope scope,
RubyModule implClass,
int classToken,
BasicBlock callBB,
CallBase call) |
void |
InlinerInfo.recordYieldSite(BasicBlock bb,
YieldInstr i) |
void |
InlinerInfo.setupYieldArgsAndYieldResult(YieldInstr yi,
BasicBlock yieldBB,
Arity blockArity) |
Copyright © 2001-2016 JRuby. All Rights Reserved.