if (!limit.EQ(start)) cursor = start;
if (limit.NE(start)) cursor = start;
  final protected VM_Address allocSlowOnce(boolean isScalar, int bytes, 					   boolean inGC) {    int chunkSize = ((bytes + CHUNK_SIZE - 1) >>> LOG_CHUNK_SIZE) << LOG_CHUNK_SIZE;    VM_Address start = ((MonotoneVMResource)vmResource).acquire(Conversions.bytesToPages(chunkSize));    if (start.isZero())      return start;    Memory.zero(start, VM_Extent.fromInt(chunkSize));    // check for (dis)contiguity with previous chunk    if (!limit.EQ(start)) cursor = start;    limit = start.add(chunkSize);    return alloc(isScalar, bytes);  }