This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
clarify what the SVf_AMAGIC means
authorDavid Mitchell <davem@iabyn.com>
Mon, 14 Nov 2016 09:22:09 +0000 (09:22 +0000)
committerDavid Mitchell <davem@iabyn.com>
Mon, 14 Nov 2016 10:46:39 +0000 (10:46 +0000)
sv.h

diff --git a/sv.h b/sv.h
index a9aca37..7808b89 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -413,7 +413,12 @@ perform the upgrade if necessary.  See C<L</svtype>>.
 
 #define PRIVSHIFT 4    /* (SVp_?OK >> PRIVSHIFT) == SVf_?OK */
 
-/* Note that SVf_AMAGIC is now only set on stashes.  */
+/* SVf_AMAGIC means that the stash *may* have have overload methods. It's
+ * set each time a function is compiled into a stash, and is reset by the
+ * overload code when called for the first time and finds that there are
+ * no overload methods. Note that this used to be set on the object; but
+ * is now only set on stashes.
+ */
 #define SVf_AMAGIC     0x10000000  /* has magical overloaded methods */
 #define SVf_IsCOW      0x10000000  /* copy on write (shared hash key if
                                       SvLEN == 0) */