On Friday, 14 November 2014 at 23:49:00 UTC, ketmar via
Digitalmars-d wrote:
On Fri, 14 Nov 2014 23:23:17 +0000
IgorStepanov via Digitalmars-d <digitalmars-d@puremagic.com>
wrote:
What does the NO_INTERIOR flag?
it stops GC to acknowledge pointers inside allocated area as
anchors.
i.e. if there is no pointer to the head (first address) of
allocated
memory, it is assumed to be garbage.
this way we have much less "false pointers", and GC not doing
pointer->block conversions.
for buckets we certainly has "head pointer" and can't have
pointers to
bucket elements without "head pointer". so it's safe to tell GC
that it
shouldn't do unnecessary work.
In other words, if buckets array will contain only uint-s there
is no reason to mark buckets with NO_INTERIOR?