Refactor large object sweeping.
Moved basic sweeping logic into large_object_space.cc.
Renamed SpaceSetMap -> ObjectSet.
Change-Id: I938c1f29f69b0682350347da2bd5de021c0e0224
diff --git a/runtime/gc/accounting/space_bitmap.h b/runtime/gc/accounting/space_bitmap.h
index 21709ad..2d6cde5 100644
--- a/runtime/gc/accounting/space_bitmap.h
+++ b/runtime/gc/accounting/space_bitmap.h
@@ -208,7 +208,7 @@
};
// Like a bitmap except it keeps track of objects using sets.
-class SpaceSetMap {
+class ObjectSet {
public:
typedef std::set<
const mirror::Object*, std::less<const mirror::Object*>,
@@ -237,14 +237,21 @@
return contained_.find(obj) != contained_.end();
}
- std::string GetName() const;
- void SetName(const std::string& name);
+ const std::string& GetName() const {
+ return name_;
+ }
+
+ void SetName(const std::string& name) {
+ name_ = name;
+ }
+
+ void CopyFrom(const ObjectSet& space_set) {
+ contained_ = space_set.contained_;
+ }
void Walk(SpaceBitmap::Callback* callback, void* arg)
SHARED_LOCKS_REQUIRED(GlobalSynchronization::heap_bitmap_lock_);
- void CopyFrom(const SpaceSetMap& space_set);
-
template <typename Visitor>
void Visit(const Visitor& visitor) NO_THREAD_SAFETY_ANALYSIS {
for (const mirror::Object* obj : contained_) {
@@ -252,8 +259,8 @@
}
}
- explicit SpaceSetMap(const std::string& name) : name_(name) {}
- ~SpaceSetMap() {}
+ explicit ObjectSet(const std::string& name) : name_(name) {}
+ ~ObjectSet() {}
Objects& GetObjects() {
return contained_;