Skip to content

Commit ab02cca

Browse files
committed
pp_push - do newSVsv_flags directly
1 parent 885b32c commit ab02cca

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

pp.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6421,10 +6421,11 @@ PP(pp_push)
64216421
PL_delaymagic = DM_DELAY;
64226422
for (++MARK; MARK <= PL_stack_sp; MARK++) {
64236423
SV *sv;
6424-
if (*MARK) SvGETMAGIC(*MARK);
6425-
sv = newSV_type(SVt_NULL);
6426-
if (*MARK)
6427-
sv_setsv_nomg(sv, *MARK);
6424+
if (*MARK) {
6425+
sv = newSVsv_flags(*MARK, SV_DO_COW_SVSETSV|SV_GMAGIC);
6426+
} else
6427+
sv = newSV_type(SVt_NULL);
6428+
64286429
av_store(ary, AvFILLp(ary)+1, sv);
64296430
}
64306431
if (PL_delaymagic & DM_ARRAY_ISA)

0 commit comments

Comments
 (0)