diff options
author | Richard Leach <richardleach@users.noreply.github.com> | 2022-07-14 16:20:28 +0000 |
---|---|---|
committer | Paul Evans <leonerd@leonerd.org.uk> | 2022-07-20 14:08:25 +0100 |
commit | f98a2322bc85e4c02c26642730743969df0937bb (patch) | |
tree | ad28519b99587fd7a6190849b5688fa61a5de9e4 | |
parent | 80c024ac46cfd7ea9195a681104a2c19cc18dcbf (diff) | |
download | perl-f98a2322bc85e4c02c26642730743969df0937bb.tar.gz |
newAVhv - av_push_simple for faster ret array assignments
-rw-r--r-- | av.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -523,7 +523,7 @@ Perl_newAVhv(pTHX_ HV *ohv) bool tied = SvRMAGICAL(ohv) && mg_find(MUTABLE_SV(ohv), PERL_MAGIC_tied); - U32 nkeys = hv_iterinit(ohv); + Size_t nkeys = hv_iterinit(ohv); /* This number isn't perfect but it doesn't matter; it only has to be * close to make the initial allocation about the right size */ @@ -538,12 +538,12 @@ Perl_newAVhv(pTHX_ HV *ohv) HE *he; while((he = hv_iternext(ohv))) { if(tied) { - av_push(ret, newSVsv(hv_iterkeysv(he))); - av_push(ret, newSVsv(hv_iterval(ohv, he))); + av_push_simple(ret, newSVsv(hv_iterkeysv(he))); + av_push_simple(ret, newSVsv(hv_iterval(ohv, he))); } else { - av_push(ret, newSVhek(HeKEY_hek(he))); - av_push(ret, HeVAL(he) ? newSVsv(HeVAL(he)) : &PL_sv_undef); + av_push_simple(ret, newSVhek(HeKEY_hek(he))); + av_push_simple(ret, HeVAL(he) ? newSVsv(HeVAL(he)) : &PL_sv_undef); } } |