VM_ForwardReference fr = asm.forwardJcc(asm.NE);
VM_ForwardReference fr = asm.forwardJcc(VM_Assembler.NE);
  protected final void emit_lookupswitch(int defaultval, int npairs) {    asm.emitPOP_Reg(T0);    for (int i=0; i<npairs; i++) {      int match   = bcodes.getLookupSwitchValue(i);      asm.emitCMP_Reg_Imm(T0, match);      int offset  = bcodes.getLookupSwitchOffset(i);      int bTarget = biStart + offset;      int mTarget = bytecodeMap[bTarget];      if (!VM.runningTool && ((VM_BaselineCompiledMethod)compiledMethod).hasCounterArray()) {        // Flip conditions so we can jump over the increment of the taken counter.        VM_ForwardReference fr = asm.forwardJcc(asm.NE);        incEdgeCounter(S0, edgeCounterIdx++);        asm.emitJMP_ImmOrLabel(mTarget, bTarget);        fr.resolve(asm);      } else {        asm.emitJCC_Cond_ImmOrLabel(asm.EQ, mTarget, bTarget);      }    }    bcodes.skipLookupSwitchPairs(npairs);    int bTarget = biStart + defaultval;    int mTarget = bytecodeMap[bTarget];    if (!VM.runningTool && ((VM_BaselineCompiledMethod)compiledMethod).hasCounterArray()) {      incEdgeCounter(S0, edgeCounterIdx++); // increment default counter    }    asm.emitJMP_ImmOrLabel(mTarget, bTarget);  }