perf symbols: Better support for multiple symbol tables per dso

By using an array of rb_roots in struct dso we can, from a
struct map instance to get the right symbol rb_tree more easily.
This way we can have just one symbol lookup method for struct
map instances, map__find_symbol, instead of one per symtab type
(functions, variables).

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1259346563-12568-6-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Arnaldo Carvalho de Melo
2009-11-27 16:29:17 -02:00
committed by Ingo Molnar
parent 3610583c29
commit 6a4694a433
7 changed files with 56 additions and 40 deletions

View File

@@ -170,7 +170,7 @@ process_sample_event(event_t *event, unsigned long offset, unsigned long head)
map = thread__find_map(thread, ip);
if (map != NULL) {
ip = map->map_ip(map, ip);
sym = map__find_function(map, ip, symbol_filter);
sym = map__find_symbol(map, ip, symbol_filter);
} else {
/*
* If this is outside of all known maps,