1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-24 07:41:54 -07:00

Using nodeinit and nodefinish in cbs.c.

Copied from Perforce
 Change: 190681
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Richard Brooksby 2016-04-04 21:10:10 +01:00
parent 38e3eb5747
commit bd6fd147d8
3 changed files with 12 additions and 3 deletions

View file

@ -274,7 +274,7 @@ static void cbsBlockDestroy(CBS cbs, Node block)
AVER(cbs->size >= size);
cbs->size -= size;
RangeFinish(NodeRange(block));
NodeFinish(block);
PoolFree(cbsBlockPool(cbs), (Addr)block, cbs->blockStructSize);
}
@ -346,8 +346,7 @@ static Res cbsBlockAlloc(Node *blockReturn, CBS cbs, Range range)
goto failPoolAlloc;
block = (Node)p;
TreeInit(NodeTree(block));
RangeCopy(NodeRange(block), range);
NodeInitFromRange(block, range);
SplayNodeInit(cbsSplay(cbs), NodeTree(block));

View file

@ -19,6 +19,15 @@ void NodeInit(Node node, Addr base, Addr limit)
}
void NodeInitFromRange(Node node, Range range)
{
AVER(node != NULL);
TreeInit(NodeTree(node));
RangeCopy(NodeRange(node), range);
AVERT(Node, node);
}
Bool NodeCheck(Node node)
{
CHECKL(node != NULL);

View file

@ -22,6 +22,7 @@
#define NodeSize(block) RangeSize(NodeRange(block))
extern void NodeInit(Node node, Addr base, Addr limit);
extern void NodeInitFromRange(Node node, Range range);
extern Bool NodeCheck(Node node);
extern void NodeFinish(Node node);