47
48 public:
49 ZRelocationSetSelectorGroup(const char* name,
50 size_t page_size,
51 size_t object_size_limit);
52 ~ZRelocationSetSelectorGroup();
53
54 void register_live_page(ZPage* page, size_t garbage);
55 void select();
56
57 ZPage* const* selected() const;
58 size_t nselected() const;
59 size_t relocating() const;
60 size_t fragmentation() const;
61 };
62
63 class ZRelocationSetSelector : public StackObj {
64 private:
65 ZRelocationSetSelectorGroup _small;
66 ZRelocationSetSelectorGroup _medium;
67 size_t _live;
68 size_t _garbage;
69 size_t _fragmentation;
70
71 public:
72 ZRelocationSetSelector();
73
74 void register_live_page(ZPage* page);
75 void register_garbage_page(ZPage* page);
76 void select(ZRelocationSet* relocation_set);
77
78 size_t live() const;
79 size_t garbage() const;
80 size_t relocating() const;
81 size_t fragmentation() const;
82 };
83
84 #endif // SHARE_GC_Z_ZRELOCATIONSETSELECTOR_HPP
|
47
48 public:
49 ZRelocationSetSelectorGroup(const char* name,
50 size_t page_size,
51 size_t object_size_limit);
52 ~ZRelocationSetSelectorGroup();
53
54 void register_live_page(ZPage* page, size_t garbage);
55 void select();
56
57 ZPage* const* selected() const;
58 size_t nselected() const;
59 size_t relocating() const;
60 size_t fragmentation() const;
61 };
62
63 class ZRelocationSetSelector : public StackObj {
64 private:
65 ZRelocationSetSelectorGroup _small;
66 ZRelocationSetSelectorGroup _medium;
67 ZArray<ZPage*> _reclaimable;
68 size_t _live;
69 size_t _garbage;
70 size_t _fragmentation;
71
72 public:
73 ZRelocationSetSelector();
74
75 void register_live_page(ZPage* page);
76 void register_reclaimable_page(ZPage* page);
77
78 ZArray<ZPage*>* reclaimable();
79 void select(ZRelocationSet* relocation_set);
80
81 size_t live() const;
82 size_t garbage() const;
83 size_t relocating() const;
84 size_t fragmentation() const;
85 };
86
87 #endif // SHARE_GC_Z_ZRELOCATIONSETSELECTOR_HPP
|