perf top: Cleanup condition in perf_top__record_precise_ip()
authorNamhyung Kim <namhyung@kernel.org>
Fri, 11 Dec 2015 02:56:56 +0000 (11:56 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 11 Dec 2015 11:38:10 +0000 (08:38 -0300)
The 'he' cannot be NULL since it's caller hist_iter__top_callback() is
called only if iter->he is not NULL (see hist_entry_iter__add).  So
setting 'sym' before the condition to simplify the code.

Also make it clearer that the top->symbol_filter_entry check is only
meaningful on stdio mode (i.e. when use_browser is 0).

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1449802616-16170-4-git-send-email-namhyung@kernel.org
[ Complete the simplification replacing one more he->ms.sym with sym ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-top.c

index f447e55..92fe963 100644 (file)
@@ -175,15 +175,14 @@ static void perf_top__record_precise_ip(struct perf_top *top,
                                        int counter, u64 ip)
 {
        struct annotation *notes;
-       struct symbol *sym;
+       struct symbol *sym = he->ms.sym;
        int err = 0;
 
-       if (he == NULL || he->ms.sym == NULL ||
-           ((top->sym_filter_entry == NULL ||
-             top->sym_filter_entry->ms.sym != he->ms.sym) && use_browser != 1))
+       if (sym == NULL || (use_browser == 0 &&
+                           (top->sym_filter_entry == NULL ||
+                            top->sym_filter_entry->ms.sym != sym)))
                return;
 
-       sym = he->ms.sym;
        notes = symbol__annotation(sym);
 
        if (pthread_mutex_trylock(&notes->lock))