# 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