This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate:
authorNicholas Clark <nick@ccl4.org>
Sun, 18 Aug 2002 23:17:01 +0000 (00:17 +0100)
committerNicholas Clark <nick@ccl4.org>
Tue, 2 Dec 2003 20:35:22 +0000 (20:35 +0000)
commita2613b60ae9197cf8f1e907e1cb1c3f08f067e90
tree4dda9d3b4fc8972747d27afb7e87dfc58fac4b17
parentcceb8d9e8457eb0e3b9e4d86484c823f249e44f4
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..)
embed.fnc
embed.h
hv.c
proto.h