public static class SchedulePhase.Instance extends Object
| Modifier and Type | Field and Description |
|---|---|
protected BlockMap<List<Node>> |
blockToNodesMap |
protected ControlFlowGraph |
cfg
Map from blocks to the nodes in each block.
|
protected NodeMap<Block> |
nodeToBlockMap |
protected boolean |
supportsImplicitNullChecks |
| Constructor and Description |
|---|
Instance(boolean supportsImplicitNullChecks) |
Instance(ControlFlowGraph cfg,
boolean supportsImplicitNullChecks) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
calcLatestBlock(Block earliestBlock,
SchedulePhase.SchedulingStrategy strategy,
Node currentNode,
NodeMap<Block> currentNodeMap,
org.graalvm.word.LocationIdentity constrainingLocation,
BlockMap<ArrayList<FloatingReadNode>> watchListMap,
BlockMap<List<Node>> latestBlockToNodesMap,
NodeBitMap visited,
boolean immutableGraph) |
static Block |
checkKillsBetween(Block earliestBlock,
Block latestBlock,
org.graalvm.word.LocationIdentity location) |
ControlFlowGraph |
getCFG() |
protected static boolean |
isImplicitNullOpportunity(Node currentNode,
Block block,
boolean supportsImplicitNullChecks) |
List<Node> |
nodesFor(Block block)
Gets the nodes in a given block.
|
String |
printScheduleHelper(String desc) |
void |
run(StructuredGraph graph,
SchedulePhase.SchedulingStrategy selectedStrategy,
boolean immutableGraph) |
protected static void |
selectLatestBlock(Node currentNode,
Block currentBlock,
Block latestBlock,
NodeMap<Block> currentNodeMap,
BlockMap<ArrayList<FloatingReadNode>> watchListMap,
org.graalvm.word.LocationIdentity constrainingLocation,
BlockMap<List<Node>> latestBlockToNodesMap) |
protected ControlFlowGraph cfg
protected boolean supportsImplicitNullChecks
public Instance(boolean supportsImplicitNullChecks)
public Instance(ControlFlowGraph cfg, boolean supportsImplicitNullChecks)
public void run(StructuredGraph graph, SchedulePhase.SchedulingStrategy selectedStrategy, boolean immutableGraph)
protected static void selectLatestBlock(Node currentNode, Block currentBlock, Block latestBlock, NodeMap<Block> currentNodeMap, BlockMap<ArrayList<FloatingReadNode>> watchListMap, org.graalvm.word.LocationIdentity constrainingLocation, BlockMap<List<Node>> latestBlockToNodesMap)
public static Block checkKillsBetween(Block earliestBlock, Block latestBlock, org.graalvm.word.LocationIdentity location)
protected void calcLatestBlock(Block earliestBlock, SchedulePhase.SchedulingStrategy strategy, Node currentNode, NodeMap<Block> currentNodeMap, org.graalvm.word.LocationIdentity constrainingLocation, BlockMap<ArrayList<FloatingReadNode>> watchListMap, BlockMap<List<Node>> latestBlockToNodesMap, NodeBitMap visited, boolean immutableGraph)
protected static boolean isImplicitNullOpportunity(Node currentNode, Block block, boolean supportsImplicitNullChecks)
public ControlFlowGraph getCFG()