Memory.zero(cursor, VM_Extent.fromInt(useableBlockSize));
Memory.zero(cursor, VM_Extent.fromIntZeroExtend(useableBlockSize));
  private final VM_Address expandSizeClass(int sizeClass)     throws VM_PragmaInline {    VM_Address block = blockAllocator.alloc(blockSizeClass[sizeClass]);    if (block.isZero())      return VM_Address.zero();    installNewBlock(block, sizeClass);    int cellExtent = cellSize[sizeClass];    VM_Address cursor = block.add(blockHeaderSize[sizeClass]);    int blockSize = BlockAllocator.blockSize(blockSizeClass[sizeClass]);    int useableBlockSize = blockSize - blockHeaderSize[sizeClass];    VM_Address sentinel = block.add(blockSize);    VM_Address lastCell = VM_Address.zero();    int cellCount = 0;    // pre-zero the block    Memory.zero(cursor, VM_Extent.fromInt(useableBlockSize));    // construct the free list    while (cursor.add(cellExtent).LE(sentinel)) {      setNextCell(cursor, lastCell);       lastCell = cursor;      cursor = cursor.add(cellExtent);      cellCount++;    }    if (maintainInUse()) cellsInUse[sizeClass] = 0;    setBlockSizeClass(block, sizeClass);    postExpandSizeClass(block, sizeClass);        if (VM_Interface.VerifyAssertions)      VM_Interface._assert(!lastCell.isZero());    return lastCell;  }