GC buckets in 2.067

Iain Buclaw via Digitalmars-d digitalmars-d at puremagic.com
Tue Dec 1 08:36:43 PST 2015


On 1 December 2015 at 16:55, David Nadlinger via Digitalmars-d <
digitalmars-d at puremagic.com> wrote:

> On Tuesday, 1 December 2015 at 08:47:03 UTC, Iain Buclaw wrote:
>
>> David, did you get anything like this when moving to 2.067?
>>
>
> It has been almost a year now, but I don't remember anything like that
> – are you sure that your GC root ranges (.data/stacks/TLS) are set
> correctly?
>
>  — David
>

Every update I make sure to keep the old _tlsstart/_tlsend implementation
intact.  So it should be adding ranges as per 2.066.

I reverted the GC changes to 2.066 and recompiled.

Now I have a null pool pointer at:

2457│             for (List *list = bucket[n]; list; list = list.next)
2458│             {
2459│                 pool = list.pool;
2460├>                assert(pool);
2461│                 pool.freebits.set(cast(size_t)(cast(byte*)list -
pool.baseAddr) / 16);
2462│             }


Maybe there's a codegen change that I haven't picked up.  This is likely as
if feels like 70% of the changes in dmd are unwanted noise.

Iain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20151201/97161686/attachment.html>


More information about the Digitalmars-d mailing list