< prev index next >

src/hotspot/share/gc/g1/g1FullGCCompactionPoint.hpp

Print this page

39   HeapRegion* _current_region;
40   HeapWord*   _compaction_top;
41   PreservedMarks* _preserved_stack;
42   GrowableArray<HeapRegion*>* _compaction_regions;
43   GrowableArrayIterator<HeapRegion*> _compaction_region_iterator;
44 
45   bool object_will_fit(size_t size);
46   void initialize_values();
47   void switch_region();
48   HeapRegion* next_region();
49   uint find_contiguous_before(HeapRegion* hr, uint num_regions);
50 
51 public:
52   G1FullGCCompactionPoint(G1FullCollector* collector, PreservedMarks* preserved_stack);
53   ~G1FullGCCompactionPoint();
54 
55   bool has_regions();
56   bool is_initialized();
57   void initialize(HeapRegion* hr);
58   void update();

59   void forward(oop object, size_t size);

60   void forward_humongous(HeapRegion* hr);
61   void add(HeapRegion* hr);
62   void add_humongous(HeapRegion* hr);
63 
64   void remove_at_or_above(uint bottom);
65   HeapRegion* current_region();
66 
67   GrowableArray<HeapRegion*>* regions();
68 
69   PreservedMarks* preserved_stack() const {
70     assert(_preserved_stack != nullptr, "must be initialized");
71     return _preserved_stack;
72   }
73 
74   void set_preserved_stack(PreservedMarks* preserved_stack) {
75     assert(_preserved_stack == nullptr, "only initialize once");
76     _preserved_stack = preserved_stack;
77   }
78 };
79 

39   HeapRegion* _current_region;
40   HeapWord*   _compaction_top;
41   PreservedMarks* _preserved_stack;
42   GrowableArray<HeapRegion*>* _compaction_regions;
43   GrowableArrayIterator<HeapRegion*> _compaction_region_iterator;
44 
45   bool object_will_fit(size_t size);
46   void initialize_values();
47   void switch_region();
48   HeapRegion* next_region();
49   uint find_contiguous_before(HeapRegion* hr, uint num_regions);
50 
51 public:
52   G1FullGCCompactionPoint(G1FullCollector* collector, PreservedMarks* preserved_stack);
53   ~G1FullGCCompactionPoint();
54 
55   bool has_regions();
56   bool is_initialized();
57   void initialize(HeapRegion* hr);
58   void update();
59   template <bool ALT_FWD>
60   void forward(oop object, size_t size);
61   template <bool ALT_FWD>
62   void forward_humongous(HeapRegion* hr);
63   void add(HeapRegion* hr);
64   void add_humongous(HeapRegion* hr);
65 
66   void remove_at_or_above(uint bottom);
67   HeapRegion* current_region();
68 
69   GrowableArray<HeapRegion*>* regions();
70 
71   PreservedMarks* preserved_stack() const {
72     assert(_preserved_stack != nullptr, "must be initialized");
73     return _preserved_stack;
74   }
75 
76   void set_preserved_stack(PreservedMarks* preserved_stack) {
77     assert(_preserved_stack == nullptr, "only initialize once");
78     _preserved_stack = preserved_stack;
79   }
80 };
81 
< prev index next >