From 0cb5069ea8b6abcab6281ca29bf075f86de24dbf Mon Sep 17 00:00:00 2001 From: Richard Brooksby Date: Tue, 11 Mar 2014 14:37:10 +0000 Subject: [PATCH] Responding to code review . Using TREE_ELT where appropriate. Using AVERT consistently on Tree, but see job003691. Copied from Perforce Change: 184724 ServerID: perforce.ravenbrook.com --- mps/code/cbs.c | 4 ++-- mps/code/dbgpool.c | 2 +- mps/code/tree.c | 18 +++++++++--------- mps/code/tree.h | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/mps/code/cbs.c b/mps/code/cbs.c index 8d200cc09fb..dfe98369eb0 100644 --- a/mps/code/cbs.c +++ b/mps/code/cbs.c @@ -34,8 +34,8 @@ typedef struct CBSBlockStruct { #define CBSBlockSize(block) AddrOffset((block)->base, (block)->limit) -#define cbsOfTree(_tree) PARENT(CBSStruct, tree, (_tree)) -#define cbsBlockOfNode(_node) PARENT(CBSBlockStruct, node, (_node)) +#define cbsOfTree(_tree) TREE_ELT(CBS, tree, _tree) +#define cbsBlockOfNode(_node) PARENT(CBSBlockStruct, node, _node) #define treeOfCBS(cbs) (&((cbs)->tree)) #define nodeOfCBSBlock(block) (&((block)->node)) #define keyOfCBSBlock(block) (&((block)->base)) diff --git a/mps/code/dbgpool.c b/mps/code/dbgpool.c index 9d7c6509f12..be109970b5f 100644 --- a/mps/code/dbgpool.c +++ b/mps/code/dbgpool.c @@ -27,7 +27,7 @@ typedef struct tagStruct { } tagStruct; #define TagTree(tag) (&(tag)->treeStruct) -#define TagOfTree(tree) PARENT(tagStruct, treeStruct, tree) +#define TagOfTree(tree) TREE_ELT(tag, treeStruct, tree) typedef tagStruct *Tag; diff --git a/mps/code/tree.c b/mps/code/tree.c index 7db5bc8f9ee..b9f6454b21c 100644 --- a/mps/code/tree.c +++ b/mps/code/tree.c @@ -78,7 +78,7 @@ Compare TreeFind(Tree *treeReturn, Tree root, TreeKey key, TreeCompare compare) Tree node, parent; Compare cmp = CompareEQUAL; - AVER(TreeCheck(root)); + AVERT(Tree, root); AVER(treeReturn != NULL); AVER(FUNCHECK(compare)); /* key is arbitrary */ @@ -125,7 +125,7 @@ Bool TreeInsert(Tree *treeReturn, Tree root, Tree node, Compare cmp; AVER(treeReturn != NULL); - AVER(TreeCheck(root)); + AVER(Tree, root); AVER(TreeCheckLeaf(node)); AVER(FUNCHECK(compare)); /* key is arbitrary */ @@ -149,7 +149,7 @@ Bool TreeInsert(Tree *treeReturn, Tree root, Tree node, default: NOTREACHED; *treeReturn = NULL; - return cmp; + return FALSE; } *treeReturn = root; @@ -180,7 +180,7 @@ Bool TreeTraverseMorris(Tree tree, TreeVisitor visit, Tree node; Bool visiting = TRUE; - AVER(TreeCheck(tree)); + AVERT(Tree, tree); AVER(FUNCHECK(visit)); /* closureP, closureS arbitrary */ @@ -272,7 +272,7 @@ Bool TreeTraverse(Tree tree, { Tree parent, node; - AVER(TreeCheck(tree)); + AVERT(Tree, tree); AVER(FUNCHECK(visit)); /* closureP, closureS arbitrary */ @@ -373,8 +373,8 @@ void TreeRotateRight(Tree *treeIO) { * * Descends the left spine of a tree, updating each node's left child * to point to its parent instead. The root's left child is set to - * TreeEMPTY. Returns the leftmost child in *leftReturn, or TreeEMPTY - * if the tree was empty. + * TreeEMPTY. Returns the leftmost child, or TreeEMPTY if the tree + * was empty. */ Tree TreeReverseLeftSpine(Tree tree) @@ -400,8 +400,8 @@ Tree TreeReverseLeftSpine(Tree tree) * * Descends the right spine of a tree, updating each node's right child * to point to its parent instead. The root's right child is set to - * TreeEMPTY. Returns the rightmost child in *rightReturn, or TreeEMPTY - * if the tree was empty. + * TreeEMPTY. Returns the rightmost child or TreeEMPTY if the tree + * was empty. */ Tree TreeReverseRightSpine(Tree tree) diff --git a/mps/code/tree.h b/mps/code/tree.h index 1eaebd23932..63e6370a922 100644 --- a/mps/code/tree.h +++ b/mps/code/tree.h @@ -34,13 +34,13 @@ extern Count TreeDebugCount(Tree tree, TreeCompare compare, TreeKeyMethod key); AVER(_tree != NULL); \ _tree->left = TreeEMPTY; \ _tree->right = TreeEMPTY; \ - AVER(TreeCheck(_tree)); \ + AVERT(Tree, _tree); \ END #define TreeFinish(tree) \ BEGIN \ Tree _tree = (tree); \ - AVER(TreeCheckLeaf(_tree)); \ + AVERT(Tree, _tree); \ END #define TREE_ELT(type, field, node) \