GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes | List of all members
call_site Struct Reference

#include "call-site.h"

Classes

struct  target
 

Public Member Functions

 call_site (unrelocated_addr pc, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile)
 
CORE_ADDR pc () const
 
void iterate_over_addresses (struct gdbarch *call_site_gdbarch, frame_info_ptr caller_frame, call_site_target::iterate_ftype callback) const
 

Static Public Member Functions

static int eq (const call_site *a, const call_site *b)
 
static hashval_t hash (const call_site *a)
 
static int eq (const void *a, const void *b)
 
static hashval_t hash (const void *a)
 

Public Attributes

struct call_sitetail_call_next = nullptr
 
unsigned parameter_count = 0
 
dwarf2_per_cu_data *const per_cu = nullptr
 
dwarf2_per_objfile *const per_objfile = nullptr
 
struct call_site_parameter parameter []
 

Private Attributes

const unrelocated_addr m_unrelocated_pc
 

Detailed Description

A place where a function gets called from, represented by DW_TAG_call_site. It can be looked up from symtab->call_site_htab.

Definition at line 164 of file call-site.h.

Constructor & Destructor Documentation

◆ call_site()

call_site::call_site ( unrelocated_addr pc,
dwarf2_per_cu_data * per_cu,
dwarf2_per_objfile * per_objfile )
inline

Member Function Documentation

◆ eq() [1/2]

static int call_site::eq ( const call_site * a,
const call_site * b )
inlinestatic

Definition at line 172 of file call-site.h.

References m_unrelocated_pc.

Referenced by eq(), and read_call_site_scope().

◆ eq() [2/2]

static int call_site::eq ( const void * a,
const void * b )
inlinestatic

Definition at line 184 of file call-site.h.

References eq().

◆ hash() [1/2]

static hashval_t call_site::hash ( const call_site * a)
inlinestatic

Definition at line 178 of file call-site.h.

References m_unrelocated_pc.

Referenced by hash(), and read_call_site_scope().

◆ hash() [2/2]

static hashval_t call_site::hash ( const void * a)
inlinestatic

Definition at line 190 of file call-site.h.

References hash().

◆ iterate_over_addresses()

void call_site::iterate_over_addresses ( struct gdbarch * call_site_gdbarch,
frame_info_ptr caller_frame,
call_site_target::iterate_ftype callback ) const
inline

◆ pc()

CORE_ADDR call_site::pc ( ) const

Member Data Documentation

◆ m_unrelocated_pc

const unrelocated_addr call_site::m_unrelocated_pc
private

Definition at line 236 of file call-site.h.

Referenced by eq(), hash(), and pc().

◆ parameter

struct call_site_parameter call_site::parameter[]

Describe DW_TAG_call_site's DW_TAG_formal_parameter.

Definition at line 241 of file call-site.h.

Referenced by dwarf_expr_reg_to_entry_parameter(), and read_call_site_scope().

◆ parameter_count

unsigned call_site::parameter_count = 0

Size of the PARAMETER array.

Definition at line 223 of file call-site.h.

Referenced by dwarf_expr_reg_to_entry_parameter(), and read_call_site_scope().

◆ per_cu

dwarf2_per_cu_data* const call_site::per_cu = nullptr

CU of the function where the call is located. It gets used for DWARF blocks execution in the parameter array below.

Definition at line 228 of file call-site.h.

Referenced by dwarf_expr_reg_to_entry_parameter().

◆ per_objfile

dwarf2_per_objfile* const call_site::per_objfile = nullptr

◆ tail_call_next

struct call_site* call_site::tail_call_next = nullptr

List successor with head in FUNC_TYPE.TAIL_CALL_LIST.

Definition at line 214 of file call-site.h.

Referenced by func_verify_no_selftailcall(), and read_call_site_scope().


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