From: Nicholas Clark Date: Tue, 21 Feb 2006 15:23:21 +0000 (+0000) Subject: Document the many uses of SVf_FAKE. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=d112a06dc75a9f656b2f32d92aeeff9c5d5f120b;p=p5sagit%2Fp5-mst-13.2.git Document the many uses of SVf_FAKE. p4raw-id: //depot/perl@27258 --- diff --git a/sv.h b/sv.h index 09a27d5..515645b 100644 --- a/sv.h +++ b/sv.h @@ -220,7 +220,18 @@ perform the upgrade if necessary. See C. #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