summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--op.c2
-rw-r--r--perl.c3
-rw-r--r--sv.h14
3 files changed, 2 insertions, 17 deletions
diff --git a/op.c b/op.c
index 2423bf0824..d8383258f0 100644
--- a/op.c
+++ b/op.c
@@ -627,7 +627,6 @@ clear_pmop:
av_push((AV*) PL_regex_pad[0],
(SV*) SvREFCNT_inc_simple_NN(PL_regex_pad[(cPMOPo)->op_pmoffset]));
SvREADONLY_off(PL_regex_pad[(cPMOPo)->op_pmoffset]);
- SvREPADTMP_on(PL_regex_pad[(cPMOPo)->op_pmoffset]);
PM_SETRE_OFFSET(cPMOPo, (cPMOPo)->op_pmoffset);
}
#else
@@ -3370,7 +3369,6 @@ Perl_newPMOP(pTHX_ I32 type, I32 flags)
if (av_len((AV*) PL_regex_pad[0]) > -1) {
SV * const repointer = av_pop((AV*)PL_regex_pad[0]);
pmop->op_pmoffset = SvIV(repointer);
- SvREPADTMP_off(repointer);
sv_setiv(repointer,0);
} else {
SV * const repointer = newSViv(0);
diff --git a/perl.c b/perl.c
index e57356bcd1..88448de785 100644
--- a/perl.c
+++ b/perl.c
@@ -887,9 +887,6 @@ perl_destruct(pTHXx)
/* So stop it pointing to what is now a dead reference. */
SvROK_off(resv);
}
- else if(SvREPADTMP(resv)) {
- SvREPADTMP_off(resv);
- }
}
}
SvREFCNT_dec(PL_regex_padav);
diff --git a/sv.h b/sv.h
index c80c2aaf84..1d7555f502 100644
--- a/sv.h
+++ b/sv.h
@@ -328,12 +328,10 @@ perform the upgrade if necessary. See C<svtype>.
3: For PVCV, whether CvUNIQUE(cv)
refers to an eval or once only
[CvEVAL(cv), CvSPECIAL(cv)]
- 4: Whether the regexp pointer is in
- fact an offset [SvREPADTMP(sv)]
- 5: On a pad name SV, that slot in the
+ 4: On a pad name SV, that slot in the
frame AV is a REFCNT'ed reference
to a lexical from "outside". */
-#define SVphv_REHASH SVf_FAKE /* 6: On a PVHV, hash values are being
+#define SVphv_REHASH SVf_FAKE /* 5: On a PVHV, hash values are being
recalculated */
#define SVf_OOK 0x02000000 /* has valid offset value. For a PVHV this
means that a hv_aux struct is present
@@ -990,14 +988,6 @@ the scalar's value cannot change unless written to.
#define SvTAIL_off(sv) (SvFLAGS(sv) &= ~SVpbm_TAIL)
-#ifdef USE_ITHREADS
-/* The following uses the FAKE flag to show that a regex pointer is infact
- its own offset in the regexpad for ithreads */
-#define SvREPADTMP(sv) (SvFLAGS(sv) & SVf_FAKE)
-#define SvREPADTMP_on(sv) (SvFLAGS(sv) |= SVf_FAKE)
-#define SvREPADTMP_off(sv) (SvFLAGS(sv) &= ~SVf_FAKE)
-#endif
-
#define SvPAD_TYPED(sv) \
((SvFLAGS(sv) & (SVpad_NAME|SVpad_TYPED)) == (SVpad_NAME|SVpad_TYPED))