[Issue 10589] GC.malloc(sz, GC.BlkAttr.APPENDABLE) fails after a certain size

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Jul 14 03:32:14 PDT 2013


http://d.puremagic.com/issues/show_bug.cgi?id=10589



--- Comment #5 from Rainer Schuetze <r.sagitario at gmx.de> 2013-07-14 03:32:13 PDT ---
(In reply to comment #4)

> Ok. I have just some tiny questions left, if you'd care to instruct me:
> 1. Why does the "Place at beginning" scheme start at 2K bytes, when a page is
> 4K byte?

Allocation sizes below 4k are rounded up to the next power of 2, so if the
allocation is larger than 2048, a full page is used by the GC. The array
functions then assume that extending is possible and place information at the
start of the buffer. All this is very specific to the currnt GC implementation.

> 2. Why is the padding 16 bytes? You'd think 8 is enough...? Is there a reason,
> or is it just "future proofing"?

It is necessary to support alignment attributes in arrays of structs (at least
up to 16) or alignment for SIMD vectors.

> 
> I'll write up the info acquired and update the doc.

Thanks.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list