diff options
author | Yves Orton <demerphq@gmail.com> | 2007-04-04 03:46:26 +0200 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2007-04-04 08:32:37 +0000 |
commit | c737faaf63999e5a68ef536d362cea408ab990b7 (patch) | |
tree | 9bba722e0cb47bd933e45e1f909a7f265301deb0 /dump.c | |
parent | 92a665d639a42192198e801676cccae0bd9afa83 (diff) | |
download | perl-c737faaf63999e5a68ef536d362cea408ab990b7.tar.gz |
Re: pmdynflags and thread safety
Message-ID: <9b18b3110704031646p7ac8dbearf9e41397a5f884d8@mail.gmail.com>
p4raw-id: //depot/perl@30841
Diffstat (limited to 'dump.c')
-rw-r--r-- | dump.c | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -558,20 +558,26 @@ S_pm_description(pTHX_ const PMOP *pm) const REGEXP * regex = PM_GETRE(pm); const U32 pmflags = pm->op_pmflags; - if (pm->op_pmdynflags & PMdf_USED) - sv_catpv(desc, ",USED"); - if (pm->op_pmdynflags & PMdf_TAINTED) - sv_catpv(desc, ",TAINTED"); - if (pmflags & PMf_ONCE) sv_catpv(desc, ",ONCE"); +#ifdef USE_ITHREADS + if (SvREADONLY(PL_regex_pad[pm->op_pmoffset])) + sv_catpv(desc, ":USED"); +#else + if (pmflags & PMf_USED) + sv_catpv(desc, ":USED"); +#endif + if (regex->extflags & RXf_TAINTED) + sv_catpv(desc, ",TAINTED"); + + if (regex && regex->check_substr) { if (!(regex->extflags & RXf_NOSCAN)) sv_catpv(desc, ",SCANFIRST"); if (regex->extflags & RXf_CHECK_ALL) sv_catpv(desc, ",ALL"); } - if (pmflags & PMf_SKIPWHITE) + if (regex->extflags & RXf_SKIPWHITE) sv_catpv(desc, ",SKIPWHITE"); if (pmflags & PMf_CONST) sv_catpv(desc, ",CONST"); |