Move the call to hv_clear_placeholders() from hsplit() to hv_common().
authorNicholas Clark <nick@ccl4.org>
Thu, 21 Feb 2013 16:09:29 +0000 (17:09 +0100)
committerNicholas Clark <nick@ccl4.org>
Tue, 26 Feb 2013 15:00:19 +0000 (16:00 +0100)
commit0ca1b5c32d8dd81962d7080ae0a761edace1603e
treee0a2b3e275662d8ffb00ea5df1d231fface39fc6
parent3a015b94b043d8b0450eec2bb532e12c91b4ea52
Move the call to hv_clear_placeholders() from hsplit() to hv_common().

The relevant code calls Perl_hv_clear_placeholders() at split time, if there
are still placeholders left over from a (previously) restricted hash.
There are two callers to S_hsplit(), one from the regular HV code, and one
from the shared string table code. As the shared string table can't contain
placeholders, only the other call site could trigger this condition, so move
the code there. This simplifies S_hsplit(), and will make splitting the
shared string table marginally faster.
hv.c