[Issue 10589] GC.malloc(sz, GC.BlkAttr.APPENDABLE) fails after a certain size
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Jul 12 14:59:13 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10589
--- Comment #3 from Rainer Schuetze <r.sagitario at gmx.de> 2013-07-12 14:59:12 PDT ---
>Is the memory layout for the APPENDABLE data documented somewhere, or are these
just reverse-engineered magic numbers?
There is some description in rt/lifetime.d starting around line 200.
>Nope (I think). Length is carried in the slice, not the block.
> Block only contains capacity/used info.
Sorry, I meant the "used" info that must be reset.
>In particular, the magic numbers should be user accessible via manifest
> constants, or functions, so as to not have to guess/reverse engineer them.
The constants are defined privately in lifetime.d as SMALLPAD, MEDPAD and
LARGEPAD. I suspect the trailing byte for large arrays is added so that
arr[$..$] always points into the same memory block, and not the next one.
--
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