[D-runtime] GC expectations from TLS?

Fawzi Mohamed fawzi at gmx.ch
Sat Nov 13 13:37:33 PST 2010


thinking more about it one has to ensure that allocation at the same  
place as a previously grown array sets the cache (or purges the old  
value).

On 13-nov-10, at 10:37, Fawzi Mohamed wrote:

> having a real weak pointer is not easy and has a cost because there  
> is a hole between marking an object as collected and calling its  
> dtor (that array don't even have by default).
>
> But in your case you will never dereference an object that might  
> have been collected, so it is easier.
>
> Probably the easiest way to have what you want is to use a struct  
> that keeps the prt as non aligned size_t value (just (arr.ptr | 1)  
> and remove that bit when needed, the scanning should ignore the non  
> aligned value, and you are ok...
>
> On 13-nov-10, at 00:26, Steven Schveighoffer wrote:
>
>> Static ctor/dtor?
>>
>> Sent from my iPhone
>>
>> On Nov 12, 2010, at 5:56 PM, Sean Kelly <sean at invisibleduck.org>  
>> wrote:
>>
>>> On Nov 12, 2010, at 12:25 PM, Steve Schveighoffer wrote:
>>>>
>>>> I would like to avoid a heap allocation (which I know will work)  
>>>> on every thread
>>>> creation, but it's looking to me like this is what's going to  
>>>> have to happen.  I
>>>> probably can use malloc to avoid it being scanned.  Is there  
>>>> another way?
>>>
>>> I don't think there is.  The TLS block is static memory, so  
>>> there's no way to flag it as not containing pointers.  You'll need  
>>> some way of being notified when the block is collected too.
>>> _______________________________________________
>>> D-runtime mailing list
>>> D-runtime at puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/d-runtime
>> _______________________________________________
>> D-runtime mailing list
>> D-runtime at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/d-runtime
>
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime



More information about the D-runtime mailing list