Change 18599 by rgs@rgs-home on 2003/01/28 21:07:08
Fix a very small memory leak in op_free, by reserving the
case op_seq == (U16)-1 for the compiler backend
Subject: Re: Freeing code
From: "Paul Johnson" <[EMAIL PROTECTED]>
Date: Tue, 28 Jan 2003 14:13:09 +0100 (CET)
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/op.c#533 edit
Differences ...
==== //depot/perl/op.c#533 (text) ====
Index: perl/op.c
--- perl/op.c#532~18456~ Tue Jan 7 01:20:22 2003
+++ perl/op.c Tue Jan 28 13:07:08 2003
@@ -6063,8 +6063,10 @@
for (; o; o = o->op_next) {
if (o->op_seq)
break;
- if (!PL_op_seqmax)
- PL_op_seqmax++;
+ /* The special value -1 is used by the B::C compiler backend to indicate
+ * that an op is statically defined and should not be freed */
+ if (!PL_op_seqmax || PL_op_seqmax == (U16)-1)
+ PL_op_seqmax = 1;
PL_op = o;
switch (o->op_type) {
case OP_SETSTATE:
End of Patch.