summaryrefslogtreecommitdiff
path: root/mg.c
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2003-01-24 18:44:19 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-01-26 13:06:49 +0000
commit5df8de69806210bf48dc2e451e3db37c6f274c6e (patch)
tree87e78761ebadc9a6b18bb9f3a10ea6605d6fa473 /mg.c
parentd0fadae5d4cea3f6bdf497d00d0f9244d89f6f89 (diff)
downloadperl-5df8de69806210bf48dc2e451e3db37c6f274c6e.tar.gz
OPf_SPECIAL on OP_DBSTATE now indicates a breakpoint.
Subject: Re: [PATCH] Re: change #9754: 5 x slowdown for perl -d Message-ID: <20030124184419.F11179@fdgroup.com> p4raw-id: //depot/perl@18589
Diffstat (limited to 'mg.c')
-rw-r--r--mg.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/mg.c b/mg.c
index 0e34080817..fae5cda8dd 100644
--- a/mg.c
+++ b/mg.c
@@ -1458,8 +1458,13 @@ Perl_magic_setdbline(pTHX_ SV *sv, MAGIC *mg)
i = SvTRUE(sv);
svp = av_fetch(GvAV(gv),
atoi(MgPV(mg,n_a)), FALSE);
- if (svp && SvIOKp(*svp) && (o = INT2PTR(OP*,SvIVX(*svp))))
- o->op_private = (U8)i;
+ if (svp && SvIOKp(*svp) && (o = INT2PTR(OP*,SvIVX(*svp)))) {
+ /* set or clear breakpoint in the relevant control op */
+ if (i)
+ o->op_flags |= OPf_SPECIAL;
+ else
+ o->op_flags &= ~OPf_SPECIAL;
+ }
return 0;
}