> Is this still needed with the update to Parrot_allocate to use
> buffers? I think I took care of that.

No, Parrot_allocate still sets buflen to the original requested 'size'; not
the inflated 'req_size' - I'm not sure what you intended.
The behaviour of Parrot_allocate needs to clearly defined somewhere, as the
COW code depends on it - it needs to allocate a flag byte within the buffer
but outside the used space; my current code uses the last byte, and
therefore keeps buflen one shorter than the physical size. The alternative
is for buflen to always be the real allocated size (which means the size
adjustment logic in go_collect can be removed); then the COW string handling
routines would have to ensure that buflen-1 is always used as the available
buffer size, which is not a major problem.

--
Peter Gibbs
EmKel Systems


Reply via email to