std.allocator: false pointers
safety0ff via Digitalmars-d
digitalmars-d at puremagic.com
Sat May 3 16:41:01 PDT 2014
On Friday, 2 May 2014 at 17:15:20 UTC, Orvid King via
Digitalmars-d wrote:
> Well, in a 64-bit address space, the false pointer issue is
> almost
> mute, the issue comes in when you try to apply this design to
> 32-bit,
> where the false pointer issue is more prevelent. Is the volume
> of
> memory saved by this really worth it?
False pointers don't only cause memory consumption, you're
forgetting that the GC will repeatedly scan memory held by false
pointers at each collection*. This adds time to each collection
and further increases the risk of other false pointers.
False pointers can make many reasonable looking D programs behave
unexpectedly when run in a 32-bit environment (to the point that
I consider that they can "break" programs.)
I think false pointers must be addressed to make claims that D is
well-behaved on 32-bit systems.
* Unless it is marked NO_SCAN of course, but this is not likely
the common case.
More information about the Digitalmars-d
mailing list