Given that @optype and @specialsv_name are hard coded tables, it seems
[p5sagit/p5-mst-13.2.git] / op.h
diff --git a/op.h b/op.h
index 2141e2b..f53c7a5 100644 (file)
--- a/op.h
+++ b/op.h
@@ -166,9 +166,6 @@ Deprecated.  Use C<GIMME_V> instead.
 #define OPpASSIGN_BACKWARDS    64      /* Left & right switched. */
 #define OPpASSIGN_CV_TO_GV     128     /* Possible optimisation for constants. */
 
-/* Private for OP_[AS]ASSIGN */
-#define OPpASSIGN_STATE                32      /* Assign to a "state" variable */
-
 /* Private for OP_MATCH and OP_SUBST{,CONST} */
 #define OPpRUNTIME             64      /* Pattern coming in on the stack */
 
@@ -422,6 +419,8 @@ struct pmop {
 #  define PmopSTASHPV(o)       (PmopSTASH(o) ? HvNAME_get(PmopSTASH(o)) : NULL)
    /* op_pmstashstartu.op_pmstash is not refcounted */
 #  define PmopSTASHPV_set(o,pv)        PmopSTASH_set((o), gv_stashpv(pv,GV_ADD))
+/* Note that if this becomes non-empty, then S_forget_pmop in op.c will need
+   changing */
 #  define PmopSTASH_free(o)    
 #endif
 
@@ -590,8 +589,13 @@ struct loop {
 #endif
 
 #define OpREFCNT_set(o,n)              ((o)->op_targ = (n))
-#define OpREFCNT_inc(o)                        ((o) ? (++(o)->op_targ, (o)) : NULL)
-#define OpREFCNT_dec(o)                        (--(o)->op_targ)
+#ifdef PERL_DEBUG_READONLY_OPS
+#  define OpREFCNT_inc(o)              Perl_op_refcnt_inc(aTHX_ o)
+#  define OpREFCNT_dec(o)              Perl_op_refcnt_dec(aTHX_ o)
+#else
+#  define OpREFCNT_inc(o)              ((o) ? (++(o)->op_targ, (o)) : NULL)
+#  define OpREFCNT_dec(o)              (--(o)->op_targ)
+#endif
 
 /* flags used by Perl_load_module() */
 #define PERL_LOADMOD_DENY              0x1
@@ -689,6 +693,7 @@ struct token {
  * E       tr/E/R/, /E/
  * f       folded constant op
  * F       peg op for format
+ * g       op was forced to be a word
  * i       if/unless modifier
  * I       if/elsif/unless statement
  * K       retired kid op