symbol_entry Class Reference

associate a symbol with a file location, samples count and vma address More...

#include <symbol.h>

Inheritance diagram for symbol_entry:
Inheritance graph
[legend]
Collaboration diagram for symbol_entry:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 symbol_entry ()
virtual ~symbol_entry ()
column_flags output_hint (column_flags fl) const

Public Attributes

image_name_id image_name
 which image this symbol belongs to
image_name_id app_name
 owning application name: identical to image name if profiling session did not separate samples for shared libs or if image_name is not a shared lib
size_t sym_index
sample_entry sample
 file location, vma and cumulated samples count for this symbol
symbol_name_id name
 name of symbol
size_t size
 symbol size as calculated by op_bfd, start of symbol is sample.vma
uint64_t spu_offset
image_name_id embedding_filename
bfd_vma vma_adj
 The vma_adj is set according to the corresponding op_bfd::vma_adj.

Detailed Description

associate a symbol with a file location, samples count and vma address


Constructor & Destructor Documentation

symbol_entry::symbol_entry (  )  [inline]
virtual symbol_entry::~symbol_entry (  )  [inline, virtual]

Member Function Documentation

column_flags symbol_entry::output_hint ( column_flags  fl  )  const
Parameters:
fl input hint

combine fl with the calculated hint. It's theoretically possible that we get a symbol where its samples pass the border line, but the start is below it, but the the hint is only used for formatting

References app_name, cf_64bit_vma, cf_image_name, image_name, sample, and sample_entry::vma.


Member Data Documentation

owning application name: identical to image name if profiling session did not separate samples for shared libs or if image_name is not a shared lib

Referenced by format_output::formatter::format_app_name(), less_symbol::operator()(), and output_hint().

which image this symbol belongs to

Referenced by format_output::formatter::format_image_name(), less_symbol::operator()(), and output_hint().

symbol size as calculated by op_bfd, start of symbol is sample.vma

Referenced by less_symbol::operator()().

The vma_adj is set according to the corresponding op_bfd::vma_adj.

See the documentation for vma_adj in op_bfd.h for why we need this. This piece of information is needed in the bowels of opannotate with the --assembly option. At that point, there is no means of obtaining the op_bfd for the given image being processed, but we do have access to symbol_entry's. Yes, it's way overkill to add this to every symbol_entry, but there isn't a better option.


The documentation for this class was generated from the following files:

Generated on 29 Jul 2013 for oprofile by  doxygen 1.6.1