if (VM_Interface.VerifyAssertions) VM_Interface._assert(MARK_BITS_ONLY);
  private final void verboseFragmentationStatistics(boolean prepare) {    if (VM_Interface.VerifyAssertions) VM_Interface._assert(MARK_BITS_ONLY);    int totUsedCellBytes = 0;      // bytes for cells actually in use    int totCellBytes = 0;          // bytes consumed by cells    int totBytes = 0;              // bytes consumed (incl header etc)    int totBlocks = 0;    printFragHeader(prepare, false);    for (int sizeClass = 1; sizeClass < SIZE_CLASSES; sizeClass++) {      VM_Address block = firstBlock.get(sizeClass);      int sets =  bitmapSets[sizeClass];      int blocks = 0;      int usedCells = 0;      VM_Address current = currentBlock.get(sizeClass);      boolean getUsed = block.EQ(current) || current.isZero();      while (!block.isZero()) {	blocks++;	if (getUsed) {	  int marked = markedCells(block, sets);	  int pctl = (FRAG_PERCENTILES * marked)/(cellsInBlock[sizeClass]+1);	  utilization[pctl]++;	  usedCells += marked;	  if (prepare) {	    allPreUtilization[sizeClass][pctl]++;	    allPreUsedCells[sizeClass] += marked;	  } else {	    allPostUtilization[sizeClass][pctl]++;	    allPostUsedCells[sizeClass] += marked;	  }	} else {	  usedCells += cellsInBlock[sizeClass];	  utilization[FRAG_PERCENTILES - 1]++;	  if (prepare) {	    allPreUtilization[sizeClass][FRAG_PERCENTILES - 1]++;	    allPreUsedCells[sizeClass] += cellsInBlock[sizeClass];	  } else {	    allPostUtilization[sizeClass][FRAG_PERCENTILES - 1]++;	    allPostUsedCells[sizeClass] += cellsInBlock[sizeClass];	  }	  getUsed = block.EQ(current);	}	block = BlockAllocator.getNextBlock(block);      }      totBlocks += blocks;      if (prepare)	allPreBlocks[sizeClass] += blocks;      else	allPostBlocks[sizeClass] += blocks;      int usedCellBytes = usedCells * cellSize[sizeClass];      totUsedCellBytes += usedCellBytes;      int cellBytes = (blocks * cellsInBlock[sizeClass]) * cellSize[sizeClass];      totCellBytes += cellBytes;      int bytes = blocks * BlockAllocator.blockSize(blockSizeClass[sizeClass]);      totBytes += bytes;      printFragRow(prepare, false, false, sizeClass, usedCellBytes, cellBytes - usedCellBytes, cellBytes, bytes, blocks);    }    printFragRow(prepare, false, true, 0, totUsedCellBytes, totCellBytes - totUsedCellBytes, totCellBytes, totBytes, totBlocks);  }