1 /**
2 * @file symbol.cpp
3 * Symbol containers
4 *
5 * @remark Copyright 2002, 2004 OProfile authors
6 * @remark Read the file COPYING
7 *
8 * @author Philippe Elie
9 * @author John Levon
10 */
11
12
13 #include "symbol.h"
14 #include "locate_images.h"
15
16 #include <iostream>
17 #include <string>
18
19 using namespace std;
20
output_hint(column_flags fl) const21 column_flags symbol_entry::output_hint(column_flags fl) const
22 {
23 if (app_name != image_name)
24 fl = column_flags(fl | cf_image_name);
25
26 // FIXME: see comment in symbol.h: why we don't use sample.vma + size ?
27 if (sample.vma & ~0xffffffffLLU)
28 fl = column_flags(fl | cf_64bit_vma);
29
30 return fl;
31 }
32
33
34
has_sample_counts(count_array_t const & counts,size_t lo,size_t hi)35 bool has_sample_counts(count_array_t const & counts, size_t lo, size_t hi)
36 {
37 for (size_t i = lo; i <= hi; ++i)
38 if (counts[i] != 0)
39 return true;
40 return false;
41 }
42
43
get_image_name(image_name_id id,image_name_storage::image_name_type type,extra_images const & extra)44 string const & get_image_name(image_name_id id,
45 image_name_storage::image_name_type type,
46 extra_images const & extra)
47 {
48 return image_names.get_name(id, type, extra);
49 }
50