diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-10-07 22:57:52 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-10-07 22:57:52 +0000 |
commit | 38a230cb455fb1aca316039ba1d4aed58c0c60d5 (patch) | |
tree | 867dcdec0469ba7ff2832d2d367f0d22bda7c1c7 /cop.h | |
parent | 2e20e14f06deb037c08540fe454d89e37322092d (diff) | |
download | perl-38a230cb455fb1aca316039ba1d4aed58c0c60d5.tar.gz |
change#3728 was flawed (loop contexts saw the wrong statement
info, causing loop control constructs to not find the label);
disable OP_SETSTATE entirely and add a fix that is specifically
targetted at disabling the OP_LINESEQ optimization in else BLOCK,
which was what the original patch was supposed to fix
TODO: remove the remainder of the setstate logic if it can't
be used anywhere else (it isn't used anywhere now)
p4raw-link: @3728 on //depot/perl: 7399586d384137f7ae66bcc82a83b0df7dd429e5
p4raw-id: //depot/perl@4309
Diffstat (limited to 'cop.h')
-rw-r--r-- | cop.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -129,8 +129,8 @@ struct block_loop { }; #define PUSHLOOP(cx, ivar, s) \ - cx->blk_loop.label = PL_curcop->cop_label; \ - cx->blk_loop.resetsp = s - PL_stack_base; \ + cx->blk_loop.label = PL_curcop->cop_label; \ + cx->blk_loop.resetsp = s - PL_stack_base; \ cx->blk_loop.redo_op = cLOOP->op_redoop; \ cx->blk_loop.next_op = cLOOP->op_nextop; \ cx->blk_loop.last_op = cLOOP->op_lastop; \ |