diff options
Diffstat (limited to 'tools/perf/builtin-top.c')
| -rw-r--r-- | tools/perf/builtin-top.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index a43433f0830..d28013b7d61 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -191,7 +191,8 @@ static void __zero_source_counters(struct sym_entry *syme)  	symbol__annotate_zero_histograms(sym);  } -static void record_precise_ip(struct sym_entry *syme, int counter, u64 ip) +static void record_precise_ip(struct sym_entry *syme, struct map *map, +			      int counter, u64 ip)  {  	struct annotation *notes;  	struct symbol *sym; @@ -205,8 +206,8 @@ static void record_precise_ip(struct sym_entry *syme, int counter, u64 ip)  	if (pthread_mutex_trylock(¬es->lock))  		return; -	ip = syme->map->map_ip(syme->map, ip); -	symbol__inc_addr_samples(sym, syme->map, counter, ip); +	ip = map->map_ip(map, ip); +	symbol__inc_addr_samples(sym, map, counter, ip);  	pthread_mutex_unlock(¬es->lock);  } @@ -810,7 +811,7 @@ static void perf_event__process_sample(const union perf_event *event,  		evsel = perf_evlist__id2evsel(top.evlist, sample->id);  		assert(evsel != NULL);  		syme->count[evsel->idx]++; -		record_precise_ip(syme, evsel->idx, ip); +		record_precise_ip(syme, al.map, evsel->idx, ip);  		pthread_mutex_lock(&top.active_symbols_lock);  		if (list_empty(&syme->node) || !syme->node.next) {  			static bool first = true;  |