-v1 doesn't assume std.gc.setV1_0()

Chris Miller chris at dprogramming.com
Sat Feb 24 13:38:33 PST 2007


On Wed, 21 Feb 2007 16:06:56 -0500, Tyler Knott <tywebmail at mailcity.com>  
wrote:

> Chris Miller wrote:
>> Should -v1 assume std.gc.setV1_0()? I don't believe it does.
>>  Some objects in some of my programs are being collected too early  
>> unless I call std.gc.setV1_0(). I don't believe I'm doing any pointer  
>> voodoo either, but it's possible.
>>  Perhaps as a compromise, -v1 could assume std.gc.setV1_0() as long as  
>> the new GC isn't considered stable.
>
> The only change in the post-1.0 GC is that it doesn't scan numeric types  
> for pointers (e.g. uint[]).  Are you sure you're not storing the  
> pointers/references in a numeric type somewhere?  If you aren't, then  
> try to create a test case and file a bug report at  
> http://d.puremagic.com/issues/  The last bugs with the new GC should  
> have been fixed in DMD 1.004/GDC 0.22.

By "pointer voodoo" I meant sticking pointers where they don't belong or  
modifying the bits.

"The only change" you refer to had side affects; some of which were fixed,  
not sure if all. I don't think it was as simple as you make it sound to  
be. This is why I don't think it's considered "stable" yet; it just hasn't  
been proven like the old one. You telling me to file a possible bug  
somewhat proves my point.



More information about the Digitalmars-d mailing list