38 static elapsedTimer _accumulated_time; |
38 static elapsedTimer _accumulated_time; |
39 static jlong _time_of_last_gc; // ms |
39 static jlong _time_of_last_gc; // ms |
40 static CollectorCounters* _counters; |
40 static CollectorCounters* _counters; |
41 |
41 |
42 // Closure accessors |
42 // Closure accessors |
43 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; } |
44 static VoidClosure* follow_stack_closure() { return (VoidClosure*)&MarkSweep::follow_stack_closure; } |
45 static VoidClosure* follow_stack_closure() { return (VoidClosure*)&MarkSweep::follow_stack_closure; } |
45 static CLDClosure* follow_cld_closure() { return &MarkSweep::follow_cld_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 KlassClosure* adjust_klass_closure() { return &MarkSweep::adjust_klass_closure; } |
47 static CLDClosure* adjust_cld_closure() { return &MarkSweep::adjust_cld_closure; } |
48 static BoolObjectClosure* is_alive_closure() { return (BoolObjectClosure*)&MarkSweep::is_alive; } |
48 static BoolObjectClosure* is_alive_closure() { return (BoolObjectClosure*)&MarkSweep::is_alive; } |
49 |
49 |
50 debug_only(public:) // Used for PSParallelCompact debugging |
50 debug_only(public:) // Used for PSParallelCompact debugging |
51 // Mark live objects |
51 // Mark live objects |
52 static void mark_sweep_phase1(bool clear_all_softrefs); |
52 static void mark_sweep_phase1(bool clear_all_softrefs); |