summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-02-21 15:23:21 +0000
committerNicholas Clark <nick@ccl4.org>2006-02-21 15:23:21 +0000
commitd112a06dc75a9f656b2f32d92aeeff9c5d5f120b (patch)
treec1fb33d70577e249494f01f245907df27dae1be8 /sv.h
parent1b888f13a7247796f98d05df85e46b935fd0b8ba (diff)
downloadperl-d112a06dc75a9f656b2f32d92aeeff9c5d5f120b.tar.gz
Document the many uses of SVf_FAKE.
p4raw-id: //depot/perl@27258
Diffstat (limited to 'sv.h')
-rw-r--r--sv.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/sv.h b/sv.h
index 09a27d5bc0..515645bb3c 100644
--- a/sv.h
+++ b/sv.h
@@ -220,7 +220,18 @@ perform the upgrade if necessary. See C<svtype>.
#define SVf_POK 0x00040000 /* has valid public pointer value */
#define SVf_ROK 0x00080000 /* has a valid reference pointer */
-#define SVf_FAKE 0x00100000 /* glob or lexical is just a copy */
+#define SVf_FAKE 0x00100000 /* 0: glob or lexical is just a copy
+ 1: SV head arena wasn't malloc()ed
+ 2: in conjunction with SVf_READONLY
+ marks a shared hash key scalar
+ (SvLEN == 0) or a copy on write
+ string (SvLEN != 0) [SvIsCOW(sv)]
+ 3: For PVCV, whether CvUNIQUE(cv)
+ refers to an eval or once only
+ [CvEVAL(cv), CvSPECIAL(cv)]
+ 4: Whether the regexp pointer is in
+ fact an offset [SvREPADTMP(sv)]
+ */
#define SVf_OOK 0x00200000 /* has valid offset value
For a PVHV this means that a
hv_aux struct is present after the