From bd6fd147d81f736a7459afe203eab2d41925e6fe Mon Sep 17 00:00:00 2001 From: Richard Brooksby Date: Mon, 4 Apr 2016 21:10:10 +0100 Subject: [PATCH] Using nodeinit and nodefinish in cbs.c. Copied from Perforce Change: 190681 ServerID: perforce.ravenbrook.com --- mps/code/cbs.c | 5 ++--- mps/code/node.c | 9 +++++++++ mps/code/node.h | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mps/code/cbs.c b/mps/code/cbs.c index 2698bb88cf1..fe10b90113b 100644 --- a/mps/code/cbs.c +++ b/mps/code/cbs.c @@ -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)); diff --git a/mps/code/node.c b/mps/code/node.c index 7e1428a4b2c..f88cd6d7385 100644 --- a/mps/code/node.c +++ b/mps/code/node.c @@ -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); diff --git a/mps/code/node.h b/mps/code/node.h index d53136a1ade..d283ece9f7a 100644 --- a/mps/code/node.h +++ b/mps/code/node.h @@ -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);