int fpOffset,
Offset fpOffset,
  private static int getIntBitsFrom(int vtype,                                    int value,                                    byte[] stack,                                    int fpOffset,                                    OSR_TempRegisters registers) {    // for INT_CONST type, the value is the value    if (vtype == ICONST || vtype == ACONST) {      return value;    // for physical register type, it is the register number    // because all registers are saved in threadswitch's stack    // frame, we get value from it.    } else if (vtype == PHYREG) {      return registers.gprs.get(value).toInt();          // for spilled locals, the value is the spilled position    // it is on FOO's stackframe.    // ASSUMING, spill offset is offset to FP in bytes.    } else if (vtype == SPILL) {      int offset = fpOffset + value + BYTES_IN_STACKSLOT - BYTES_IN_INT;      return VM_Magic.getIntAtOffset(stack, offset);    } else {      if (VM.VerifyAssertions) VM._assert(NOT_REACHED);      return -1;    }  }