21 *
22 */
23
24 #ifndef SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
25 #define SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
26
27 #include "gc/shenandoah/shenandoahHeuristics.hpp"
28
29 class ShenandoahTraversalHeuristics : public ShenandoahHeuristics {
30 private:
31 uint64_t _last_cset_select;
32
33 protected:
34 virtual void choose_collection_set_from_regiondata(ShenandoahCollectionSet* set,
35 RegionData* data, size_t data_size,
36 size_t free);
37
38 public:
39 ShenandoahTraversalHeuristics();
40
41 virtual bool should_start_normal_gc() const;
42
43 virtual bool is_experimental();
44
45 virtual bool is_diagnostic();
46
47 virtual bool can_do_traversal_gc();
48
49 virtual const char* name();
50
51 virtual void choose_collection_set(ShenandoahCollectionSet* collection_set);
52
53 virtual bool should_start_traversal_gc();
54 };
55
56 #endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
|
21 *
22 */
23
24 #ifndef SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
25 #define SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
26
27 #include "gc/shenandoah/shenandoahHeuristics.hpp"
28
29 class ShenandoahTraversalHeuristics : public ShenandoahHeuristics {
30 private:
31 uint64_t _last_cset_select;
32
33 protected:
34 virtual void choose_collection_set_from_regiondata(ShenandoahCollectionSet* set,
35 RegionData* data, size_t data_size,
36 size_t free);
37
38 public:
39 ShenandoahTraversalHeuristics();
40
41 virtual bool is_experimental();
42
43 virtual bool is_diagnostic();
44
45 virtual const char* name();
46
47 virtual void choose_collection_set(ShenandoahCollectionSet* collection_set);
48
49 virtual bool should_start_gc() const;
50 };
51
52 #endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
|