Log.write("\nContiguousSpaceDriver.setRange for semispace: "); Log.write(subspace.getFirstIndex()); Log.write("-", subspace.getBlockNum()); Log.write(" (", start); Log.write("-", end); Log.write(")"); */
* Log.write("\nContiguousSpaceDriver.setRange for semispace: "); * Log.write(subspace.getFirstIndex()); Log.write("-", * subspace.getBlockNum()); Log.write(" (", start); Log.write("-", end); * Log.write(")"); */
  public void setRange(Address start, Address end) {    int current = subspace.getBlockNum();    int required = countTileNum(start, end, subspace.getBlockSize());    // Reset the subspaces    if(required != current)      subspace.reset(start, end, 0, required);    /*    Log.write("\nContiguousSpaceDriver.setRange for semispace: ");    Log.write(subspace.getFirstIndex()); Log.write("-", subspace.getBlockNum());    Log.write(" (", start); Log.write("-", end); Log.write(")");    */    // Reset the driver    // FIXME As far as I can see, release() only resets a CopySpace's    // cursor (and optionally zeroes or mprotects the pages); it doesn't    // make the pages available to other spaces. See SemiSpaceGCspy.gcspyGatherData    // If pages really are released, change the test here to    // if (allTileNum != required) {    if (allTileNum < required) {      //Log.write(", resize from ", allTileNum); Log.write(" to ", required);      allTileNum = required;      space.resize(allTileNum);      setTilenames(subspace, allTileNum);    }  }