int offset = fpOffset - value; long lbits = VM_Magic.getLongAtOffset(stack, offset);
long lbits = VM_Magic.getLongAtOffset(stack, fpOffset.sub(value));
  private static double getDoubleFrom(int vtype,                                      int value,                                      byte[] stack,                                      int fpOffset,                                      OSR_TempRegisters registers) {    if (vtype == PHYREG) {      return registers.fprs[value - FIRST_DOUBLE];    } else if (vtype == SPILL) {      int offset = fpOffset - value;      long lbits = VM_Magic.getLongAtOffset(stack, offset);      return VM_Magic.longBitsAsDouble(lbits);      //KV:TODO: why not use getDoubleAtOffset ???    } else {      if (VM.VerifyAssertions) VM._assert(VM.NOT_REACHED);      return -1.0;    }  }