On Fri, 20 Sep 2002, Sean O'Rourke wrote:
: On Fri, 20 Sep 2002, Larry Wall wrote:
: > But if a fast implementation needs to keep pointers into a string
: > rather than offsets from the beginning, we're asking for core dumps if
: > the string is modified out from under the pointers, or we have to
: > adjust all known pointers any time the string may be modified.
: 
: With the current Parrot GC, keeping pointers into the string while doing
: unrelated allocation will get you a core dump, since the string body might
: be copied.  So unless the regex engine copies strings off into its own
: private non-collected storage, we're stuck with offsets anyways.

That's fine, if it's a constraint.  I had thought perhaps COW would
allow a locked-down copy to work with without forcing unnecessary
copying, but I suppose it doesn't hook into GC at that level.  I'd also
hoped it would solve any $&-style inefficiencies.  But hey, that's not
my job this time around...  :-)

Larry

Reply via email to