In struct regexp move the member paren_names to the IV union.
Nicholas Clark [Sat, 5 Jan 2008 18:02:02 +0000 (18:02 +0000)]
p4raw-id: //depot/perl@32854

regexp.h
sv.h

index 4788dfe..ad59cc7 100644 (file)
--- a/regexp.h
+++ b/regexp.h
@@ -102,10 +102,12 @@ typedef struct regexp {
         /* Information about the match that isn't often used */
        unsigned pre_prefix:4;  /* offset from wrapped to the start of precomp */
        unsigned seen_evals:28; /* number of eval groups in the pattern - for security checks */ 
-        HV *paren_names;       /* Optional hash of paren names */
 } regexp;
 
-#define RXp_PAREN_NAMES(rx)    ((rx)->paren_names)
+/*        HV *paren_names;      Optional hash of paren names
+         now stored in the IV union */
+
+#define RXp_PAREN_NAMES(rx)    ((rx)->xiv_u.xivu_hv)
 
 /* used for high speed searches */
 typedef struct re_scream_pos_data_s
diff --git a/sv.h b/sv.h
index e13b5ba..ea5e0ae 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -421,6 +421,7 @@ union _xivu {
     void *  xivu_p1;
     I32            xivu_i32;
     HEK *   xivu_namehek;      /* xpvlv, xpvgv: GvNAME */
+    HV *    xivu_hv;           /* regexp: paren_names */
 };
 
 union _xmgu {