278 }
279 out.println();
280
281 out.print("flags ");
282 if (block.isLoopHeader()) {
283 out.print("\"llh\" ");
284 }
285 if (block.isLoopEnd()) {
286 out.print("\"lle\" ");
287 }
288 if (block.isExceptionEntry()) {
289 out.print("\"ex\" ");
290 }
291 out.println();
292
293 if (block.getLoop() != null) {
294 out.print("loop_index ").println(block.getLoop().getIndex());
295 out.print("loop_depth ").println(block.getLoop().getDepth());
296 }
297
298 out.print("probability ").println(Double.doubleToRawLongBits(block.probability()));
299 }
300
301 private void printNodes(Block block) {
302 printedNodes = new NodeBitMap(cfg.graph);
303 begin("IR");
304 out.println("HIR");
305 out.disableIndentation();
306
307 if (block.getBeginNode() instanceof AbstractMergeNode) {
308 // Currently phi functions are not in the schedule, so print them separately here.
309 for (ValueNode phi : ((AbstractMergeNode) block.getBeginNode()).phis()) {
310 printNode(phi, false);
311 }
312 }
313
314 Node cur = block.getBeginNode();
315 while (true) {
316 printNode(cur, false);
317
318 if (cur == block.getEndNode()) {
|
278 }
279 out.println();
280
281 out.print("flags ");
282 if (block.isLoopHeader()) {
283 out.print("\"llh\" ");
284 }
285 if (block.isLoopEnd()) {
286 out.print("\"lle\" ");
287 }
288 if (block.isExceptionEntry()) {
289 out.print("\"ex\" ");
290 }
291 out.println();
292
293 if (block.getLoop() != null) {
294 out.print("loop_index ").println(block.getLoop().getIndex());
295 out.print("loop_depth ").println(block.getLoop().getDepth());
296 }
297
298 out.print("probability ").println(Double.doubleToRawLongBits(block.getRelativeFrequency()));
299 }
300
301 private void printNodes(Block block) {
302 printedNodes = new NodeBitMap(cfg.graph);
303 begin("IR");
304 out.println("HIR");
305 out.disableIndentation();
306
307 if (block.getBeginNode() instanceof AbstractMergeNode) {
308 // Currently phi functions are not in the schedule, so print them separately here.
309 for (ValueNode phi : ((AbstractMergeNode) block.getBeginNode()).phis()) {
310 printNode(phi, false);
311 }
312 }
313
314 Node cur = block.getBeginNode();
315 while (true) {
316 printNode(cur, false);
317
318 if (cur == block.getEndNode()) {
|