summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2005-06-23 21:30:33 +0000
committerNicholas Clark <nick@ccl4.org>2005-06-23 21:30:33 +0000
commite15faf7d09c73a41f95fbe6a0045ad5b17c899a6 (patch)
tree63afe41128dd7c7aaaf6effdfaa6ab9d91145647 /proto.h
parent8772537cf6d022a54f738ccb84b65a7f21ccf1b2 (diff)
downloadperl-e15faf7d09c73a41f95fbe6a0045ad5b17c899a6.tar.gz
Remove the reference loop between symbol tables and typeglobs.
Typeglobs now have a weak reference onto their symbol table. p4raw-id: //depot/perl@24966
Diffstat (limited to 'proto.h')
-rw-r--r--proto.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/proto.h b/proto.h
index dcd4403a0e..36a0c41742 100644
--- a/proto.h
+++ b/proto.h
@@ -2574,6 +2574,13 @@ STATIC void S_debprof(pTHX_ const OP *o);
STATIC SV* S_save_scalar_at(pTHX_ SV **sptr);
#endif
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+PERL_CALLCONV void Perl_sv_add_backref(pTHX_ SV *tsv, SV *sv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+#endif
+
#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
STATIC IV S_asIV(pTHX_ SV* sv)
__attribute__warn_unused_result__
@@ -2592,13 +2599,10 @@ STATIC void S_not_a_number(pTHX_ SV *sv)
STATIC I32 S_visit(pTHX_ SVFUNC_t f, U32 flags, U32 mask)
__attribute__nonnull__(pTHX_1);
-STATIC void S_sv_add_backref(pTHX_ SV *tsv, SV *sv)
+STATIC void S_sv_del_backref(pTHX_ SV *target, SV *ref)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-STATIC void S_sv_del_backref(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
STATIC SV * S_varname(pTHX_ GV *gv, const char *gvtype, PADOFFSET targ, SV *keyname, I32 aindex, int subscript_type)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);