Author: bernhard Date: Fri Aug 24 08:58:17 2007 New Revision: 20827 Modified: trunk/docs/pdds/draft/pdd08_keys.pod
Changes in other areas also in this revision: Modified: trunk/CREDITS Log: 44893: [PATCH] struct update in pdd08 (keys) Bring description of key flags in line with implementation. Courtesy of Christoph Otto Modified: trunk/docs/pdds/draft/pdd08_keys.pod ============================================================================== --- trunk/docs/pdds/draft/pdd08_keys.pod (original) +++ trunk/docs/pdds/draft/pdd08_keys.pod Fri Aug 24 08:58:17 2007 @@ -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