On Thursday, 25 December 2014 at 14:55:32 UTC, Xinok wrote:
On Thursday, 25 December 2014 at 10:52:07 UTC, Martin Nowak
wrote:
On Saturday, 20 December 2014 at 22:11:35 UTC, Xinok wrote:
(1) We need a precise garbage collector. The fact that a
garbage-collected language experiences memory leaks truly
reflects poorly on on D.
What's the reason for leakage? I'm a bit skeptical about the
precise GC work.
https://github.com/D-Programming-Language/druntime/pull/1057#issuecomment-65918407
Perhaps "leakage" is the wrong term to use here. I'm referring
to the fact that a conservative garbage collector fails to
distinguish between pointers and non-pointers, so it happens
that dead objects fail to get collected. It's a much greater
problem on 32-bit with the limited address space, especially if
you perform many large allocations.
Ah OK, thought you had problems with stale stack values.
False pointers were discussed here
https://youtu.be/LQY1m_eT37c?t=23m0s, but it's an issue that only
affects few programs (32-bit with floats or random data in GC
scanned memory). So unless we can use precise GC info to speed up
marking, it will be a lot of work with little impact, even more
since we have Win64 support.