X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firnodemap.c;h=0cddeb2a09379135a5d85b2ba8a6cb7eb78c856b;hb=1de3ff1c7f4478924c6348f774608e60b962d055;hp=f02242b6ffb770d141b20423a4b7a3ac6fc11336;hpb=1ce363f80e6a204d4011f85813362d9bd1d0e7e4;p=libfirm diff --git a/ir/ir/irnodemap.c b/ir/ir/irnodemap.c index f02242b6f..0cddeb2a0 100644 --- a/ir/ir/irnodemap.c +++ b/ir/ir/irnodemap.c @@ -21,7 +21,7 @@ * @file * @author Matthias Braun * @date 30.03.2007 - * @brief A nodemap. This should be prefered over a simple pset, because it + * @brief A nodemap. This should be preferred over a simple pset, because it tries to guarantee deterministic behavior. * @version $Id$ */ @@ -38,28 +38,28 @@ static ir_nodemap_entry_t null_nodemap_entry = { NULL, NULL }; #define HashSetIterator ir_nodemap_iterator_t #define ValueType ir_nodemap_entry_t #define NullValue null_nodemap_entry -#define KeyType const ir_node* +#define KeyType ir_node* #define ConstKeyType const ir_node* #define GetKey(value) (value).node #define InitData(self,value,key) (value).node = (key) -#ifdef DEBUG_libfirm -#define Hash(this,key) ((unsigned)((key)->node_nr)) -#else -#define Hash(this,key) HASH_PTR(key) -#endif -#define KeysEqual(this,key1,key2) (key1) == (key2) +#define Hash(self,key) ((unsigned)((key)->node_nr)) +#define KeysEqual(self,key1,key2) (key1) == (key2) #define SetRangeEmpty(ptr,size) memset(ptr, 0, (size) * sizeof((ptr)[0])) #define EntrySetEmpty(value) (value).node = NULL #define EntrySetDeleted(value) (value).node = (ir_node*) -1 #define EntryIsEmpty(value) ((value).node == NULL) #define EntryIsDeleted(value) ((value).node == (ir_node*)-1) -#define hashset_init _ir_nodemap_init +void ir_nodemap_init_(ir_nodemap_t *self); +#define hashset_init ir_nodemap_init_ #define hashset_init_size ir_nodemap_init_size #define hashset_destroy ir_nodemap_destroy -#define hashset_insert _ir_nodemap_insert +ir_nodemap_entry_t *ir_nodemap_insert_(ir_nodemap_t *self, ir_node *node); +#define hashset_insert ir_nodemap_insert_ #define hashset_remove ir_nodemap_remove -#define hashset_find _ir_nodemap_find +ir_nodemap_entry_t *ir_nodemap_find_(const ir_nodemap_t *self, + const ir_node *node); +#define hashset_find ir_nodemap_find_ #define hashset_size ir_nodemap_size #define hashset_iterator_init ir_nodemap_iterator_init #define hashset_iterator_next ir_nodemap_iterator_next @@ -72,14 +72,14 @@ void ir_nodemap_init(ir_nodemap_t *nodemap) ir_nodemap_init_size(nodemap, 16); } -void *ir_nodemap_get(const ir_nodemap_t *this, const ir_node *node) +void *ir_nodemap_get(const ir_nodemap_t *self, const ir_node *node) { - ir_nodemap_entry_t *entry = _ir_nodemap_find(this, node); + ir_nodemap_entry_t *entry = ir_nodemap_find_(self, node); return entry->data; } -void ir_nodemap_insert(ir_nodemap_t *this, const ir_node *node, void *data) +void ir_nodemap_insert(ir_nodemap_t *self, ir_node *node, void *data) { - ir_nodemap_entry_t *entry = _ir_nodemap_insert(this, node); + ir_nodemap_entry_t *entry = ir_nodemap_insert_(self, node); entry->data = data; }