40 import org.graalvm.compiler.nodes.LoopExitNode; |
40 import org.graalvm.compiler.nodes.LoopExitNode; |
41 import org.graalvm.compiler.nodes.memory.MemoryCheckpoint; |
41 import org.graalvm.compiler.nodes.memory.MemoryCheckpoint; |
42 import org.graalvm.word.LocationIdentity; |
42 import org.graalvm.word.LocationIdentity; |
43 |
43 |
44 public final class Block extends AbstractBlockBase<Block> { |
44 public final class Block extends AbstractBlockBase<Block> { |
45 |
|
46 public static final Block[] EMPTY_ARRAY = new Block[0]; |
45 public static final Block[] EMPTY_ARRAY = new Block[0]; |
47 |
46 |
48 protected final AbstractBeginNode beginNode; |
47 protected final AbstractBeginNode beginNode; |
49 |
48 |
50 protected FixedNode endNode; |
49 protected FixedNode endNode; |
51 |
50 |
52 protected double probability; |
51 protected double probability; |
53 private Loop<Block> loop; |
52 private Loop<Block> loop; |
54 |
53 |
55 protected Block postdominator; |
54 protected Block postdominator; |
56 protected Block distancedDominatorCache; |
|
57 private LocationSet killLocations; |
55 private LocationSet killLocations; |
58 private LocationSet killLocationsBetweenThisAndDominator; |
56 private LocationSet killLocationsBetweenThisAndDominator; |
59 |
57 |
60 public Block(AbstractBeginNode node) { |
58 public Block(AbstractBeginNode node) { |
61 this.beginNode = node; |
59 this.beginNode = node; |