summaryrefslogtreecommitdiff
path: root/cv.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2012-06-23 09:43:10 -0700
committerFather Chrysostomos <sprout@cpan.org>2012-06-29 00:20:55 -0700
commit58aef2b37ed9a7afbd27c2ee12895eeabf126984 (patch)
tree15c11db4cf37b35400ffa212cb714a194b0d91b4 /cv.h
parent79c9643d871bd6cb08b3dd32a05ba534f13b890a (diff)
downloadperl-58aef2b37ed9a7afbd27c2ee12895eeabf126984.tar.gz
Add CVf_SLABBED flag
This will indicate that a CV has a reference count on, and ownership of, a slab used for allocating ops.
Diffstat (limited to 'cv.h')
-rw-r--r--cv.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/cv.h b/cv.h
index 072ff1e086..e2644e1de1 100644
--- a/cv.h
+++ b/cv.h
@@ -105,6 +105,9 @@ See L<perlguts/Autoloading with XSUBs>.
#define CVf_NODEBUG 0x0200 /* no DB::sub indirection for this CV
(esp. useful for special XSUBs) */
#define CVf_CVGV_RC 0x0400 /* CvGV is reference counted */
+#ifdef PERL_CORE
+# define CVf_SLABBED 0x0800 /* Holds refcount on op slab */
+#endif
#define CVf_DYNFILE 0x1000 /* The filename isn't static */
#define CVf_AUTOLOAD 0x2000 /* SvPVX contains AUTOLOADed sub name */
#define CVf_HASEVAL 0x4000 /* contains string eval */
@@ -167,6 +170,12 @@ See L<perlguts/Autoloading with XSUBs>.
#define CvCVGV_RC_on(cv) (CvFLAGS(cv) |= CVf_CVGV_RC)
#define CvCVGV_RC_off(cv) (CvFLAGS(cv) &= ~CVf_CVGV_RC)
+#ifdef PERL_CORE
+# define CvSLABBED(cv) (CvFLAGS(cv) & CVf_SLABBED)
+# define CvSLABBED_on(cv) (CvFLAGS(cv) |= CVf_SLABBED)
+# define CvSLABBED_off(cv) (CvFLAGS(cv) &= ~CVf_SLABBED)
+#endif
+
#define CvDYNFILE(cv) (CvFLAGS(cv) & CVf_DYNFILE)
#define CvDYNFILE_on(cv) (CvFLAGS(cv) |= CVf_DYNFILE)
#define CvDYNFILE_off(cv) (CvFLAGS(cv) &= ~CVf_DYNFILE)