diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-01-04 20:27:42 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-01-04 20:27:42 +0000 |
commit | 8f14ea018e8d1f6c6a67be29ee2ae899993d0f0e (patch) | |
tree | d188c8a7cd3486e00b036ffe2bcf039021003d85 /pp.h | |
parent | d1f3479f8c62266471eafb582091197ae2cf4cad (diff) | |
download | perl-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.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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 |