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