map.c (361d13462585474267a0c41e956f1a1c19a93f17) map.c (591765fdaf7ea1888157f342b67b0461f2e5ed9b)
1#include "symbol.h"
2#include <errno.h>
3#include <limits.h>
4#include <stdlib.h>
5#include <string.h>
6#include <stdio.h>
7#include <unistd.h>
8#include "map.h"

--- 214 unchanged lines hidden (view full) ---

223 int i;
224 for (i = 0; i < MAP__NR_TYPES; ++i) {
225 self->maps[i] = RB_ROOT;
226 INIT_LIST_HEAD(&self->removed_maps[i]);
227 }
228 self->machine = NULL;
229}
230
1#include "symbol.h"
2#include <errno.h>
3#include <limits.h>
4#include <stdlib.h>
5#include <string.h>
6#include <stdio.h>
7#include <unistd.h>
8#include "map.h"

--- 214 unchanged lines hidden (view full) ---

223 int i;
224 for (i = 0; i < MAP__NR_TYPES; ++i) {
225 self->maps[i] = RB_ROOT;
226 INIT_LIST_HEAD(&self->removed_maps[i]);
227 }
228 self->machine = NULL;
229}
230
231static void maps__delete(struct rb_root *self)
232{
233 struct rb_node *next = rb_first(self);
234
235 while (next) {
236 struct map *pos = rb_entry(next, struct map, rb_node);
237
238 next = rb_next(&pos->rb_node);
239 rb_erase(&pos->rb_node, self);
240 map__delete(pos);
241 }
242}
243
244static void maps__delete_removed(struct list_head *self)
245{
246 struct map *pos, *n;
247
248 list_for_each_entry_safe(pos, n, self, node) {
249 list_del(&pos->node);
250 map__delete(pos);
251 }
252}
253
254void map_groups__exit(struct map_groups *self)
255{
256 int i;
257
258 for (i = 0; i < MAP__NR_TYPES; ++i) {
259 maps__delete(&self->maps[i]);
260 maps__delete_removed(&self->removed_maps[i]);
261 }
262}
263
231void map_groups__flush(struct map_groups *self)
232{
233 int type;
234
235 for (type = 0; type < MAP__NR_TYPES; type++) {
236 struct rb_root *root = &self->maps[type];
237 struct rb_node *next = rb_first(root);
238

--- 370 unchanged lines hidden ---
264void map_groups__flush(struct map_groups *self)
265{
266 int type;
267
268 for (type = 0; type < MAP__NR_TYPES; type++) {
269 struct rb_root *root = &self->maps[type];
270 struct rb_node *next = rb_first(root);
271

--- 370 unchanged lines hidden ---