88 *
99 */
1010
11- /* These control hash traversal randomization and the environment variable PERL_PERTURB_KEYS.
11+ /* These control hash traversal randomization and
12+ the environment variable PERL_PERTURB_KEYS.
1213 * Currently disabling this functionality will break a few tests, but should otherwise work fine.
1314 * See perlrun for more details. */
1415
@@ -79,7 +80,8 @@ struct mro_alg {
7980 AV * (* resolve )(pTHX_ HV * stash , U32 level );
8081 const char * name ;
8182 U16 length ;
82- U16 kflags ; /* For the hash API - set HVhek_UTF8 if name is UTF-8 */
83+ U16 kflags ; /* For the hash API - set HVhek_UTF8
84+ if name is UTF-8 */
8385 U32 hash ; /* or 0 */
8486};
8587
@@ -91,13 +93,19 @@ struct mro_meta {
9193 value stored in and owned by mro_linear_all. */
9294 SV * mro_linear_current ;
9395 HV * mro_nextmethod ; /* next::method caching */
94- U32 cache_gen ; /* Bumping this invalidates our method cache */
95- U32 pkg_gen ; /* Bumps when local methods/@ISA change */
96- const struct mro_alg * mro_which ; /* which mro alg is in use? */
97- HV * isa ; /* Everything this class @ISA */
96+ U32 cache_gen ; /* Bumping this invalidates
97+ our method cache */
98+ U32 pkg_gen ; /* Bumps when local
99+ methods/@ISA change */
100+ const struct mro_alg * mro_which ; /* which mro alg is
101+ in use? */
102+ HV * isa ; /* Everything this
103+ class @ISA */
98104 HV * super ; /* SUPER method cache */
99- CV * destroy ; /* DESTROY method if destroy_gen non-zero */
100- U32 destroy_gen ; /* Generation number of DESTROY cache */
105+ CV * destroy ; /* DESTROY method if
106+ destroy_gen non-zero */
107+ U32 destroy_gen ; /* Generation number of
108+ DESTROY cache */
101109};
102110
103111#define MRO_GET_PRIVATE_DATA (smeta , which ) \
@@ -116,7 +124,8 @@ union _xhvnameu {
116124
117125struct xpvhv_aux {
118126 union _xhvnameu xhv_name_u ; /* name, if a symbol table */
119- AV * xhv_backreferences ; /* back references for weak references */
127+ AV * xhv_backreferences ; /* back references for
128+ weak references */
120129 HE * xhv_eiter ; /* current entry of iterator */
121130 I32 xhv_riter ; /* current root of iterator */
122131
@@ -129,15 +138,19 @@ struct xpvhv_aux {
129138 I32 xhv_name_count ;
130139 struct mro_meta * xhv_mro_meta ;
131140#ifdef PERL_HASH_RANDOMIZE_KEYS
132- U32 xhv_rand ; /* random value for hash traversal */
133- U32 xhv_last_rand ; /* last random value for hash traversal,
141+ U32 xhv_rand ; /* random value for hash
142+ traversal */
143+ U32 xhv_last_rand ; /* last random value for
144+ hash traversal,
134145 used to detect each() after insert for warnings */
135146#endif
136147 U32 xhv_aux_flags ; /* assorted extra flags */
137148};
138149
139- #define HvAUXf_SCAN_STASH 0x1 /* stash is being scanned by gv_check */
140- #define HvAUXf_NO_DEREF 0x2 /* @{}, %{} etc (and nomethod) not present */
150+ #define HvAUXf_SCAN_STASH 0x1 /* stash is being scanned
151+ by gv_check */
152+ #define HvAUXf_NO_DEREF 0x2 /* @{}, %{} etc (and nomethod)
153+ not present */
141154
142155/* hash structure: */
143156/* This structure must match the beginning of struct xpvmg in sv.h. */
@@ -449,7 +462,8 @@ whether it is valid to call C<HvAUX()>.
449462#define HEK_FLAGS (hek ) (*((unsigned char *)(HEK_KEY(hek))+HEK_LEN(hek)+1))
450463
451464#define HVhek_UTF8 0x01 /* Key is utf8 encoded. */
452- #define HVhek_WASUTF8 0x02 /* Key is bytes here, but was supplied as utf8. */
465+ #define HVhek_WASUTF8 0x02 /* Key is bytes here, but was
466+ supplied as utf8. */
453467#define HVhek_NOTSHARED 0x04 /* This key isn't a shared hash key. */
454468/* the following flags are options for functions, they are not stored in heks */
455469#define HVhek_FREEKEY 0x100 /* Internal flag to say key is Newx()ed. */
@@ -634,7 +648,8 @@ instead of a string/length pair, and no precomputed hash.
634648
635649/* Flag bits are HVhek_UTF8, HVhek_WASUTF8, then */
636650#define HVrhek_undef 0x00 /* Value is undef. */
637- #define HVrhek_delete 0x10 /* Value is placeholder - signifies delete. */
651+ #define HVrhek_delete 0x10 /* Value is placeholder -
652+ signifies delete. */
638653#define HVrhek_IV 0x20 /* Value is IV. */
639654#define HVrhek_UV 0x30 /* Value is UV. */
640655#define HVrhek_PV 0x40 /* Value is a (byte) string. */
0 commit comments