/*
- * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* @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$
*/
#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
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;
}