asm.emitCALL_RegDisp(JTOC, VM_Entrypoints.yieldpointFromBackedgeMethod.getOffset());
asm.emitCALL_RegDisp(JTOC, VM_Entrypoints.yieldpointFromBackedgeMethod.getOffsetAsInt());
  private final void genThreadSwitchTest (int whereFrom) {    if (!isInterruptible) {      return;    }     // thread switch requested ??    VM_ProcessorLocalState.emitCompareFieldWithImm(asm, VM_Entrypoints.takeYieldpointField.getOffset(), 0);    VM_ForwardReference fr1;    if (whereFrom == VM_Thread.PROLOGUE) {      // Take yieldpoint if yieldpoint flag is non-zero (either 1 or -1)      fr1 = asm.forwardJcc(asm.EQ);      asm.emitCALL_RegDisp(JTOC, VM_Entrypoints.yieldpointFromPrologueMethod.getOffset());     } else if (whereFrom == VM_Thread.BACKEDGE) {      // Take yieldpoint if yieldpoint flag is >0      fr1 = asm.forwardJcc(asm.LE);      asm.emitCALL_RegDisp(JTOC, VM_Entrypoints.yieldpointFromBackedgeMethod.getOffset());     } else { // EPILOGUE      // Take yieldpoint if yieldpoint flag is non-zero (either 1 or -1)      fr1 = asm.forwardJcc(asm.EQ);      asm.emitCALL_RegDisp(JTOC, VM_Entrypoints.yieldpointFromEpilogueMethod.getOffset());     }    fr1.resolve(asm);    //-#if RVM_WITH_ADAPTIVE_SYSTEM    if (options.INVOCATION_COUNTERS) {      int id = compiledMethod.getId();      com.ibm.JikesRVM.adaptive.VM_InvocationCounts.allocateCounter(id);      asm.emitMOV_Reg_RegDisp(ECX, JTOC, VM_Entrypoints.invocationCountsField.getOffset());      asm.emitSUB_RegDisp_Imm(ECX, compiledMethod.getId() << 2, 1);      VM_ForwardReference notTaken = asm.forwardJcc(asm.GT);      asm.emitPUSH_Imm(id);      genParameterRegisterLoad(1);      asm.emitCALL_RegDisp(JTOC, VM_Entrypoints.invocationCounterTrippedMethod.getOffset());      notTaken.resolve(asm);    }    //-#endif  }