comparison graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java @ 2712:a0dd2b907806

Removed implicit safepoints.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Thu, 19 May 2011 13:09:37 +0200
parents 7ed72769d51a
children 027adfafd47e
comparison
equal deleted inserted replaced
2708:4272b7af2d17 2712:a0dd2b907806
77 77
78 public int blockSuccessorCount() { 78 public int blockSuccessorCount() {
79 return blockSuccessorCount; 79 return blockSuccessorCount;
80 } 80 }
81 81
82 private boolean isSafepoint;
83
84 /** 82 /**
85 * Constructs a new block end with the specified value type. 83 * Constructs a new block end with the specified value type.
86 * @param kind the type of the value produced by this instruction 84 * @param kind the type of the value produced by this instruction
87 * @param stateAfter the frame state at the end of this block 85 * @param stateAfter the frame state at the end of this block
88 * @param isSafepoint {@code true} if this instruction is a safepoint instruction 86 * @param isSafepoint {@code true} if this instruction is a safepoint instruction
89 * @param successors the list of successor blocks. If {@code null}, a new one will be created. 87 * @param successors the list of successor blocks. If {@code null}, a new one will be created.
90 */ 88 */
91 public BlockEnd(CiKind kind, FrameState stateAfter, boolean isSafepoint, List<BlockBegin> blockSuccessors, int inputCount, int successorCount, Graph graph) { 89 public BlockEnd(CiKind kind, FrameState stateAfter, List<BlockBegin> blockSuccessors, int inputCount, int successorCount, Graph graph) {
92 this(kind, stateAfter, isSafepoint, blockSuccessors.size(), inputCount, successorCount, graph); 90 this(kind, stateAfter, blockSuccessors.size(), inputCount, successorCount, graph);
93 for (int i = 0; i < blockSuccessors.size(); i++) { 91 for (int i = 0; i < blockSuccessors.size(); i++) {
94 setBlockSuccessor(i, blockSuccessors.get(i)); 92 setBlockSuccessor(i, blockSuccessors.get(i));
95 } 93 }
96 } 94 }
97 95
98 public BlockEnd(CiKind kind, FrameState stateAfter, boolean isSafepoint, int blockSuccessorCount, int inputCount, int successorCount, Graph graph) { 96 public BlockEnd(CiKind kind, FrameState stateAfter, int blockSuccessorCount, int inputCount, int successorCount, Graph graph) {
99 super(kind, inputCount + INPUT_COUNT, successorCount + blockSuccessorCount + SUCCESSOR_COUNT, graph); 97 super(kind, inputCount + INPUT_COUNT, successorCount + blockSuccessorCount + SUCCESSOR_COUNT, graph);
100 this.blockSuccessorCount = blockSuccessorCount; 98 this.blockSuccessorCount = blockSuccessorCount;
101 setStateAfter(stateAfter); 99 setStateAfter(stateAfter);
102 this.isSafepoint = isSafepoint;
103 } 100 }
104 101
105 public BlockEnd(CiKind kind, FrameState stateAfter, boolean isSafepoint, Graph graph) { 102 public BlockEnd(CiKind kind, FrameState stateAfter, Graph graph) {
106 this(kind, stateAfter, isSafepoint, 2, 0, 0, graph); 103 this(kind, stateAfter, 2, 0, 0, graph);
107 }
108
109 /**
110 * Checks whether this instruction is a safepoint.
111 * @return {@code true} if this instruction is a safepoint
112 */
113 public boolean isSafepoint() {
114 return isSafepoint;
115 } 104 }
116 105
117 /** 106 /**
118 * Gets the block begin associated with this block end. 107 * Gets the block begin associated with this block end.
119 * @return the beginning of this basic block 108 * @return the beginning of this basic block