summaryrefslogtreecommitdiff
path: root/scope.c
diff options
context:
space:
mode:
Diffstat (limited to 'scope.c')
-rw-r--r--scope.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/scope.c b/scope.c
index 14ad0b3c4e..9f53549650 100644
--- a/scope.c
+++ b/scope.c
@@ -536,6 +536,25 @@ Perl_save_destructor_x(pTHX_ DESTRUCTORFUNC_t f, void* p)
}
void
+Perl_save_hints(pTHX)
+{
+ dVAR;
+ if (PL_compiling.cop_hints_hash) {
+ HINTS_REFCNT_LOCK;
+ PL_compiling.cop_hints_hash->refcounted_he_refcnt++;
+ HINTS_REFCNT_UNLOCK;
+ }
+ SSCHECK(4);
+ if (PL_hints & HINT_LOCALIZE_HH) {
+ SSPUSHPTR(GvHV(PL_hintgv));
+ GvHV(PL_hintgv) = Perl_hv_copy_hints_hv(aTHX_ GvHV(PL_hintgv));
+ }
+ SSPUSHINT(PL_hints);
+ SSPUSHPTR(PL_compiling.cop_hints_hash);
+ SSPUSHINT(SAVEt_HINTS);
+}
+
+void
Perl_save_aelem(pTHX_ AV *av, I32 idx, SV **sptr)
{
dVAR;