Change 33155 by [EMAIL PROTECTED] on 2008/01/31 21:06:11
Integrate:
[ 32949]
Introduce macro PERL_MAX_SUB_DEPTH
[ 32955]
Rename PERL_MAX_SUB_DEPTH to PERL_SUB_DEPTH_WARN, per Tim Bunce's
suggestion
Affected files ...
... //depot/maint-5.10/perl/perl.h#6 integrate
... //depot/maint-5.10/perl/pp_ctl.c#6 integrate
... //depot/maint-5.10/perl/pp_hot.c#9 integrate
Differences ...
==== //depot/maint-5.10/perl/perl.h#6 (text) ====
Index: perl/perl.h
--- perl/perl.h#5~33135~ 2008-01-30 11:50:56.000000000 -0800
+++ perl/perl.h 2008-01-31 13:06:11.000000000 -0800
@@ -923,6 +923,11 @@
#define PERL_ARENA_SIZE 4080
#endif
+/* Maximum level of recursion */
+#ifndef PERL_SUB_DEPTH_WARN
+#define PERL_SUB_DEPTH_WARN 100
+#endif
+
#endif /* PERL_CORE */
/* We no longer default to creating a new SV for GvSV.
==== //depot/maint-5.10/perl/pp_ctl.c#6 (text) ====
Index: perl/pp_ctl.c
--- perl/pp_ctl.c#5~33139~ 2008-01-30 15:19:42.000000000 -0800
+++ perl/pp_ctl.c 2008-01-31 13:06:11.000000000 -0800
@@ -2426,7 +2426,7 @@
if (CvDEPTH(cv) < 2)
SvREFCNT_inc_simple_void_NN(cv);
else {
- if (CvDEPTH(cv) == 100 && ckWARN(WARN_RECURSION))
+ if (CvDEPTH(cv) == PERL_SUB_DEPTH_WARN &&
ckWARN(WARN_RECURSION))
sub_crush_depth(cv);
pad_push(padlist, CvDEPTH(cv));
}
==== //depot/maint-5.10/perl/pp_hot.c#9 (text) ====
Index: perl/pp_hot.c
--- perl/pp_hot.c#8~33149~ 2008-01-31 03:43:05.000000000 -0800
+++ perl/pp_hot.c 2008-01-31 13:06:11.000000000 -0800
@@ -2809,7 +2809,7 @@
* stuff so that __WARN__ handlers can safely dounwind()
* if they want to
*/
- if (CvDEPTH(cv) == 100 && ckWARN(WARN_RECURSION)
+ if (CvDEPTH(cv) == PERL_SUB_DEPTH_WARN && ckWARN(WARN_RECURSION)
&& !(PERLDB_SUB && cv == GvCV(PL_DBsub)))
sub_crush_depth(cv);
#if 0
End of Patch.