GC.sizeOf(array.ptr)

Steven Schveighoffer via Digitalmars-d digitalmars-d at puremagic.com
Tue Sep 30 10:51:18 PDT 2014


On 9/30/14 1:23 PM, Sean Kelly wrote:

> (except for the
> definition of the APPENDABLE BlkAttr, which really should be
> defined externally and within the user-reserved range of the
> bitfield instead of the GC-reserved range, but I digress...)

The APPENDABLE bit was added as a solution to avoid having to reserve 
that memory for all allocations. Basically, if you try to append to a 
block that doesn't have the bit, it simply reallocates conservatively.

So it does have to be part of the GC metadata, because the most 
important effect is on blocks that AREN'T allocated via the array 
runtime. Otherwise, the append mechanism creeps into all aspects of 
memory allocation.

-Steve


More information about the Digitalmars-d mailing list