summaryrefslogtreecommitdiff
path: root/pp.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2008-01-04 20:27:42 +0000
committerNicholas Clark <nick@ccl4.org>2008-01-04 20:27:42 +0000
commit8f14ea018e8d1f6c6a67be29ee2ae899993d0f0e (patch)
treed188c8a7cd3486e00b036ffe2bcf039021003d85 /pp.h
parentd1f3479f8c62266471eafb582091197ae2cf4cad (diff)
downloadperl-8f14ea018e8d1f6c6a67be29ee2ae899993d0f0e.tar.gz
Re-implement mPUSHp() and mXPUSHp() using Perl_newSVpvn_flags(), which
results in slightly smaller object code. (No extra work is done.) p4raw-id: //depot/perl@32834
Diffstat (limited to 'pp.h')
-rw-r--r--pp.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/pp.h b/pp.h
index 47a48d57f1..7b5f322f1c 100644
--- a/pp.h
+++ b/pp.h
@@ -305,14 +305,14 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
#define mPUSHs(s) PUSHs(sv_2mortal(s))
#define PUSHmortal PUSHs(sv_newmortal())
-#define mPUSHp(p,l) sv_setpvn(PUSHmortal, (p), (l))
+#define mPUSHp(p,l) PUSHs(newSVpvn_flags((p), (l), SVs_TEMP))
#define mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n))
#define mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i))
#define mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u))
#define mXPUSHs(s) XPUSHs(sv_2mortal(s))
#define XPUSHmortal XPUSHs(sv_newmortal())
-#define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn(PUSHmortal, (p), (l)); } STMT_END
+#define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
#define mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END
#define mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END
#define mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END