Integrate the API from:
[ 24526]
Move hv_name, hv_eiter and hv_riter into a new aux structure.
Provide (more efficient) _get and _set macros.
Adjust the core to use them.
[ 25475]
It looks like the only way to reliably make Perl_hv_name_set a pure
macro in 5.8.x is to make it available as hv_name_set.
[Otherwise when and where aTHX_ hv gets expanded to foo, hv causes
warnings or other games when Perl_hv_name_set() is a macro]
[ 25476]
Should have been embed.h, not proto.h, in 25475
p4raw-link: @25476 on //depot/perl:
840296de2f2802a7ba67f4bd1e075f58ec18c0f4
p4raw-link: @25475 on //depot/perl:
51a37f8016223ef5212790d4185d213114f2fd9b
p4raw-link: @24526 on //depot/perl:
bfcb351493b9793586f4b514100d4f902a85f4fd
p4raw-id: //depot/maint-5.8/perl@25479
p4raw-integrated: from //depot/perl@25478 'edit in'
ext/Opcode/Opcode.xs (@25101..) 'merge in'
ext/threads/shared/shared.xs (@24248..)
p4raw-edited: from //depot/perl@24526 'edit in' hv.c hv.h sv.c
(@24525..)
p4raw-integrated: from //depot/perl@24526 'copy in'
ext/Devel/DProf/DProf.xs (@24170..) 'edit in' pp_sys.c
xsutils.c (@24445..) pp_hot.c (@24489..) mg.c perl.c (@24508..)
toke.c universal.c (@24509..) gv.c op.c pp.c (@24523..) dump.c
(@24525..) 'merge in' op.h (@24106..) ext/Data/Dumper/Dumper.xs
(@24271..) ext/PerlIO/via/via.xs (@24476..)
ext/Storable/Storable.xs (@24525..)