From d3d326f25de908230e5230aca83f78017a4a136a Mon Sep 17 00:00:00 2001 From: David Mitchell Date: Mon, 14 Nov 2016 09:22:09 +0000 Subject: [PATCH] clarify what the SVf_AMAGIC means --- sv.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sv.h b/sv.h index a9aca37..7808b89 100644 --- a/sv.h +++ b/sv.h @@ -413,7 +413,12 @@ perform the upgrade if necessary. See C>. #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) */ -- 1.8.3.1