This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Double the number of possible SV types
[perl5.git] / sv.h
diff --git a/sv.h b/sv.h
index ffeac41..318bb05 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -149,6 +149,9 @@ typedef enum {
        SVt_PVCV,       /* 13 */
        SVt_PVFM,       /* 14 */
        SVt_PVIO,       /* 15 */
+                        /* 16-31: Unused, though one should be reserved for a
+                         * freed sv, if the other 3 bits below the flags ones
+                         * get allocated */
        SVt_LAST        /* keep last in enum. used to size arrays */
 } svtype;
 
@@ -157,10 +160,10 @@ typedef enum {
  * tables are in perl.h.  There are also two affected names tables in dump.c,
  * one in B.xs, and 'bodies_by_type[]' in sv.c.
  *
- * The bits that match 0xf0 are CURRENTLY UNUSED, except that 0xFF means a
- * freed SV.  The bits above that are for flags, like SVf_IOK */
+ * The bits that match 0xe0 are CURRENTLY UNUSED
+ * The bits above that are for flags, like SVf_IOK */
 
-#define SVt_MASK 0x  /* smallest bitmask that covers all types */
+#define SVt_MASK 0x1f  /* smallest bitmask that covers all types */
 
 #ifndef PERL_CORE
 /* Fast Boyer Moore tables are now stored in magic attached to PVMGs */