[phobos] opinions on bug 5370
Dmitry Olshansky
dmitry.olsh at gmail.com
Thu Aug 4 16:24:23 PDT 2011
On 04.08.2011 7:21, Brad Roberts wrote:
> http://d.puremagic.com/issues/show_bug.cgi?id=5370
>
> It's listed as a regression, but it looks like a deliberate behavior change. My personal opinion is that buffers don't
> contain pointers. They shouldn't participate in garbage collection.
>
> Either way, a decision needs to be made and either the changes applied or the bug closed as won't fix.
>
> Thoughts?
When I filed it I was certain it's a regression, I discovered it while
chasing memory corruption in my D2 port of DMDscript.
All boiled down to "it works untill garbage collection", and then I
found the cause: the original code stores pointers to heap allocated
objects in OutBuffer. So I think it _was_ supposed to be able to hold
pointers to heap allocated stuff.
Also grep code for:
GC.clrAttr(data.ptr, GC.BlkAttr.NO_SCAN);
I think this made it to scan GC before array LRU append cache. Nowdays
this part of code does nothing, since it somehow doesn't point to
_block_. At any rate, I can wrap up the patch as pull request if I
convinced anybody.
--
Dmitry Olshansky
More information about the phobos
mailing list