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.

Reply via email to