Skip to content

Commit 91cd37b

Browse files
authored
Merge pull request #7849 from jasonmolenda/large-watchpoint-support-nfc-patches
Large watchpoint support nfc patches
2 parents e4eefe1 + bf3ba39 commit 91cd37b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1435
-773
lines changed

lldb/include/lldb/Breakpoint/BreakpointSite.h

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ class BreakpointSite : public std::enable_shared_from_this<BreakpointSite>,
4545
// display any breakpoint opcodes.
4646
};
4747

48+
typedef lldb::break_id_t SiteID;
49+
typedef lldb::break_id_t ConstituentID;
50+
4851
~BreakpointSite() override;
4952

5053
// This section manages the breakpoint traps
@@ -77,8 +80,8 @@ class BreakpointSite : public std::enable_shared_from_this<BreakpointSite>,
7780
/// Tells whether the current breakpoint site is enabled or not
7881
///
7982
/// This is a low-level enable bit for the breakpoint sites. If a
80-
/// breakpoint site has no enabled owners, it should just get removed. This
81-
/// enable/disable is for the low-level target code to enable and disable
83+
/// breakpoint site has no enabled constituents, it should just get removed.
84+
/// This enable/disable is for the low-level target code to enable and disable
8285
/// breakpoint sites when single stepping, etc.
8386
bool IsEnabled() const;
8487

@@ -101,44 +104,46 @@ class BreakpointSite : public std::enable_shared_from_this<BreakpointSite>,
101104
/// Standard Dump method
102105
void Dump(Stream *s) const override;
103106

104-
/// The "Owners" are the breakpoint locations that share this breakpoint
105-
/// site. The method adds the \a owner to this breakpoint site's owner list.
107+
/// The "Constituents" are the breakpoint locations that share this breakpoint
108+
/// site. The method adds the \a constituent to this breakpoint site's
109+
/// constituent list.
106110
///
107-
/// \param[in] owner
108-
/// \a owner is the Breakpoint Location to add.
109-
void AddOwner(const lldb::BreakpointLocationSP &owner);
111+
/// \param[in] constituent
112+
/// \a constituent is the Breakpoint Location to add.
113+
void AddConstituent(const lldb::BreakpointLocationSP &constituent);
110114

111115
/// This method returns the number of breakpoint locations currently located
112116
/// at this breakpoint site.
113117
///
114118
/// \return
115-
/// The number of owners.
116-
size_t GetNumberOfOwners();
119+
/// The number of constituents.
120+
size_t GetNumberOfConstituents();
117121

118122
/// This method returns the breakpoint location at index \a index located at
119-
/// this breakpoint site. The owners are listed ordinally from 0 to
120-
/// GetNumberOfOwners() - 1 so you can use this method to iterate over the
121-
/// owners
123+
/// this breakpoint site. The constituents are listed ordinally from 0 to
124+
/// GetNumberOfConstituents() - 1 so you can use this method to iterate over
125+
/// the constituents
122126
///
123127
/// \param[in] idx
124-
/// The index in the list of owners for which you wish the owner location.
128+
/// The index in the list of constituents for which you wish the
129+
/// constituent location.
125130
///
126131
/// \return
127132
/// A shared pointer to the breakpoint location at that index.
128-
lldb::BreakpointLocationSP GetOwnerAtIndex(size_t idx);
133+
lldb::BreakpointLocationSP GetConstituentAtIndex(size_t idx);
129134

130-
/// This method copies the breakpoint site's owners into a new collection.
131-
/// It does this while the owners mutex is locked.
135+
/// This method copies the breakpoint site's constituents into a new
136+
/// collection. It does this while the constituents mutex is locked.
132137
///
133138
/// \param[out] out_collection
134-
/// The BreakpointLocationCollection into which to put the owners
139+
/// The BreakpointLocationCollection into which to put the constituents
135140
/// of this breakpoint site.
136141
///
137142
/// \return
138143
/// The number of elements copied into out_collection.
139-
size_t CopyOwnersList(BreakpointLocationCollection &out_collection);
144+
size_t CopyConstituentsList(BreakpointLocationCollection &out_collection);
140145

141-
/// Check whether the owners of this breakpoint site have any thread
146+
/// Check whether the constituents of this breakpoint site have any thread
142147
/// specifiers, and if yes, is \a thread contained in any of these
143148
/// specifiers.
144149
///
@@ -151,7 +156,7 @@ class BreakpointSite : public std::enable_shared_from_this<BreakpointSite>,
151156
bool ValidForThisThread(Thread &thread);
152157

153158
/// Print a description of this breakpoint site to the stream \a s.
154-
/// GetDescription tells you about the breakpoint site's owners. Use
159+
/// GetDescription tells you about the breakpoint site's constituents. Use
155160
/// BreakpointSite::Dump(Stream *) to get information about the breakpoint
156161
/// site itself.
157162
///
@@ -203,9 +208,10 @@ class BreakpointSite : public std::enable_shared_from_this<BreakpointSite>,
203208

204209
void BumpHitCounts();
205210

206-
/// The method removes the owner at \a break_loc_id from this breakpoint
211+
/// The method removes the constituent at \a break_loc_id from this breakpoint
207212
/// list.
208-
size_t RemoveOwner(lldb::break_id_t break_id, lldb::break_id_t break_loc_id);
213+
size_t RemoveConstituent(lldb::break_id_t break_id,
214+
lldb::break_id_t break_loc_id);
209215

210216
BreakpointSite::Type m_type; ///< The type of this breakpoint site.
211217
uint8_t m_saved_opcode[8]; ///< The saved opcode bytes if this breakpoint site
@@ -215,20 +221,20 @@ class BreakpointSite : public std::enable_shared_from_this<BreakpointSite>,
215221
bool
216222
m_enabled; ///< Boolean indicating if this breakpoint site enabled or not.
217223

218-
// Consider adding an optimization where if there is only one owner, we don't
219-
// store a list. The usual case will be only one owner...
220-
BreakpointLocationCollection m_owners; ///< This has the BreakpointLocations
221-
///that share this breakpoint site.
222-
std::recursive_mutex
223-
m_owners_mutex; ///< This mutex protects the owners collection.
224+
// Consider adding an optimization where if there is only one constituent, we
225+
// don't store a list. The usual case will be only one constituent...
226+
BreakpointLocationCollection
227+
m_constituents; ///< This has the BreakpointLocations
228+
/// that share this breakpoint site.
229+
std::recursive_mutex m_constituents_mutex; ///< This mutex protects the
230+
///< constituents collection.
224231

225232
static lldb::break_id_t GetNextID();
226233

227234
// Only the Process can create breakpoint sites in
228235
// Process::CreateBreakpointSite (lldb::BreakpointLocationSP &, bool).
229-
BreakpointSite(BreakpointSiteList *list,
230-
const lldb::BreakpointLocationSP &owner, lldb::addr_t m_addr,
231-
bool use_hardware);
236+
BreakpointSite(const lldb::BreakpointLocationSP &constituent,
237+
lldb::addr_t m_addr, bool use_hardware);
232238

233239
BreakpointSite(const BreakpointSite &) = delete;
234240
const BreakpointSite &operator=(const BreakpointSite &) = delete;

lldb/include/lldb/Breakpoint/BreakpointSiteList.h

Lines changed: 0 additions & 173 deletions
This file was deleted.

0 commit comments

Comments
 (0)