freeOffset += ((size + 3) & ~3);
freeOffset += ((size + BYTES_IN_ADDRESS -1)&~(BYTES_IN_ADDRESS-1));
  public int allocateStorage(int size) {    int lowAddr = freeOffset;    freeOffset += ((size + 3) & ~3); // maintain word alignment    if (freeOffset > endOffset)      fail("bootimage full (need " + size + " more bytes)");    return lowAddr;  }