Lines Matching refs:mem

83   HashMemory *mem;         /* HashTable free-list */
84 int internal_mem; /* True if 'mem' was allocated by _new_HashTable() */
115 HashMemory *mem;
119 mem = (HashMemory *) malloc(sizeof(HashMemory));
120 if(!mem) {
128 mem->hash_memory = NULL;
129 mem->node_memory = NULL;
130 mem->string_memory = NULL;
134 mem->hash_memory = _new_FreeList(sizeof(HashTable), hash_count);
135 if(!mem->hash_memory)
136 return _del_HashMemory(mem, 1);
137 mem->node_memory = _new_FreeList(sizeof(HashNode), node_count);
138 if(!mem->node_memory)
139 return _del_HashMemory(mem, 1);
140 mem->string_memory = _new_StringMem(64);
141 if(!mem->string_memory)
142 return _del_HashMemory(mem, 1);
146 return mem;
154 * mem HashMemory * The free-list container to be deleted.
165 HashMemory *_del_HashMemory(HashMemory *mem, int force)
167 if(mem) {
168 if(!force && (_busy_FreeListNodes(mem->hash_memory) > 0 ||
169 _busy_FreeListNodes(mem->node_memory) > 0)) {
173 mem->hash_memory = _del_FreeList(mem->hash_memory, force);
174 mem->node_memory = _del_FreeList(mem->node_memory, force);
175 mem->string_memory = _del_StringMem(mem->string_memory, force);
176 free(mem);
185 * mem HashMemory * An optional free-list for use in allocating
213 HashTable *_new_HashTable(HashMemory *mem, int size, HashCase hcase,
217 int allocate_mem = !mem; /* True if mem should be internally allocated */
230 mem = _new_HashMemory(1, 100);
231 if(!mem)
237 hash = (HashTable *) _new_FreeListNode(mem->hash_memory);
241 mem = _del_HashMemory(mem, 1);
249 hash->mem = mem;
309 _del_HashMemory(hash->mem, 1);
311 hash = (HashTable *) _del_FreeListNode(hash->mem->hash_memory, hash);
486 node = (HashNode *) _new_FreeListNode(hash->mem->node_memory);
504 node->symbol.name = _new_StringMemString(hash->mem->string_memory, len);
538 node->symbol.name = _del_StringMemString(hash->mem->string_memory,
551 node = (HashNode *) _del_FreeListNode(hash->mem->node_memory, node);