# New Ticket Created by Christoph Otto
# Please include the string: [perl #44893]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=44893 >
This is just copy/paste from key.h to get this pdd back in sync.
Christoph
--- docs/pdds/draft/pdd08_keys.pod 2007-08-23 10:15:33.000000000 -0700
+++ docs/pdds/draft/pdd08_keys.pod-fixed 2007-08-23 10:15:24.000000000 -0700
@@ -53,22 +53,29 @@
produces three PMCs, one with a PMC type, one with an integer type and one with
a string type.
-As stated, the key type is encoded in the PMC flags using 5 bits based on the
+As stated, the key type is encoded in the PMC flags using 8 bits based on the
following scheme:
typedef enum {
- KEY_integer_FLAG = PMC_private0_FLAG,
- KEY_number_FLAG = PMC_private1_FLAG,
- KEY_string_FLAG = PMC_private2_FLAG,
- KEY_pmc_FLAG = PMC_private3_FLAG,
- KEY_register_FLAG = PMC_private4_FLAG,
-
- KEY_type_FLAGS = KEY_integer_FLAG |
- KEY_number_FLAG |
- KEY_string_FLAG |
- KEY_pmc_FLAG |
- KEY_register_FLAG
- } KEY_flags;
+ KEY_integer_FLAG = PObj_private0_FLAG,
+ KEY_number_FLAG = PObj_private1_FLAG,
+ KEY_hash_iterator_FLAGS = PObj_private0_FLAG | PObj_private1_FLAG,
+ KEY_string_FLAG = PObj_private2_FLAG,
+ KEY_pmc_FLAG = PObj_private3_FLAG,
+ KEY_register_FLAG = PObj_private4_FLAG,
+
+ KEY_start_slice_FLAG = PObj_private5_FLAG,
+ KEY_end_slice_FLAG = PObj_private6_FLAG,
+ KEY_inf_slice_FLAG = PObj_private7_FLAG,
+
+ KEY_type_FLAGS = KEY_integer_FLAG |
+ KEY_number_FLAG |
+ KEY_string_FLAG |
+ KEY_pmc_FLAG |
+ KEY_register_FLAG |
+ KEY_hash_iterator_FLAGS
+ } KEY_flags
+
The C<KEY_register_FLAG> is used to indicate that the C<int_val> component of
the PMC's cache contains the number of a register of the appropriate type that