X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=op.h;h=95cc1e6beb36bc3403f1b41e95066f7875791e09;hb=62703e7218aceb3f5d30f70a2307dd02e5eb8c63;hp=6c02a1c5f88d301cc07da8f5ca6d6ecc3f0a3592;hpb=eb209983b577c1511edd805e0a43c2e2113ddeaf;p=p5sagit%2Fp5-mst-13.2.git diff --git a/op.h b/op.h index 6c02a1c..95cc1e6 100644 --- a/op.h +++ b/op.h @@ -1,7 +1,7 @@ /* op.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - * 2000, 2001, 2002, 2003, 2004, by Larry Wall and others + * 2000, 2001, 2002, 2003, 2004, 2005 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -180,6 +180,9 @@ Deprecated. Use C instead. /* (lower bits may carry MAXARG) */ #define OPpTARGET_MY 16 /* Target is PADMY. */ +/* Private for OP_ENTERITER and OP_ITER */ +#define OPpITER_REVERSED 4 /* for (reverse ...) */ + /* Private for OP_CONST */ #define OPpCONST_SHORTCIRCUIT 4 /* eg the constant 5 in (5 || foo) */ #define OPpCONST_STRICT 8 /* bearword subject to strict 'subs' */ @@ -264,7 +267,7 @@ struct pmop { BASEOP OP * op_first; OP * op_last; - OP * op_pmreplroot; + OP * op_pmreplroot; /* (type is really union {OP*,GV*,PADOFFSET}) */ OP * op_pmreplstart; PMOP * op_pmnext; /* list of all scanpats */ #ifdef USE_ITHREADS @@ -478,8 +481,13 @@ struct loop { #ifdef USE_ITHREADS # define OP_REFCNT_INIT MUTEX_INIT(&PL_op_mutex) -# define OP_REFCNT_LOCK MUTEX_LOCK(&PL_op_mutex) -# define OP_REFCNT_UNLOCK MUTEX_UNLOCK(&PL_op_mutex) +# ifdef PERL_CORE +# define OP_REFCNT_LOCK MUTEX_LOCK(&PL_op_mutex) +# define OP_REFCNT_UNLOCK MUTEX_UNLOCK(&PL_op_mutex) +# else +# define OP_REFCNT_LOCK op_refcnt_lock() +# define OP_REFCNT_UNLOCK op_refcnt_unlock() +# endif # define OP_REFCNT_TERM MUTEX_DESTROY(&PL_op_mutex) #else # define OP_REFCNT_INIT NOOP