8211447: Replace oop_pc_update_pointers with oop_iterate and closure

Reviewed-by: sjohanss, tschatzl
This commit is contained in:
Leo Korinth 2018-10-12 12:14:01 +02:00
parent 78fe66c3bb
commit e898052f3b
13 changed files with 21 additions and 166 deletions

View file

@ -33,7 +33,7 @@ class ClassFileParser;
// An InstanceClassLoaderKlass is a specialization of the InstanceKlass. It does
// not add any field. It is added to walk the dependencies for the class loader
// key that this class loader points to. This is how the loader_data graph is
// walked and dependant class loaders are kept alive. I thought we walked
// walked and dependent class loaders are kept alive. I thought we walked
// the list later?
class InstanceClassLoaderKlass: public InstanceKlass {
@ -48,18 +48,10 @@ private:
public:
InstanceClassLoaderKlass() { assert(DumpSharedSpaces || UseSharedSpaces, "only for CDS"); }
// GC specific object visitors
//
#if INCLUDE_PARALLELGC
// Parallel Compact
void oop_pc_update_pointers(oop obj, ParCompactionManager* cm);
#endif
// Oop fields (and metadata) iterators
//
// The InstanceClassLoaderKlass iterators also visit the CLD pointer (or mirror of anonymous klasses.)
public:
// Forward iteration
// Iterate over the oop fields and metadata.
template <typename T, class OopClosureType>