question: 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 ; }
target:  Prints the specified list of blocks.