public void printCFG(String label,AbstractBlockBase<?>[] blocks,boolean printNodes){
  if (lir == null) {
    latestScheduling=new NodeMap<>(cfg.getNodeToBlock());
    for (    AbstractBlockBase<?> abstractBlock : blocks) {
      if (abstractBlock == null) {
        continue;
      }
      Block block=(Block)abstractBlock;
      Node cur=block.getBeginNode();
      while (true) {
        assert inFixedSchedule(cur) && latestScheduling.get(cur) == block;
        scheduleInputs(cur,block);
        if (cur == block.getEndNode()) {
          break;
        }
        assert cur.successors().count() == 1;
        cur=cur.successors().first();
      }
    }
  }
  begin("cfg");
  out.print("name \"").print(label).println('"');
  for (  AbstractBlockBase<?> block : blocks) {
    printBlock(block,printNodes);
  }
  end("cfg");
  if (method != null) {
    printBytecodes(new BytecodeDisassembler(false).disassemble(method));
  }
  latestScheduling=null;
}

public void printCFG ( String label , AbstractBlockBase < ? > [ ] blocks , boolean printNodes ) { if ( lir == null ) { latestScheduling = new NodeMap < > ( cfg . getNodeToBlock ( ) ) ; for ( AbstractBlockBase < ? > abstractBlock : blocks ) { if ( abstractBlock == null ) { continue ; } Block block = ( Block ) abstractBlock ; Node cur = block . getBeginNode ( ) ; while ( true ) { assert inFixedSchedule ( cur ) && latestScheduling . get ( cur ) == block ; scheduleInputs ( cur , block ) ; if ( cur == block . getEndNode ( ) ) { break ; } assert cur . successors ( ) . count ( ) == 1 ; cur = cur . successors ( ) . first ( ) ; } } } begin ( "cfg" ) ; out . print ( "name \"" ) . print ( label ) . println ( '"' ) ; for ( AbstractBlockBase < ? > block : blocks ) { printBlock ( block , printNodes ) ; } end ( "cfg" ) ; if ( method != null ) { printBytecodes ( new BytecodeDisassembler ( false ) . disassemble ( method ) ) ; } latestScheduling = null ; }
prints the specified list of blocks .
