aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/hist.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/hist.c')
-rw-r--r--tools/perf/util/hist.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index a6e9ddd37913..6bccfae334b1 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -151,6 +151,12 @@ void hists__calc_col_len(struct hists *hists, struct hist_entry *h)
151 hists__new_col_len(hists, HISTC_LOCAL_WEIGHT, 12); 151 hists__new_col_len(hists, HISTC_LOCAL_WEIGHT, 12);
152 hists__new_col_len(hists, HISTC_GLOBAL_WEIGHT, 12); 152 hists__new_col_len(hists, HISTC_GLOBAL_WEIGHT, 12);
153 153
154 if (h->srcline)
155 hists__new_col_len(hists, HISTC_SRCLINE, strlen(h->srcline));
156
157 if (h->srcfile)
158 hists__new_col_len(hists, HISTC_SRCFILE, strlen(h->srcfile));
159
154 if (h->transaction) 160 if (h->transaction)
155 hists__new_col_len(hists, HISTC_TRANSACTION, 161 hists__new_col_len(hists, HISTC_TRANSACTION,
156 hist_entry__transaction_len()); 162 hist_entry__transaction_len());
@@ -761,6 +767,7 @@ iter_add_next_cumulative_entry(struct hist_entry_iter *iter,
761 struct hist_entry **he_cache = iter->priv; 767 struct hist_entry **he_cache = iter->priv;
762 struct hist_entry *he; 768 struct hist_entry *he;
763 struct hist_entry he_tmp = { 769 struct hist_entry he_tmp = {
770 .hists = evsel__hists(evsel),
764 .cpu = al->cpu, 771 .cpu = al->cpu,
765 .thread = al->thread, 772 .thread = al->thread,
766 .comm = thread__comm(al->thread), 773 .comm = thread__comm(al->thread),
@@ -945,6 +952,8 @@ void hist_entry__delete(struct hist_entry *he)
945 952
946 zfree(&he->stat_acc); 953 zfree(&he->stat_acc);
947 free_srcline(he->srcline); 954 free_srcline(he->srcline);
955 if (he->srcfile && he->srcfile[0])
956 free(he->srcfile);
948 free_callchain(he->callchain); 957 free_callchain(he->callchain);
949 free(he); 958 free(he);
950} 959}