Commit 612554498c for perl
commit 612554498c1b7e0cdec2dfff63fffb16a7ec905b
Author: Tony Cook <tony@develop-help.com>
Date: Thu Aug 6 14:17:01 2026 +1000
reftype/refaddr: use sv_set_undef() instead of sv_setsv(..., &PL_sv_undef)
sv_set_undef() does a lot less work.
diff --git a/builtin.c b/builtin.c
index 2a5338d2bf..599f0aed2c 100644
--- a/builtin.c
+++ b/builtin.c
@@ -523,8 +523,10 @@ PP(pp_refaddr)
if(SvROK(arg))
sv_setuv_mg(TARG, PTR2UV(SvRV(arg)));
- else
- sv_setsv_mg(TARG, &PL_sv_undef);
+ else {
+ sv_set_undef(TARG);
+ SvSETMAGIC(TARG);
+ }
rpp_replace_1_1_NN(TARG);
return NORMAL;
@@ -539,8 +541,10 @@ PP(pp_reftype)
if(SvROK(arg))
sv_setpv_mg(TARG, sv_reftype(SvRV(arg), FALSE));
- else
- sv_setsv_mg(TARG, &PL_sv_undef);
+ else {
+ sv_set_undef(TARG);
+ SvSETMAGIC(TARG);
+ }
rpp_replace_1_1_NN(TARG);
return NORMAL;