MCPcopy Create free account
hub / github.com/bloomberg/pystack / ModuleCuDieRanges

Class ModuleCuDieRanges

src/pystack/_pystack/unwinder.h:46–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44};
45
46class ModuleCuDieRanges
47{
48 public:
49 // Methods
50 Dwarf_Die* moduleAddrDie(Dwfl_Module* mod, Dwarf_Addr addr, Dwarf_Addr* bias);
51
52 private:
53 // Classes
54 class CuDieRanges
55 {
56 public:
57 // Classes
58 struct CuDieRange
59 {
60 Dwarf_Die* cuDie;
61 Dwarf_Addr bias;
62 Dwarf_Addr low;
63 Dwarf_Addr high;
64
65 inline bool contains(Dwarf_Addr addr) const
66 {
67 return low <= addr && addr < high;
68 }
69 };
70
71 // Methods
72 explicit CuDieRanges(Dwfl_Module* mod = nullptr);
73
74 Dwarf_Die* findDie(Dwarf_Addr addr, Dwarf_Addr* bias) const;
75
76 // Data members
77 std::vector<CuDieRange> d_ranges;
78 };
79
80 // Data members
81 std::unordered_map<Dwfl_Module*, CuDieRanges> d_die_range_maps;
82};
83
84class AbstractUnwinder
85{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected