summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2016-11-14 09:22:09 +0000
committerDavid Mitchell <davem@iabyn.com>2016-11-14 10:46:39 +0000
commitd3d326f25de908230e5230aca83f78017a4a136a (patch)
tree5b71de53348529224cf2ff5200a100aacd1e7de5 /sv.h
parent0b077c88df88ab0d1e7e4c9d8a5a6992563912e1 (diff)
downloadperl-d3d326f25de908230e5230aca83f78017a4a136a.tar.gz
clarify what the SVf_AMAGIC means
Diffstat (limited to 'sv.h')
-rw-r--r--sv.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sv.h b/sv.h
index a9aca37bf2..7808b899a5 100644
--- 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) */