int offset = fpOffset + valueLow; return VM_Magic.getLongAtOffset(stack, offset);
return VM_Magic.getLongAtOffset(stack, fpOffset.sub(valueLow));
  private static long getLongBitsFrom(int vtype,                                      int valueHigh,                                      int valueLow,                                      byte[] stack,                                      int fpOffset,                                      OSR_TempRegisters registers) {     // for LCONST type, the value is the value    if (vtype == LCONST || vtype == ACONST) {      return ( (((long)valueHigh) << 32) | (((long)valueLow) & 0x0FFFFFFFF));        } else if (VM.BuildFor32Addr) {      // for physical register type, it is the register number      // because all registers are saved in threadswitch's stack      // frame, we get value from it.      if (vtype == PHYREG) {        return ((((long)registers.gprs.get(valueHigh).toInt()) << 32) |                 (((long)registers.gprs.get(valueLow).toInt()) & 0x0FFFFFFFFL));            // 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 + valueHigh;        long lvalue = ((long)VM_Magic.getIntAtOffset(stack, offset)) << 32;        offset = fpOffset + valueLow;        return (lvalue | (((long)VM_Magic.getIntAtOffset(stack, offset)) & 0x0FFFFFFFFL));      }    } else if (VM.BuildFor64Addr) {      // for physical register type, it is the register number      // because all registers are saved in threadswitch's stack      // frame, we get value from it.      if (vtype == PHYREG) {        return registers.gprs.get(valueLow).toLong();            // 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 + valueLow;        return VM_Magic.getLongAtOffset(stack, offset);      }    }     if (VM.VerifyAssertions) VM._assert(NOT_REACHED);    return -1L;  }