Question about garbage collection specification

Dmitry Olshansky via Digitalmars-d digitalmars-d at puremagic.com
Mon Jun 15 05:08:28 PDT 2015


On 13-Jun-2015 14:32, rsw0x wrote:
> http://dlang.org/garbage.html
>
> Do not take advantage of alignment of pointers to store bit flags in the
> low order bits:
> p = cast(void*)(cast(int)p | 1);  // error: undefined behavior
>
> if this restriction is actually imposed - why does
> std.bitmanip.tagged{ClassRef,Pointer} even exist?

AFAIK the restriction was that pointers _themselves_ have to be stored 
at word-aligned addresses. This allows GC to scan memory cheaper w/o 
considering if some misaligned address may contain a pointer.

-- 
Dmitry Olshansky


More information about the Digitalmars-d mailing list