Upgrade to Pod-Simple-3.04
[p5sagit/p5-mst-13.2.git] / op.h
diff --git a/op.h b/op.h
index d973a6f..74bc179 100644 (file)
--- a/op.h
+++ b/op.h
@@ -105,7 +105,8 @@ Deprecated.  Use C<GIMME_V> instead.
                                /*  On pushre, re is /\s+/ imp. by split " " */
                                /*  On regcomp, "use re 'eval'" was in scope */
                                /*  On OP_READLINE, was <$filehandle> */
-                               /*  On RV2[SG]V, don't create GV--in defined()*/
+                               /*  On RV2[ACGHS]V, don't create GV--in
+                                   defined()*/
                                /*  On OP_DBSTATE, indicates breakpoint
                                 *    (runtime property) */
                                /*  On OP_AELEMFAST, indiciates pad var */
@@ -139,6 +140,7 @@ Deprecated.  Use C<GIMME_V> instead.
 
 /* Private for OP_SASSIGN */
 #define OPpASSIGN_BACKWARDS    64      /* Left & right switched. */
+#define OPpASSIGN_CV_TO_GV     128     /* Possible optimisation for constants. */
 
 /* Private for OP_MATCH and OP_SUBST{,CONST} */
 #define OPpRUNTIME             64      /* Pattern coming in on the stack */
@@ -180,6 +182,14 @@ Deprecated.  Use C<GIMME_V> instead.
 #define OPpMAYBE_LVSUB         8       /* We might be an lvalue to return */
   /* for OP_RV2?V, lower bits carry hints (currently only HINT_STRICT_REFS) */
 
+  /* OP_RV2GV only */
+#define OPpDONT_INIT_GV                8       /* Call gv_fetchpv with GV_NOINIT */
+/* (Therefore will return whatever is currently in the symbol table, not
+   guaranteed to be a PVGV)  */
+
+  /* OP_RV2CV only */
+#define OPpMAY_RETURN_CONSTANT 1       /* If a constant sub, return the constant */
+
 /* Private for OPs with TARGLEX */
   /* (lower bits may carry MAXARG) */
 #define OPpTARGET_MY           16      /* Target is PADMY. */