code: func newMarkAllocator(base, size int) *markAllocator {
  	ma := &markAllocator{
  		marks: make([]uint32, 0, size),
  	}
  	for i := 0; i < size; i++ {
  		ma.put(uint32(base + i))
  	}
  	return ma
  }
docs: // newMarkAllocator returns a mark allocator initialised with the specified
  // base and size.