On heap segregation, GC optimization and @nogc relaxing

via Digitalmars-d digitalmars-d at puremagic.com
Thu Nov 13 02:10:33 PST 2014


On Wednesday, 12 November 2014 at 21:15:05 UTC, deadalnix wrote:
> On Wednesday, 12 November 2014 at 12:49:41 UTC, Marc Schütz 
> wrote:
>> All this is unfortunately only true if there are no references 
>> between heaps, i.e. if the heaps are indeed "islands". 
>> Otherwise, there need to be at least write barriers.
>>
>
> Yes, that is exactly why I'm listing the case where these can 
> be created in @safe code and propose a solution to plug the 
> hole (and which brings other benefits along the road).

Hmm... I can't find that in what you wrote. To clarify: I'm 
talking about the fact that, for example, a thread-local heap can 
contain references into the immutable and shared heaps. 
Therefore, the immutable heap can _not_ be collected without 
disturbing any threads, because any TL heaps (and stacks!) can 
potentially have references to it. They either need to be 
stopped, or write barriers need to be utilized when references to 
immutable data are changed.


More information about the Digitalmars-d mailing list