64
65 PreservedMarksSet* _preserved_marks;
66
67 public:
68 ShenandoahFullGC();
69 ~ShenandoahFullGC();
70 bool collect(GCCause::Cause cause);
71
72 private:
73 // GC entries
74 void vmop_entry_full(GCCause::Cause cause);
75 void entry_full(GCCause::Cause cause);
76 void op_full(GCCause::Cause cause);
77
78 void do_it(GCCause::Cause gc_cause);
79
80 void phase1_mark_heap();
81 void phase2_calculate_target_addresses(ShenandoahHeapRegionSet** worker_slices);
82 void phase3_update_references();
83 void phase4_compact_objects(ShenandoahHeapRegionSet** worker_slices);
84
85 void distribute_slices(ShenandoahHeapRegionSet** worker_slices);
86 void calculate_target_humongous_objects();
87 void compact_humongous_objects();
88 };
89
90 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHFULLGC_HPP
|
64
65 PreservedMarksSet* _preserved_marks;
66
67 public:
68 ShenandoahFullGC();
69 ~ShenandoahFullGC();
70 bool collect(GCCause::Cause cause);
71
72 private:
73 // GC entries
74 void vmop_entry_full(GCCause::Cause cause);
75 void entry_full(GCCause::Cause cause);
76 void op_full(GCCause::Cause cause);
77
78 void do_it(GCCause::Cause gc_cause);
79
80 void phase1_mark_heap();
81 void phase2_calculate_target_addresses(ShenandoahHeapRegionSet** worker_slices);
82 void phase3_update_references();
83 void phase4_compact_objects(ShenandoahHeapRegionSet** worker_slices);
84 void phase5_epilog();
85
86 void distribute_slices(ShenandoahHeapRegionSet** worker_slices);
87 void calculate_target_humongous_objects();
88 void compact_humongous_objects();
89 };
90
91 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHFULLGC_HPP
|