cg_symbol Class Reference

#include <symbol.h>

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

Public Types

typedef std::vector< symbol_entrychildren

Public Member Functions

 cg_symbol (symbol_entry const &sym)
column_flags output_hint (column_flags fl) const

Data Fields

children callers
 all callers of this symbol
count_array_t total_caller_count
 total count of callers
children callees
 all symbols called by this symbol
count_array_t total_callee_count
 total count of callees
image_name_id image_name
 which image this symbol belongs to
image_name_id app_name
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

Detailed Description

The public data for call-graph symbols. Each caller/callee has the sample counts replaced with the relevant arc counts, whilst the cg_symbol retains its self count.

Definition at line 116 of file symbol.h.


Member Typedef Documentation

typedef std::vector<symbol_entry> cg_symbol::children

Definition at line 120 of file symbol.h.


Constructor & Destructor Documentation

cg_symbol::cg_symbol ( symbol_entry const &  sym  )  [inline]

Definition at line 118 of file symbol.h.


Member Function Documentation

column_flags symbol_entry::output_hint ( column_flags  fl  )  const [inherited]
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

Definition at line 21 of file symbol.cpp.

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


Field 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

Definition at line 73 of file symbol.h.

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

all symbols called by this symbol

Definition at line 128 of file symbol.h.

Referenced by arc_recorder::process(), and arc_recorder::process_children().

all callers of this symbol

Definition at line 123 of file symbol.h.

Referenced by arc_recorder::process(), and arc_recorder::process_children().

Definition at line 92 of file symbol.h.

Referenced by format_output::xml_formatter::get_bfd_object().

size_t symbol_entry::size [inherited]

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

Definition at line 81 of file symbol.h.

Referenced by less_symbol::operator()().

uint64_t symbol_entry::spu_offset [inherited]

Definition at line 91 of file symbol.h.

Referenced by format_output::xml_formatter::get_bfd_object().

size_t symbol_entry::sym_index [inherited]

Definition at line 75 of file symbol.h.

total count of callees

Definition at line 130 of file symbol.h.

Referenced by arc_recorder::process(), and arc_recorder::process_children().

total count of callers

Definition at line 125 of file symbol.h.

Referenced by arc_recorder::process(), and arc_recorder::process_children().

bfd_vma symbol_entry::vma_adj [inherited]

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.

Definition at line 103 of file symbol.h.


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

Generated on 8 Nov 2012 for Oprofile by  doxygen 1.6.1