In pp_subst, use a mortal scalar for dstr, instead of SAVEFREESV().
authorNicholas Clark <nick@ccl4.org>
Fri, 17 Jun 2011 13:19:07 +0000 (15:19 +0200)
committerNicholas Clark <nick@ccl4.org>
Fri, 17 Jun 2011 13:19:07 +0000 (15:19 +0200)
commit815dd406a7217429564c39cb160845d317b6da75
treed8a5ce5635f3e27f42dc0656d3555ce229eb84aa
parent901b3fdb9d4a72eb844c8561169882a5ffa0d014
In pp_subst, use a mortal scalar for dstr, instead of SAVEFREESV().

Creation of the mortal can be done with newSVpvn_flags(), saving 1 function
call. Also, the mortal stack uses 1 pointer, whereas the save stack will use 2.
It doesn't matter that dstr is now marked SVs_TEMP, as both code paths already
gut it, stealing its SvPVX(). The SV head will happen to last a bit longer now,
to the next FREETMPS, instead of the the scope pop at the end of pp_subst or
pp_substcont.
pp_hot.c