> 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