On 11/21/16 11:53 AM, ag0aep6g wrote:
On Monday, 21 November 2016 at 16:37:32 UTC, Kagamin wrote:
Anything in .data and .bss sections and stack. See
https://issues.dlang.org/show_bug.cgi?id=15723
Ok, not an actual reference then, but a false pointer.
Yes. 100 million bytes is 1/40 of all addressable space on 32-bits.
There only needs to be one 4-byte segment somewhere on the stack that
points at this, and it won't be collected.
Assuming you have a quite large segment that can't be extended or
collected (due to false pointer), this means you have to allocate
another large one to satisfy the next allocation (which then could be
pinned). And it gets worse from there.
-Steve