@Override public void perform(IR ir){
  for (Enumeration<BasicBlock> e=ir.getBasicBlocks(); e.hasMoreElements(); ) {
    BasicBlock bb=e.nextElement();
    if (bb.isEmpty())     continue;
    container.counter2++;
    if (bb.getInfrequent()) {
      container.counter1++;
      if (ir.options.FREQ_FOCUS_EFFORT)       continue;
    }
    for (Enumeration<Instruction> ie=bb.forwardInstrEnumerator(); ie.hasMoreElements(); ) {
      Instruction s=ie.nextElement();
      if (TypeCheck.conforms(s) && (invertNullAndTypeChecks(s) || pushTypeCheckBelowIf(s,ir))) {
        ie=bb.forwardInstrEnumerator();
      }
    }
  }
}

@ Override public void perform ( IR ir ) { for ( Enumeration < BasicBlock > e = ir . getBasicBlocks ( ) ; e . hasMoreElements ( ) ; ) { BasicBlock bb = e . nextElement ( ) ; if ( bb . isEmpty ( ) ) continue ; container . counter2 ++ ; if ( bb . getInfrequent ( ) ) { container . counter1 ++ ; if ( ir . options . FREQ_FOCUS_EFFORT ) continue ; } for ( Enumeration < Instruction > ie = bb . forwardInstrEnumerator ( ) ; ie . hasMoreElements ( ) ; ) { Instruction s = ie . nextElement ( ) ; if ( TypeCheck . conforms ( s ) && ( invertNullAndTypeChecks ( s ) || pushTypeCheckBelowIf ( s , ir ) ) ) { ie = bb . forwardInstrEnumerator ( ) ; } } } }
main routine : perform the transformation .
