21 #include "splay-tree.h" 37 struct obstack *obstack);
121 "addrmap_fixed_set_empty: " 122 "fixed addrmaps can't be changed\n");
155 return bottom->
value;
163 _(
"addrmap_create_fixed is not implemented yet " 164 "for fixed addrmaps"));
244 static splay_tree_key
250 return (splay_tree_key) key;
255 static splay_tree_node
258 return splay_tree_lookup (map->
tree, (splay_tree_key) &addr);
262 static splay_tree_node
265 return splay_tree_predecessor (map->
tree, (splay_tree_key) &addr);
269 static splay_tree_node
272 return splay_tree_successor (map->
tree, (splay_tree_key) &addr);
279 splay_tree_remove (map->
tree, (splay_tree_key) &addr);
293 return (
void *) node->value;
300 node->value = (splay_tree_value)
value;
308 splay_tree_insert (map->
tree,
310 (splay_tree_value)
value);
338 splay_tree_node n, next;
391 _(
"addrmap_find is not implemented yet " 392 "for mutable addrmaps"));
401 size_t *count = (
size_t *) closure;
440 alloc_len =
sizeof (*fixed)
442 fixed = (
struct addrmap_fixed *) obstack_alloc (obstack, alloc_len);
455 return (
struct addrmap *) fixed;
464 _(
"addrmap_relocate is not implemented yet " 465 "for mutable addrmaps"));
485 return foreach_data->
fn (foreach_data->
data,
498 foreach_data.
fn =
fn;
541 splay_tree_node n = (splay_tree_node) obj;
599 gdb_assert (
sizeof (splay_tree_value) >=
sizeof (
void *));
static const struct addrmap_funcs addrmap_mutable_funcs
static void addrmap_node_set_value(splay_tree_node node, void *value)
void *(* find)(struct addrmap *self, CORE_ADDR addr)
void internal_error(const char *file, int line, const char *fmt,...)
void(* relocate)(struct addrmap *self, CORE_ADDR offset)
static void addrmap_mutable_relocate(struct addrmap *self, CORE_ADDR offset)
int addrmap_foreach(struct addrmap *map, addrmap_foreach_fn fn, void *data)
static void splay_obstack_free(void *obj, void *closure)
int(* addrmap_foreach_fn)(void *data, CORE_ADDR start_addr, void *obj)
static void force_transition(struct addrmap_mutable *self, CORE_ADDR addr)
static CORE_ADDR addrmap_node_key(splay_tree_node node)
const struct addrmap_funcs * funcs
static int splay_foreach_copy(splay_tree_node n, void *closure)
static int splay_foreach_count(splay_tree_node n, void *closure)
void(* set_empty)(struct addrmap *self, CORE_ADDR start, CORE_ADDR end_inclusive, void *obj)
static void * addrmap_fixed_find(struct addrmap *self, CORE_ADDR addr)
static void * addrmap_node_value(splay_tree_node node)
static splay_tree_node addrmap_splay_tree_lookup(struct addrmap_mutable *map, CORE_ADDR addr)
struct addrmap * addrmap_create_mutable(struct obstack *obstack)
splay_tree_node free_nodes
static int addrmap_fixed_foreach(struct addrmap *self, addrmap_foreach_fn fn, void *data)
void addrmap_set_empty(struct addrmap *map, CORE_ADDR start, CORE_ADDR end_inclusive, void *obj)
static void * addrmap_mutable_find(struct addrmap *self, CORE_ADDR addr)
static struct addrmap * addrmap_mutable_create_fixed(struct addrmap *self, struct obstack *obstack)
static int addrmap_mutable_foreach(struct addrmap *self, addrmap_foreach_fn fn, void *data)
static const struct addrmap_funcs addrmap_fixed_funcs
int(* foreach)(struct addrmap *self, addrmap_foreach_fn fn, void *data)
static void addrmap_splay_tree_remove(struct addrmap_mutable *map, CORE_ADDR addr)
static splay_tree_node addrmap_splay_tree_predecessor(struct addrmap_mutable *map, CORE_ADDR addr)
static int splay_compare_CORE_ADDR_ptr(splay_tree_key ak, splay_tree_key bk)
static struct addrmap * addrmap_fixed_create_fixed(struct addrmap *self, struct obstack *obstack)
static void addrmap_fixed_relocate(struct addrmap *self, CORE_ADDR offset)
static void addrmap_mutable_set_empty(struct addrmap *self, CORE_ADDR start, CORE_ADDR end_inclusive, void *obj)
struct addrmap *(* create_fixed)(struct addrmap *self, struct obstack *obstack)
struct addrmap * addrmap_create_fixed(struct addrmap *original, struct obstack *obstack)
static splay_tree_node addrmap_splay_tree_successor(struct addrmap_mutable *map, CORE_ADDR addr)
void _initialize_addrmap(void)
void addrmap_relocate(struct addrmap *map, CORE_ADDR offset)
static int addrmap_mutable_foreach_worker(splay_tree_node node, void *data)
static void * splay_obstack_alloc(int size, void *closure)
void * addrmap_find(struct addrmap *map, CORE_ADDR addr)
static void addrmap_fixed_set_empty(struct addrmap *self, CORE_ADDR start, CORE_ADDR end_inclusive, void *obj)
struct addrmap_transition transitions[1]
static splay_tree_key allocate_key(struct addrmap_mutable *map, CORE_ADDR addr)
static void addrmap_splay_tree_insert(struct addrmap_mutable *map, CORE_ADDR key, void *value)