File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -6623,8 +6623,11 @@ Perl_sv_clear(pTHX_ SV *const orig_sv)
6623
6623
6624
6624
assert(SvREFCNT(sv) == 0);
6625
6625
assert(SvTYPE(sv) != (svtype)SVTYPEMASK);
6626
-
6626
+ #if NVSIZE <= IVSIZE
6627
+ if (type <= SVt_NV) {
6628
+ #else
6627
6629
if (type <= SVt_IV) {
6630
+ #endif
6628
6631
/* Historically this check on type was needed so that the code to
6629
6632
* free bodies wasn't reached for these types, because the arena
6630
6633
* slots were re-used for HEs and pointer table entries. The
@@ -6646,6 +6649,9 @@ Perl_sv_clear(pTHX_ SV *const orig_sv)
6646
6649
* path, as SvPVX() doesn't point to valid memory.
6647
6650
*
6648
6651
* Hence this code is still the most efficient way to handle this.
6652
+ *
6653
+ * Additionally, for bodyless NVs, riding this branch is more
6654
+ * efficient than stepping through the general logic.
6649
6655
*/
6650
6656
6651
6657
if (SvROK(sv))
You can’t perform that action at this time.
0 commit comments