77cccac8cd
This is part of a broader change to make header files better represent the dependencies between one another (see https://github.com/jemalloc/jemalloc/issues/533). It breaks up component headers into smaller parts that can be made to have a simpler dependency graph. For the autogenerated headers (smoothstep.h and size_classes.h), no splitting was necessary, so I didn't add support to emit multiple headers.
29 lines
759 B
C
29 lines
759 B
C
#ifndef JEMALLOC_INTERNAL_BITMAP_STRUCTS_H
|
|
#define JEMALLOC_INTERNAL_BITMAP_STRUCTS_H
|
|
|
|
struct bitmap_level_s {
|
|
/* Offset of this level's groups within the array of groups. */
|
|
size_t group_offset;
|
|
};
|
|
|
|
struct bitmap_info_s {
|
|
/* Logical number of bits in bitmap (stored at bottom level). */
|
|
size_t nbits;
|
|
|
|
#ifdef BITMAP_USE_TREE
|
|
/* Number of levels necessary for nbits. */
|
|
unsigned nlevels;
|
|
|
|
/*
|
|
* Only the first (nlevels+1) elements are used, and levels are ordered
|
|
* bottom to top (e.g. the bottom level is stored in levels[0]).
|
|
*/
|
|
bitmap_level_t levels[BITMAP_MAX_LEVELS+1];
|
|
#else /* BITMAP_USE_TREE */
|
|
/* Number of groups necessary for nbits. */
|
|
size_t ngroups;
|
|
#endif /* BITMAP_USE_TREE */
|
|
};
|
|
|
|
#endif /* JEMALLOC_INTERNAL_BITMAP_STRUCTS_H */
|