When changing the op_ppaddr of an op, one must keep its op_type
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Mon, 21 Jan 2008 13:08:11 +0000 (13:08 +0000)
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Mon, 21 Jan 2008 13:08:11 +0000 (13:08 +0000)
in sync. That helps writers of alternate runloops.

p4raw-id: //depot/perl@33026

perl.c

diff --git a/perl.c b/perl.c
index 907f9cf..8b045e0 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -2610,7 +2610,9 @@ Perl_call_sv(pTHX_ SV *sv, I32 flags)
        Zero(&method_op, 1, UNOP);
        method_op.op_next = PL_op;
        method_op.op_ppaddr = PL_ppaddr[OP_METHOD];
+       method_op.op_type = OP_METHOD;
        myop.op_ppaddr = PL_ppaddr[OP_ENTERSUB];
+       myop.op_type = OP_ENTERSUB;
        PL_op = (OP*)&method_op;
     }