| 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 |
LoadLocalVarPlacementProblem.buildFlowGraphNode(BasicBlock bb) |
FlowGraphNode |
LiveVariablesProblem.buildFlowGraphNode(BasicBlock bb) |
FlowGraphNode |
StoreLocalVarPlacementProblem.buildFlowGraphNode(BasicBlock bb) |
void |
LoadLocalVarPlacementNode.compute_MEET(Edge e,
BasicBlock source,
FlowGraphNode pred) |
void |
LiveVariableNode.compute_MEET(Edge e,
BasicBlock source,
FlowGraphNode pred) |
void |
StoreLocalVarPlacementNode.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–2024 JRuby. All rights reserved.