summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embedvar.h1
-rw-r--r--intrpvar.h2
-rw-r--r--regcomp.c7
-rw-r--r--regcomp.h2
-rw-r--r--sv.c1
5 files changed, 6 insertions, 7 deletions
diff --git a/embedvar.h b/embedvar.h
index 523874c7c6..808d497cae 100644
--- a/embedvar.h
+++ b/embedvar.h
@@ -246,7 +246,6 @@
#define PL_reentrant_buffer (vTHX->Ireentrant_buffer)
#define PL_reentrant_retint (vTHX->Ireentrant_retint)
#define PL_reg_curpm (vTHX->Ireg_curpm)
-#define PL_regdummy (vTHX->Iregdummy)
#define PL_regex_pad (vTHX->Iregex_pad)
#define PL_regex_padav (vTHX->Iregex_padav)
#define PL_registered_mros (vTHX->Iregistered_mros)
diff --git a/intrpvar.h b/intrpvar.h
index 27058d70c3..5d9ac11e19 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -227,8 +227,6 @@ PERLVAR(I, secondgv, GV *) /* $b */
PERLVAR(I, efloatbuf, char *)
PERLVAR(I, efloatsize, STRLEN)
-PERLVAR(I, regdummy, regnode) /* from regcomp.c */
-
PERLVARI(I, dumpindent, U16, 4) /* number of blanks per dump
indentation level */
diff --git a/regcomp.c b/regcomp.c
index 9ed451097b..0c0f07318f 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -126,7 +126,9 @@ typedef struct RExC_state_t {
I32 whilem_seen; /* number of WHILEM in this expr */
regnode *emit_start; /* Start of emitted-code area */
regnode *emit_bound; /* First regnode outside of the allocated space */
- regnode *emit; /* Code-emit pointer; &regdummy = don't = compiling */
+ regnode *emit; /* Code-emit pointer; if = &emit_dummy,
+ implies compiling, so don't emit */
+ regnode emit_dummy; /* placeholder for emit to point to */
I32 naughty; /* How bad is this pattern? */
I32 sawback; /* Did we see \1, ...? */
U32 seen;
@@ -187,6 +189,7 @@ typedef struct RExC_state_t {
#define RExC_offsets (pRExC_state->rxi->u.offsets) /* I am not like the others */
#endif
#define RExC_emit (pRExC_state->emit)
+#define RExC_emit_dummy (pRExC_state->emit_dummy)
#define RExC_emit_start (pRExC_state->emit_start)
#define RExC_emit_bound (pRExC_state->emit_bound)
#define RExC_naughty (pRExC_state->naughty)
@@ -5796,7 +5799,7 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
RExC_npar = 1;
RExC_nestroot = 0;
RExC_size = 0L;
- RExC_emit = &PL_regdummy;
+ RExC_emit = &RExC_emit_dummy;
RExC_whilem_seen = 0;
RExC_open_parens = NULL;
RExC_close_parens = NULL;
diff --git a/regcomp.h b/regcomp.h
index 21d2e1e351..bf497e0eaa 100644
--- a/regcomp.h
+++ b/regcomp.h
@@ -288,7 +288,7 @@ struct regnode_charclass_class {
#define REG_MAGIC 0234
-#define SIZE_ONLY (RExC_emit == &PL_regdummy)
+#define SIZE_ONLY (RExC_emit == &RExC_emit_dummy)
/* If the bitmap doesn't fully represent what this ANYOF node can match, the
* ARG is set to this special value (since 0, 1, ... are legal, but will never
diff --git a/sv.c b/sv.c
index 98a6b3646f..8cd2cb2e1c 100644
--- a/sv.c
+++ b/sv.c
@@ -13312,7 +13312,6 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
/* regex stuff */
- PL_regdummy = proto_perl->Iregdummy;
PL_colorset = 0; /* reinits PL_colors[] */
/*PL_colors[6] = {0,0,0,0,0,0};*/