final protected VM_Address allocSlowOnce(boolean isScalar, int bytes,
final protected VM_Address allocSlowOnce(int bytes, int align, int offset,
  final protected VM_Address allocSlowOnce(boolean isScalar, int bytes,                                            boolean inGC) {    VM_Extent chunkSize = VM_Word.fromIntZeroExtend(bytes).add(CHUNK_MASK).and(CHUNK_MASK.not()).toExtent();    VM_Address start = ((MonotoneVMResource)vmResource).acquire(Conversions.bytesToPages(chunkSize));    if (start.isZero())      return start;    Memory.zero(start, chunkSize);    // check for (dis)contiguity with previous chunk    if (limit.NE(start)) cursor = start;    limit = start.add(chunkSize);    return alloc(isScalar, bytes);  }