mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-17 11:20:39 -08:00
Added a pool argument to cbs creation so that cbss can share a pool. in particular, per-zone allocation cbss for the arena can share a single special block pool.
Copied from Perforce Change: 184469 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
2151d00c7f
commit
f0b07f7bbe
7 changed files with 74 additions and 29 deletions
|
|
@ -16,12 +16,26 @@
|
|||
#include "splay.h"
|
||||
|
||||
|
||||
typedef struct CBSBlockStruct *CBSBlock;
|
||||
typedef struct CBSBlockStruct {
|
||||
SplayNodeStruct splayNode;
|
||||
Addr base;
|
||||
Addr limit;
|
||||
Size maxSize; /* accurate maximum block size of sub-tree */
|
||||
ZoneSet zones; /* union zone set of all ranges in sub-tree */
|
||||
} CBSBlockStruct;
|
||||
|
||||
|
||||
typedef struct CBSStruct *CBS;
|
||||
typedef Bool (*CBSIterateMethod)(CBS cbs, Range range,
|
||||
void *closureP, Size closureS);
|
||||
|
||||
extern Bool CBSCheck(CBS cbs);
|
||||
|
||||
extern const struct mps_key_s _mps_key_cbs_block_pool;
|
||||
#define CBSBlockPool (&_mps_key_cbs_block_pool)
|
||||
#define CBSBlockPool_FIELD pool
|
||||
|
||||
extern Res CBSInit(Arena arena, CBS cbs, void *owner,
|
||||
Align alignment, Bool fastFind, ArgList args);
|
||||
extern void CBSFinish(CBS cbs);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue