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.

Reply via email to