Remove code that protected pp_qr against REGEXPs going away during
Nicholas Clark [Fri, 11 Jan 2008 12:47:57 +0000 (12:47 +0000)]
global destruction whilst they were stored via true references in
PL_regex_padav. It won't happen again (unless someone manages to get
a reference to an OP's regexp, which is also a risk in 5.10 and 5.8)

p4raw-id: //depot/perl@32951

pp_hot.c

index e3eebe6..6288db1 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -1200,15 +1200,6 @@ PP(pp_qr)
     SV * const pkg = rx ? CALLREG_PACKAGE(rx) : NULL;
     SV * const rv = sv_newmortal();
 
-    if (!rx) {
-       /* FIXME ORANGE.
-          This can go if/when regexps are stored directly in PL_regex_pad
-          rather than via references. do_clean_objs finds and frees them
-          when they are stored as references.  */
-       XPUSHs(rv);
-       RETURN;
-    }
-
     SvUPGRADE(rv, SVt_IV);
     /* This RV is about to own a reference to the regexp. (In addition to the
        reference already owned by the PMOP.  */