Change 27767 by [EMAIL PROTECTED] on 2006/04/11 18:06:30 Within Perl_newSVhek, inline most of newSVpvn_share(), because share_hek_hek() is far more efficient than sharepvn().
Affected files ... ... //depot/perl/sv.c#1232 edit Differences ... ==== //depot/perl/sv.c#1232 (text) ==== Index: perl/sv.c --- perl/sv.c#1231~27766~ 2006-04-11 09:17:13.000000000 -0700 +++ perl/sv.c 2006-04-11 11:06:30.000000000 -0700 @@ -6964,9 +6964,23 @@ return sv; } /* This will be overwhelminly the most common case. */ - return newSVpvn_share(HEK_KEY(hek), - (HEK_UTF8(hek) ? -HEK_LEN(hek) : HEK_LEN(hek)), - HEK_HASH(hek)); + { + /* Inline most of newSVpvn_share(), because share_hek_hek() is far + more efficient than sharepvn(). */ + SV *sv; + + new_SV(sv); + sv_upgrade(sv, SVt_PV); + SvPV_set(sv, (char *)HEK_KEY(share_hek_hek(hek))); + SvCUR_set(sv, HEK_LEN(hek)); + SvLEN_set(sv, 0); + SvREADONLY_on(sv); + SvFAKE_on(sv); + SvPOK_on(sv); + if (HEK_UTF8(hek)) + SvUTF8_on(sv); + return sv; + } } } End of Patch.