Integrate:
(The hv.c changes of 17740)
[ 17740]
Clean up copy-on-write macros and debug facilities (new flag 'C').
Handle CoW in hashes:
Subject: Re: why would tr/// be performing hash copies?
Message-id: <
20020818221700.GD294@Bagpuss.unfortu.net>
[ 21747]
merge hv_exists and hv_exists_ent into S_hv_exists_common
[ 21750]
integrate hv_delete and hv_delete_ent into hv_delete_common
[ 21753]
merge hv_fetch and hv_fetch_ent into hv_fetch_common
remove S_hv_fetch_flags
hv.c now 13% smaller than when I started. hv_store TODO
[ 21758]
Merge sv_store_flags and sv_store_ent into sv_store_common
[ 21760]
Shift negative klen/flags games from hv_fetch_common out to hv_fetch
[ 21765]
Tweaks to S_hv_delete_common:
make the magic call hv_fetch_common rather than ent-or-not
grab the hash from a shared hash key scalar if possible
use masked flags rather than flags for the comparison
[ 21766]
Move the negative key -> utf8 flag conversion out to hv_delete
[ 21768]
Shift negative klen/flags games from hv_exists_common out to hv_exists
[ 21769]
Shift negative klen/flags games from hv_store_common out to hv_store
[ 21770]
Farewell hv_exists_common - exists is now a call to fetch
(with the exists magic handling moved into fetch)
[ 21771]
"Space Is a Province of Brazil"
Farewell, hv_store_common. Store is now part of Fetch.
All tests pass. hv.c 15% smaller than when I started all this
[ 21772]
Reorder functions in hv.c so that callers of hv_fetch_common are all
close to it.
[ 21779]
D'oh. Mistake in the DYNAMIC_ENV_FETCH conditional code
reported by Craig Berry
[ 21781]
Tweak the order of initialisation of oentry in hv_fetch_common -
C source now cleaner, but optimised object file still the same size.
[ 21782]
Should fix the infinite loop on a dynamic %ENV fetch
p4raw-link: @21782 on //depot/perl:
0ed299501d408b6e22065c36966752a861574a3d
p4raw-link: @21781 on //depot/perl:
ab4af70554602b5bde7d5593a6100e1d2b9582a0
p4raw-link: @21779 on //depot/perl:
7fd3d16ee33a2f80699a3491d0bedc18c17ccd80
p4raw-link: @21772 on //depot/perl:
34a6f7b4e04e58809bc0044e4616028a0292c39e
p4raw-link: @21771 on //depot/perl:
b2c64049f4c2cbaedee1ae9b13dab8adb5b210b3
p4raw-link: @21770 on //depot/perl:
7f66fda294f2a00c1341451a50c1e8cfb66906fb
p4raw-link: @21769 on //depot/perl:
a8adfdb3e1797035789adf01f3fb1593e93bde6b
p4raw-link: @21768 on //depot/perl:
9b7c1c416b1df37975076158920b5c2b361392c1
p4raw-link: @21766 on //depot/perl:
cd6d36ac47e470799713a2a497ee38c219c3cf23
p4raw-link: @21765 on //depot/perl:
7a9669ca63fdc5d4a2b9ba199f8c932d006a68ee
p4raw-link: @21760 on //depot/perl:
c1fe551028de847f28ddfe87585b2903d87ab037
p4raw-link: @21758 on //depot/perl:
570c4e91603ac3337464d8508243e4c088399778
p4raw-link: @21753 on //depot/perl:
113738bb099c38d994cf82554560490df0f6d525
p4raw-link: @21750 on //depot/perl:
f1317c8d183c687b884dabebf7d01723441851a4
p4raw-link: @21747 on //depot/perl:
715961523dc15717482c3eba9a533ed292b5a722
p4raw-link: @17740 on //depot/perl:
46187eeb6d9336144ec364973ed57177c89816cf
p4raw-id: //depot/maint-5.8/perl@21831
p4raw-edited: from //depot/perl@21830 'edit in' hv.c (@21781..)
p4raw-integrated: from //depot/perl@21769 'edit in' proto.h (@21768..)
p4raw-integrated: from //depot/perl@21750 'edit in' embed.fnc
(@21747..)
p4raw-integrated: from //depot/perl@21747 'edit in' embed.h (@21152..)