GC Destruction Order

bitwise via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue May 19 12:29:13 PDT 2015


On Tue, 19 May 2015 14:55:55 -0400, Steven Schveighoffer  
<schveiguy at yahoo.com> wrote:

> On 5/19/15 2:37 PM, bitwise wrote:
>> On Tue, 19 May 2015 14:19:30 -0400, Adam D. Ruppe
>> <destructionator at gmail.com> wrote:
>>
>>> On Tuesday, 19 May 2015 at 18:15:06 UTC, bitwise wrote:
>>>> Is this also true for D?
>>>
>>> Yes. The GC considers all the unreferenced memory dead at the same
>>> time and may clean up the class and its members in any order.
>>
>> Ugh... I was really hoping D had something better up it's sleeve.
>
> It's actually quite impossible for the GC to know what pointers are  
> "owning" pointers and what ones are not. And you could never have  
> ownership cycles.
>
> You could use some version of malloc/free to do it. But you have to take  
> care of GC references inside that malloc'd block.
>
>> I have heard about attempts to add precise GC to D though... would
>> precise GC address this problem in some way?
>
> No. Precise scanning just (potentially) cuts down on scanning time, and  
> avoids false pointers.
>
> -Steve

Ok, thanks for the quick answers =D

   Bit


More information about the Digitalmars-d-learn mailing list