OPT_BasicBlock origBlock = getOrigBlock (inst); if (origBlock.getInfrequent()) return origBlock;
OPT_BasicBlock _origBlock = getOrigBlock (inst); if (_origBlock.getInfrequent()) return _origBlock;
  OPT_BasicBlock scheduleLate(OPT_Instruction inst)  {    if (DEBUG) VM.sysWrite ("Schedule Late: "+inst+"\n");        OPT_BasicBlock lateBlock = null;    int state = getState (inst);    if (state == late || state == done) return getBlock (inst);    setState (inst, late);    if (ir.options.FREQ_FOCUS_EFFORT) {      OPT_BasicBlock origBlock = getOrigBlock (inst);      if (origBlock.getInfrequent())        return origBlock;    }        // explicitly INCLUDE instructions    if (!shouldMove(inst, ir)) {      return getOrigBlock (inst);    }    // dependencies via scalar operands    lateBlock = scheduleScalarUsesLate (inst, lateBlock);    if (DEBUG) VM.sysWrite ("lateBlock1: "+ lateBlock +" for "+inst+"\n");        // dependencies via heap operands    if (ir.IRStage == ir.HIR) {      lateBlock = scheduleHeapUsesLate (inst, lateBlock);      if (DEBUG) VM.sysWrite ("lateBlock2: "+ lateBlock +" for "+inst+"\n");    }        // if there are no uses, this instruction is dead.    if (lateBlock == null) {      if (verbose) VM.sysWrite ("deleting "+inst+"\n");      inst.remove();          } else {      if (DEBUG && lateBlock != getOrigBlock (inst)) {        VM.sysWrite ("new lateBlock: "+ lateBlock +" for "                     + getOrigBlock (inst)+": "+inst+"\n");      }            OPT_BasicBlock to = upto (getEarlyPos (inst), lateBlock, inst);      if (to == null) {        lateBlock = getOrigBlock (inst);      } else {        if (VM.VerifyAssertions) VM._assert (getState (inst) != done);        lateBlock = to;        if (getOrigBlock (inst) != to) move (inst, to);      }    }    setState (inst, done);    setBlock (inst, lateBlock);    return lateBlock;  }