On Sun, 15 Apr 2012 22:24:56 -0400, Walter Bright <[email protected]> wrote:

6. I suggest the GCInfo pointer be stored at the end of the allocated block, as then it won't affect the alignment of the allocated data.

This conflicts with the array runtime's use of the end of the block to store the block's 'used' length. But it may not be an issue.

Note that the 16-byte block is going to get mighty small (only 12 bytes, possibly 11 if it's an appendable block).

I also suggest that you look into changing the way structs are allocated if you haven't already. Right now, they are allocated by creating a new array of size 1. While this is convenient in terms of avoiding a new function, it means all struct allocations are arrays, and as such will be typed as arrays, with appendable semantics and with GCInfo of an array.

-Steve

Reply via email to