libcsdbg  1.28
C++ exception (and generic) stack trace debug library
call.cpp
Go to the documentation of this file.
1 #include "../include/call.hpp"
2 
9 namespace csdbg {
10 
22 call::call(mem_addr_t addr, mem_addr_t site, const i8 *nm):
23 symbol(addr, nm),
24 m_site(site)
25 {
26 }
27 
28 
36 call::call(const call &src):
37 symbol(src),
38 m_site(src.m_site)
39 {
40 }
41 
42 
49 {
50 }
51 
52 
60 inline call* call::clone() const
61 {
62  return new call(*this);
63 }
64 
65 
71 inline mem_addr_t call::site() const
72 {
73  return m_site;
74 }
75 
76 
86 call& call::operator=(const call &rval)
87 {
88  if ( unlikely(this == &rval) )
89  return *this;
90 
91  symbol::operator=(rval);
92  m_site = rval.m_site;
93  return *this;
94 }
95 
96 }
97 
virtual symbol & operator=(const symbol &)
Assignment operator.
Definition: symbol.cpp:105
This class represents a program/library function symbol.
Definition: symbol.hpp:17
call(mem_addr_t, mem_addr_t, const i8 *)
Object constructor.
Definition: call.cpp:22
char i8
8-bit signed integer
Definition: config.hpp:72
mem_addr_t m_site
Call site address.
Definition: call.hpp:23
This class represents a program/library runtime function call.
Definition: call.hpp:17
virtual mem_addr_t site() const
Get the call site address.
Definition: call.cpp:71
virtual call & operator=(const call &)
Assignment operator.
Definition: call.cpp:86
virtual ~call()
Object destructor.
Definition: call.cpp:48
unsigned long long mem_addr_t
64-bit memory address
Definition: config.hpp:120
virtual call * clone() const
Object virtual copy constructor.
Definition: call.cpp:60
#define unlikely(expr)
Offer a hint (negative) to the pipeline branch predictor.
Definition: config.hpp:349