/* On UNOPs, saw bare parens, e.g. eof(). */
/* On OP_ENTERSUB || OP_NULL, saw a "do". */
/* On OP_(ENTER|LEAVE)EVAL, don't clear $@ */
+ /* On OP_ENTERITER, loop var is per-thread */
/* old names; don't use in new code, but don't break them, either */
#define OPf_LIST 1
#define OPpRUNTIME 64 /* Pattern coming in on the stack */
/* Private for OP_TRANS */
+#define OPpTRANS_COUNTONLY 8
#define OPpTRANS_SQUASH 16
#define OPpTRANS_DELETE 32
#define OPpTRANS_COMPLEMENT 64
/* Private for OP_SORT, OP_PRTF, OP_SPRINTF, string cmp'n, and case changers */
#define OPpLOCALE 64 /* Use locale */
-/* Private for OP_SPECIFIC */
-#define OPpPM_NOT_CONST 64 /* Not constant enough for pmruntime */
+/* Private for OP_THREADSV */
+#define OPpDONE_SVREF 64 /* Been through newSVREF once */
struct op {
BASEOP
#define OA_DEFGV 128
/* The next 4 bits encode op class information */
+#define OA_CLASS_MASK (15 << 8)
+
#define OA_BASEOP (0 << 8)
#define OA_UNOP (1 << 8)
#define OA_BINOP (2 << 8)