src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp

changeset 4037
da91efe96a93
parent 3540
ab4422d0ed59
child 5011
a08c80e9e1e5
equal deleted inserted replaced
4036:36d1d483d5d6 4037:da91efe96a93
34 class PSOldGen; 34 class PSOldGen;
35 35
36 class PSMarkSweep : public MarkSweep { 36 class PSMarkSweep : public MarkSweep {
37 private: 37 private:
38 static elapsedTimer _accumulated_time; 38 static elapsedTimer _accumulated_time;
39 static unsigned int _total_invocations;
40 static jlong _time_of_last_gc; // ms 39 static jlong _time_of_last_gc; // ms
41 static CollectorCounters* _counters; 40 static CollectorCounters* _counters;
42 41
43 // Closure accessors 42 // Closure accessors
44 static OopClosure* mark_and_push_closure() { return &MarkSweep::mark_and_push_closure; } 43 static OopClosure* mark_and_push_closure() { return &MarkSweep::mark_and_push_closure; }
44 static KlassClosure* follow_klass_closure() { return &MarkSweep::follow_klass_closure; }
45 static VoidClosure* follow_stack_closure() { return (VoidClosure*)&MarkSweep::follow_stack_closure; } 45 static VoidClosure* follow_stack_closure() { return (VoidClosure*)&MarkSweep::follow_stack_closure; }
46 static OopClosure* adjust_pointer_closure() { return (OopClosure*)&MarkSweep::adjust_pointer_closure; } 46 static OopClosure* adjust_pointer_closure() { return (OopClosure*)&MarkSweep::adjust_pointer_closure; }
47 static OopClosure* adjust_root_pointer_closure() { return (OopClosure*)&MarkSweep::adjust_root_pointer_closure; } 47 static OopClosure* adjust_root_pointer_closure() { return (OopClosure*)&MarkSweep::adjust_root_pointer_closure; }
48 static KlassClosure* adjust_klass_closure() { return &MarkSweep::adjust_klass_closure; }
48 static BoolObjectClosure* is_alive_closure() { return (BoolObjectClosure*)&MarkSweep::is_alive; } 49 static BoolObjectClosure* is_alive_closure() { return (BoolObjectClosure*)&MarkSweep::is_alive; }
49 50
50 debug_only(public:) // Used for PSParallelCompact debugging 51 debug_only(public:) // Used for PSParallelCompact debugging
51 // Mark live objects 52 // Mark live objects
52 static void mark_sweep_phase1(bool clear_all_softrefs); 53 static void mark_sweep_phase1(bool clear_all_softrefs);
82 83
83 static void initialize(); 84 static void initialize();
84 85
85 // Public accessors 86 // Public accessors
86 static elapsedTimer* accumulated_time() { return &_accumulated_time; } 87 static elapsedTimer* accumulated_time() { return &_accumulated_time; }
87 static unsigned int total_invocations() { return _total_invocations; }
88 static CollectorCounters* counters() { return _counters; } 88 static CollectorCounters* counters() { return _counters; }
89 89
90 // Time since last full gc (in milliseconds) 90 // Time since last full gc (in milliseconds)
91 static jlong millis_since_last_gc(); 91 static jlong millis_since_last_gc();
92 }; 92 };

mercurial