Extent cellBytes = Extent.fromInt(cellSize[sizeClass]);
Extent cellBytes = Extent.fromIntSignExtend(cellSize[sizeClass]);
  private final int markedCells(Address block, int sizeClass)    throws InlinePragma {    Extent cellBytes = Extent.fromInt(cellSize[sizeClass]);    Address cellCursor = block.add(blockHeaderSize[sizeClass]);    Address nextCellCursor = cellCursor.add(cellBytes);    Address markCursor = alignToLiveStride(cellCursor);    Extent blockSize = Extent.fromInt(BlockAllocator.blockSize(blockSizeClass[sizeClass]));    Address end = block.add(blockSize);    boolean marked = false;    int markCount = 0;    while (markCursor.LT(end)) {      Word mark = getLiveBits(markCursor);      for (int i=0; i < BITS_IN_WORD; i++) {        if (!mark.isZero() && !(mark.and(Word.one().lsh(i)).isZero())) {          marked = true;        }        markCursor = markCursor.add(BYTES_PER_LIVE_BIT);        if (markCursor.GE(nextCellCursor)) {          if (marked) markCount++;          cellCursor = nextCellCursor;          nextCellCursor = nextCellCursor.add(cellBytes);          marked = false;        }      }    }    return markCount;  }