@@ -131,9 +131,6 @@ struct critnib {
131
131
uint64_t remove_count ;
132
132
133
133
struct os_mutex_t mutex ; /* writes/removes */
134
-
135
- umf_ba_pool_t * pool_nodes ;
136
- umf_ba_pool_t * pool_leaves ;
137
134
};
138
135
139
136
/*
@@ -195,25 +192,10 @@ struct critnib *critnib_new(void) {
195
192
goto err_free_critnib ;
196
193
}
197
194
198
- c -> pool_nodes = umf_ba_create (sizeof (struct critnib_node ));
199
- if (!c -> pool_nodes ) {
200
- goto err_util_mutex_destroy ;
201
- }
202
-
203
- c -> pool_leaves = umf_ba_create (sizeof (struct critnib_leaf ));
204
- if (!c -> pool_leaves ) {
205
- goto err_destroy_pool_nodes ;
206
- }
207
-
208
195
VALGRIND_HG_DRD_DISABLE_CHECKING (& c -> root , sizeof (c -> root ));
209
196
VALGRIND_HG_DRD_DISABLE_CHECKING (& c -> remove_count , sizeof (c -> remove_count ));
210
197
211
198
return c ;
212
-
213
- err_destroy_pool_nodes :
214
- umf_ba_destroy (c -> pool_nodes );
215
- err_util_mutex_destroy :
216
- util_mutex_destroy_not_free (& c -> mutex );
217
199
err_free_critnib :
218
200
umf_ba_global_free (c );
219
201
return NULL ;
@@ -224,15 +206,15 @@ struct critnib *critnib_new(void) {
224
206
*/
225
207
static void delete_node (struct critnib * c , struct critnib_node * __restrict n ) {
226
208
if (is_leaf (n )) {
227
- umf_ba_free ( c -> pool_leaves , to_leaf (n ));
209
+ umf_ba_global_free ( to_leaf (n ));
228
210
} else {
229
211
for (int i = 0 ; i < SLNODES ; i ++ ) {
230
212
if (n -> child [i ]) {
231
213
delete_node (c , n -> child [i ]);
232
214
}
233
215
}
234
216
235
- umf_ba_free ( c -> pool_nodes , n );
217
+ umf_ba_global_free ( n );
236
218
}
237
219
}
238
220
@@ -248,23 +230,21 @@ void critnib_delete(struct critnib *c) {
248
230
249
231
for (struct critnib_node * m = c -> deleted_node ; m ;) {
250
232
struct critnib_node * mm = m -> child [0 ];
251
- umf_ba_free ( c -> pool_nodes , m );
233
+ umf_ba_global_free ( m );
252
234
m = mm ;
253
235
}
254
236
255
237
for (struct critnib_leaf * k = c -> deleted_leaf ; k ;) {
256
238
struct critnib_leaf * kk = k -> value ;
257
- umf_ba_free ( c -> pool_leaves , k );
239
+ umf_ba_global_free ( k );
258
240
k = kk ;
259
241
}
260
242
261
243
for (int i = 0 ; i < DELETED_LIFE ; i ++ ) {
262
- umf_ba_free ( c -> pool_nodes , c -> pending_del_nodes [i ]);
263
- umf_ba_free ( c -> pool_leaves , c -> pending_del_leaves [i ]);
244
+ umf_ba_global_free ( c -> pending_del_nodes [i ]);
245
+ umf_ba_global_free ( c -> pending_del_leaves [i ]);
264
246
}
265
247
266
- umf_ba_destroy (c -> pool_nodes );
267
- umf_ba_destroy (c -> pool_leaves );
268
248
umf_ba_global_free (c );
269
249
}
270
250
@@ -292,7 +272,7 @@ static void free_node(struct critnib *__restrict c,
292
272
*/
293
273
static struct critnib_node * alloc_node (struct critnib * __restrict c ) {
294
274
if (!c -> deleted_node ) {
295
- return umf_ba_alloc ( c -> pool_nodes );
275
+ return umf_ba_global_alloc ( sizeof ( struct critnib_node ) );
296
276
}
297
277
298
278
struct critnib_node * n = c -> deleted_node ;
@@ -323,7 +303,7 @@ static void free_leaf(struct critnib *__restrict c,
323
303
*/
324
304
static struct critnib_leaf * alloc_leaf (struct critnib * __restrict c ) {
325
305
if (!c -> deleted_leaf ) {
326
- return umf_ba_alloc ( c -> pool_leaves );
306
+ return umf_ba_global_alloc ( sizeof ( struct critnib_leaf ) );
327
307
}
328
308
329
309
struct critnib_leaf * k = c -> deleted_leaf ;
0 commit comments