Home | History | Annotate | Download | only in ssa

Lines Matching refs:block

55          * The exit block, added here, is not considered for edge splitting
126 * requiring each block with a final instruction that returns a
149 * New blocks are added to the end of the block list during
153 SsaBasicBlock block = blocks.get(i);
154 if (nodeNeedsUniquePredecessor(block)) {
155 block.insertNewPredecessor();
161 * @param block {@code non-null;} block in question
165 private static boolean nodeNeedsUniquePredecessor(SsaBasicBlock block) {
167 * Any block with that has both multiple successors and multiple
171 int countPredecessors = block.getPredecessors().cardinality();
172 int countSuccessors = block.getSuccessors().cardinality();
178 * In ROP form, move-exception must occur as the first insn in a block
181 * any block that starts with a move-exception such that there is a
182 * unique move-exception block for each predecessor.
190 * New blocks are added to the end of the block list during
194 SsaBasicBlock block = blocks.get(i);
197 * Any block that starts with a move-exception and has more than
200 if (!block.isExitBlock()
201 && block.getPredecessors().cardinality() > 1
202 && block.getInsns().get(0).isMoveException()) {
204 // block.getPredecessors() is changed in the loop below.
205 BitSet preds = (BitSet)block.getPredecessors().clone();
210 = predecessor.insertNewSuccessor(block);
216 zNode.getInsns().add(0, block.getInsns().get(0).clone());
219 // Remove the move-exception from the original block.
220 block.getInsns().remove(0);
235 * New blocks are added to the end of the block list during
239 SsaBasicBlock block = blocks.get(i);
242 BitSet successors = (BitSet)block.getSuccessors().clone();
248 if (needsNewSuccessor(block, succ)) {
249 block.insertNewSuccessor(succ);
256 * Returns {@code true} if block and successor need a Z-node
259 * <li> there is a critical edge between block and successor.
261 * successor block has more than one predecessor.
264 * @param block predecessor node
268 private static boolean needsNewSuccessor(SsaBasicBlock block,
270 ArrayList<SsaInsn> insns = block.getInsns();
277 // block. The generated bytecode was rejected by the ART
279 if (block.getSuccessors().cardinality() > 1 && succ.getPredecessors().cardinality() > 1) {
312 // Bit set of registers vs block index "definition sites"
315 // Bit set of registers vs block index "phi placement sites"