summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorYAMASHINA Hio <hio@ymir.co.jp>2005-08-31 02:17:23 +0900
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-12-12 16:03:00 +0000
commit8ff629d935fd2dba7977969e7922b9cd55cc75d2 (patch)
tree079ff5e7b17ad5078eabdd1ba27c5cea5adeb067 /pp_ctl.c
parent343ef7498d1a8623949697479cbfea3822ffafe9 (diff)
downloadperl-8ff629d935fd2dba7977969e7922b9cd55cc75d2.tar.gz
A suggestion by Yamashina Hio to speed up substitutions
with right-hand side expressions by freeing temporaries. See : Subject: s///ge; consumes PL_tmps_stack in its loop Message-Id: <20050830160113.9716.HIO@ymir.co.jp> p4raw-id: //depot/perl@26334
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index b49a5b5575..401f60f380 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -207,6 +207,7 @@ PP(pp_substcont)
if (!(cx->sb_rxtainted & 2) && SvTAINTED(TOPs))
cx->sb_rxtainted |= 2;
sv_catsv(dstr, POPs);
+ FREETMPS; /* Prevent excess tmp stack */
/* Are we done */
if (cx->sb_once || !CALLREGEXEC(aTHX_ rx, s, cx->sb_strend, orig,