summaryrefslogtreecommitdiff
path: root/cop.h
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2010-09-08 12:11:41 +0100
committerDavid Mitchell <davem@iabyn.com>2010-09-08 14:48:29 +0100
commitd57ce4dfca04719829a488a820a1248efb7e81a7 (patch)
tree2e432808d0098325828494bb490a633a9ecb534d /cop.h
parent6a7d5ce25a1c1b4c6bf66d85390668c816176471 (diff)
downloadperl-d57ce4dfca04719829a488a820a1248efb7e81a7.tar.gz
eliminate next_op from struct block_loop
This field is only used in non-threaded builds, and the comments imply that this is because in non-threaded builds this value may be modified. But nothing in core modifies it.
Diffstat (limited to 'cop.h')
-rw-r--r--cop.h13
1 files changed, 0 insertions, 13 deletions
diff --git a/cop.h b/cop.h
index 8139d4815b..e6b9bcb847 100644
--- a/cop.h
+++ b/cop.h
@@ -447,14 +447,11 @@ struct block_eval {
struct block_loop {
I32 resetsp;
LOOP * my_op; /* My op, that contains redo, next and last ops. */
- /* (except for non_ithreads we need to modify next_op in pp_ctl.c, hence
- why next_op is conditionally defined below.) */
#ifdef USE_ITHREADS
PAD *oldcomppad; /* Also used for the GV, if targoffset is 0 */
/* This is also accesible via cx->blk_loop.my_op->op_targ */
PADOFFSET targoffset;
#else
- OP * next_op;
SV ** itervar;
#endif
union {
@@ -494,18 +491,9 @@ struct block_loop {
#define CxHASARGS(c) (((c)->cx_type & CXp_HASARGS) == CXp_HASARGS)
#define CxLVAL(c) (0 + (c)->blk_u16)
-#ifdef USE_ITHREADS
-# define PUSHLOOP_OP_NEXT /* No need to do anything. */
-# define CX_LOOP_NEXTOP_GET(cx) ((cx)->blk_loop.my_op->op_nextop + 0)
-#else
-# define PUSHLOOP_OP_NEXT cx->blk_loop.next_op = cLOOP->op_nextop
-# define CX_LOOP_NEXTOP_GET(cx) ((cx)->blk_loop.next_op + 0)
-#endif
-
#define PUSHLOOP_PLAIN(cx, s) \
cx->blk_loop.resetsp = s - PL_stack_base; \
cx->blk_loop.my_op = cLOOP; \
- PUSHLOOP_OP_NEXT; \
cx->blk_loop.state_u.ary.ary = NULL; \
cx->blk_loop.state_u.ary.ix = 0; \
CX_ITERDATA_SET(cx, NULL, 0);
@@ -513,7 +501,6 @@ struct block_loop {
#define PUSHLOOP_FOR(cx, dat, s, offset) \
cx->blk_loop.resetsp = s - PL_stack_base; \
cx->blk_loop.my_op = cLOOP; \
- PUSHLOOP_OP_NEXT; \
cx->blk_loop.state_u.ary.ary = NULL; \
cx->blk_loop.state_u.ary.ix = 0; \
CX_ITERDATA_SET(cx, dat, offset);