skip creating new capture COW SV if possible
authorDavid Mitchell <davem@iabyn.com>
Wed, 19 Jun 2013 11:44:41 +0000 (12:44 +0100)
committerDavid Mitchell <davem@iabyn.com>
Sun, 28 Jul 2013 09:33:36 +0000 (10:33 +0100)
commita76b0e900c94a68cb2f0d142538e1a9bb0d907d6
tree4f72765a53dd041c6581ee6bf347748f35fd4d45
parent749f49502189aaae5b3fd6df7e0cbc59fc950d34
skip creating new capture COW SV if possible

Each time we do a match, we currently (where possible) make a COW copy of
the just-matched string. This involves creating a new SV that shares the
same PVX buffer with the string. In a repeated match like while (/.../g),
that means the each time round we free the old capture SV and create a new
one.

As as optimisation, skip the free/create if the old capture SV is already
a COW clone of the match string.
regexec.c