Change 13082 by jhi@alpha on 2001/11/18 19:13:06

        Debugging would be badly skewed by a malloc per regex dump.

Affected files ...

.... //depot/perl/regexec.c#204 edit

Differences ...

==== //depot/perl/regexec.c#204 (text) ====
Index: perl/regexec.c
--- perl/regexec.c.~1~  Sun Nov 18 12:30:06 2001
+++ perl/regexec.c      Sun Nov 18 12:30:06 2001
@@ -390,7 +390,9 @@
     char *check_at = Nullch;           /* check substr found at this pos */
 #ifdef DEBUGGING
     char *i_strpos = strpos;
-    SV *dsv = sv_2mortal(newSVpvn("", 0));
+    static SV *dsv;
+    if (!dsv)
+        dsv = newSVpvn("", 0);
 #endif
 
     DEBUG_r({
@@ -1465,7 +1467,9 @@
     SV* oreplsv = GvSV(PL_replgv);
     bool do_utf8 = DO_UTF8(sv);
 #ifdef DEBUGGING
-    SV *dsv = sv_2mortal(newSVpvn("", 0));
+    static SV *dsv;
+    if (!dsv)
+        dsv = newSVpvn("", 0);
 #endif
 
     PL_regcc = 0;
@@ -2050,9 +2054,15 @@
 #endif
     register bool do_utf8 = PL_reg_match_utf8;
 #ifdef DEBUGGING
-    SV *dsv0 = sv_2mortal(newSVpvn("", 0));
-    SV *dsv1 = sv_2mortal(newSVpvn("", 0));
-    SV *dsv2 = sv_2mortal(newSVpvn("", 0));
+    static SV *dsv0;
+    static SV *dsv1;
+    static SV *dsv2;
+    if (!dsv0)
+        dsv0 = newSVpvn("", 0);
+    if (!dsv1)
+        dsv1 = newSVpvn("", 0);
+    if (!dsv2)
+        dsv2 = newSVpvn("", 0);
 #endif
 
 #ifdef DEBUGGING
End of Patch.

Reply via email to