summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorAbhijit Menon-Sen <ams@wiw.org>2001-07-20 03:42:24 +0530
committerNick Ing-Simmons <nik@tiuk.ti.com>2001-07-20 06:35:11 +0000
commitdad750121485da0e5d544b0581f7569bb424e5d3 (patch)
tree489a629b7415f023b65255630832ad0fad6abfb0 /op.c
parent89c2f7cbcc960bf1630f8a2a4ce72ebfb5bd6feb (diff)
downloadperl-dad750121485da0e5d544b0581f7569bb424e5d3.tar.gz
defer op_seq allocation
Message-Id: <20010719221224.A13786@lustre.dyn.wiw.org> p4raw-id: //depot/perl@11415
Diffstat (limited to 'op.c')
-rw-r--r--op.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/op.c b/op.c
index 98239d9dd8..33374e9298 100644
--- a/op.c
+++ b/op.c
@@ -6779,7 +6779,15 @@ Perl_peep(pTHX_ register OP *o)
{
PL_curcop = ((COP*)o);
}
- goto nothin;
+ /* XXX: We avoid setting op_seq here to prevent later calls
+ to peep() from mistakenly concluding that optimisation
+ has already occurred. This doesn't fix the real problem,
+ though (See 20010220.007). AMS 20010719 */
+ if (oldop && o->op_next) {
+ oldop->op_next = o->op_next;
+ continue;
+ }
+ break;
case OP_SCALAR:
case OP_LINESEQ:
case OP_SCOPE: