On Saturday, 13 October 2018 at 18:40:58 UTC, Per Nordlöw wrote:
If a D-program GC-allocates via `new` an array spanning
multiple pages but after processing only keeps a slice to it
that fits inside a single `mmape`d page will GC-collection then
free the other unreferenced pages?
I realize that such a feature in a GC of any language and type
must rely on the OS memory manager being able to free parts of
a previously allocated set of continuously positioned pages.
Does this depend on whether the used page is the first, last or
a page in the middle of the set of pages allocated in one call
to mmap.
I don't believe the GC frees half of allocated memory if there
are no references to the unreferenced point.
It would break c style strings I think.