--- old/src/hotspot/share/gc/parallel/psMarkSweep.cpp 2018-05-07 16:16:33.720008410 +0200 +++ new/src/hotspot/share/gc/parallel/psMarkSweep.cpp 2018-05-07 16:16:33.316008424 +0200 @@ -71,6 +71,7 @@ _span_based_discoverer.set_span(ParallelScavengeHeap::heap()->reserved_region()); set_ref_processor(new ReferenceProcessor(&_span_based_discoverer)); // a vanilla ref proc _counters = new CollectorCounters("PSMarkSweep", 1); + MarkSweep::initialize(); } // This method contains all heap specific policy for invoking mark sweep. --- old/src/hotspot/share/gc/serial/markSweep.cpp 2018-05-07 16:16:34.588008380 +0200 +++ new/src/hotspot/share/gc/serial/markSweep.cpp 2018-05-07 16:16:34.136008395 +0200 @@ -265,7 +265,7 @@ void MarkSweep::KeepAliveClosure::do_oop(oop* p) { MarkSweep::KeepAliveClosure::do_oop_work(p); } void MarkSweep::KeepAliveClosure::do_oop(narrowOop* p) { MarkSweep::KeepAliveClosure::do_oop_work(p); } -void marksweep_init() { +void MarkSweep::initialize() { MarkSweep::_gc_timer = new (ResourceObj::C_HEAP, mtGC) STWGCTimer(); MarkSweep::_gc_tracer = new (ResourceObj::C_HEAP, mtGC) SerialOldTracer(); } --- old/src/hotspot/share/gc/serial/markSweep.hpp 2018-05-07 16:16:35.464008349 +0200 +++ new/src/hotspot/share/gc/serial/markSweep.hpp 2018-05-07 16:16:35.040008364 +0200 @@ -87,7 +87,6 @@ friend class AdjustPointerClosure; friend class KeepAliveClosure; friend class VM_MarkSweep; - friend void marksweep_init(); // // Vars @@ -117,6 +116,8 @@ static KeepAliveClosure keep_alive; public: + static void initialize(); + // Public closures static IsAliveClosure is_alive; static FollowRootClosure follow_root_closure; --- old/src/hotspot/share/gc/shared/genCollectedHeap.cpp 2018-05-07 16:16:36.292008320 +0200 +++ new/src/hotspot/share/gc/shared/genCollectedHeap.cpp 2018-05-07 16:16:35.872008335 +0200 @@ -182,6 +182,8 @@ initialize_size_policy(def_new_gen->eden()->capacity(), _old_gen->capacity(), def_new_gen->from()->capacity()); + + MarkSweep::initialize(); } void GenCollectedHeap::ref_processing_init() { --- old/src/hotspot/share/runtime/init.cpp 2018-05-07 16:16:37.100008292 +0200 +++ new/src/hotspot/share/runtime/init.cpp 2018-05-07 16:16:36.704008306 +0200 @@ -62,9 +62,6 @@ void gc_barrier_stubs_init(); void interpreter_init(); // before any methods loaded void invocationCounter_init(); // before any methods loaded -#if INCLUDE_SERIALGC -void marksweep_init(); -#endif void accessFlags_init(); void templateTable_init(); void InterfaceSupport_init(); @@ -119,7 +116,6 @@ gc_barrier_stubs_init(); // depends on universe_init, must be before interpreter_init interpreter_init(); // before any methods loaded invocationCounter_init(); // before any methods loaded - SERIALGC_ONLY(marksweep_init()); accessFlags_init(); templateTable_init(); InterfaceSupport_init();