int disp = VM_Entrypoints.hiddenSignatureIdField.getOffset();
int disp = VM_Entrypoints.hiddenSignatureIdField.getOffsetAsInt();
  private static void insertStubCase(VM_Assembler asm,                                       int[] sigIds, VM_Method[] targets,                                     int[] bcIndices, int low, int high) {    int middle = (high + low)/2;    asm.resolveForwardReferences(bcIndices[middle]);    if (low == middle && middle == high) {      // a leaf case; can simply invoke the method directly.      VM_Method target = targets[middle];      if (target.isStatic()) { // an error case...        VM_ProcessorLocalState.emitMoveFieldToReg(asm, ECX, VM_Entrypoints.jtocField.getOffset());      }      asm.emitJMP_RegDisp(ECX, target.getOffset());    } else {      int disp = VM_Entrypoints.hiddenSignatureIdField.getOffset();      VM_ProcessorLocalState.emitCompareFieldWithImm(asm, disp, sigIds[middle]);      if (low < middle) {        asm.emitJCC_Cond_Label(asm.LT, bcIndices[(low+middle-1)/2]);      }      if (middle < high) {        asm.emitJCC_Cond_Label(asm.GT, bcIndices[(middle+1+high)/2]);      }      // invoke the method for middle.      VM_Method target = targets[middle];      if (target.isStatic()) { // an error case...        VM_ProcessorLocalState.emitMoveFieldToReg(asm, ECX, VM_Entrypoints.jtocField.getOffset());      }      asm.emitJMP_RegDisp(ECX, target.getOffset());      // Recurse.      if (low < middle) {        insertStubCase(asm, sigIds, targets, bcIndices, low, middle-1);      }       if (middle < high) {        insertStubCase(asm, sigIds, targets, bcIndices, middle+1, high);      }    }  }