#define SAVEt_BOOL 38
#define SAVEt_SET_SVFLAGS 39
#define SAVEt_SAVESWITCHSTACK 40
+#define SAVEt_COP_ARYBASE 41
+#define SAVEt_RE_STATE 42
#ifndef SCOPE_SAVES_SIGNAL_MASK
#define SCOPE_SAVES_SIGNAL_MASK 0
#define SAVEHINTS() \
STMT_START { \
- SSCHECK(3); \
+ SSCHECK(4); \
if (PL_hints & HINT_LOCALIZE_HH) { \
SSPUSHPTR(GvHV(PL_hintgv)); \
- GvHV(PL_hintgv) = newHVhv(GvHV(PL_hintgv)); \
+ GvHV(PL_hintgv) = Perl_hv_copy_hints_hv(aTHX_ GvHV(PL_hintgv)); \
+ } \
+ if (PL_compiling.cop_hints) { \
+ PL_compiling.cop_hints->refcounted_he_refcnt++; \
} \
+ SSPUSHPTR(PL_compiling.cop_hints); \
SSPUSHINT(PL_hints); \
SSPUSHINT(SAVEt_HINTS); \
} STMT_END
PL_curstackinfo->si_stack = (t); \
} STMT_END
+#define SAVECOPARYBASE(c) \
+ STMT_START { \
+ SSCHECK(3); \
+ SSPUSHINT(CopARYBASE_get(c)); \
+ SSPUSHPTR(c); \
+ SSPUSHINT(SAVEt_COP_ARYBASE); \
+ } STMT_END
+
+
#ifdef USE_ITHREADS
# define SAVECOPSTASH(c) SAVEPPTR(CopSTASHPV(c))
# define SAVECOPSTASH_FREE(c) SAVESHAREDPV(CopSTASHPV(c))