--- old/src/share/vm/gc/shared/genOopClosures.hpp 2017-09-06 11:34:04.919267196 -0400 +++ new/src/share/vm/gc/shared/genOopClosures.hpp 2017-09-06 11:34:04.673081909 -0400 @@ -81,24 +81,12 @@ }; -// Super class for scan closures. It contains code to dirty scanned Klasses. -class OopsInKlassOrGenClosure: public OopsInGenClosure { - Klass* _scanned_klass; - public: - OopsInKlassOrGenClosure(Generation* g) : OopsInGenClosure(g), _scanned_klass(NULL) {} - void set_scanned_klass(Klass* k) { - assert(k == NULL || _scanned_klass == NULL, "Must be"); - _scanned_klass = k; - } - bool is_scanning_a_klass() { return _scanned_klass != NULL; } - void do_klass_barrier(); -}; // Closure for scanning DefNewGeneration. // // This closure will perform barrier store calls for ALL // pointers in scanned oops. -class ScanClosure: public OopsInKlassOrGenClosure { +class ScanClosure: public OopsInGenClosure { protected: DefNewGeneration* _g; HeapWord* _boundary; @@ -117,7 +105,7 @@ // This closure only performs barrier store calls on // pointers into the DefNewGeneration. This is less // precise, but faster, than a ScanClosure -class FastScanClosure: public OopsInKlassOrGenClosure { +class FastScanClosure: public OopsInGenClosure { protected: DefNewGeneration* _g; HeapWord* _boundary; @@ -131,15 +119,6 @@ inline void do_oop_nv(narrowOop* p); }; -class KlassScanClosure: public KlassClosure { - OopsInKlassOrGenClosure* _scavenge_closure; - // true if the the modified oops state should be saved. - bool _accumulate_modified_oops; - public: - KlassScanClosure(OopsInKlassOrGenClosure* scavenge_closure, - KlassRemSet* klass_rem_set_policy); - void do_klass(Klass* k); -}; class FilteringClosure: public ExtendedOopClosure { private: