--- a/src/hotspot/share/classfile/systemDictionary.hpp Thu Oct 17 20:27:44 2019 +0100
+++ b/src/hotspot/share/classfile/systemDictionary.hpp Thu Oct 17 20:53:35 2019 +0100
@@ -84,7 +84,6 @@
class ProtectionDomainCacheTable;
class ProtectionDomainCacheEntry;
class GCTimer;
-class OopStorage;
#define WK_KLASS_ENUM_NAME(kname) kname##_knum
@@ -156,6 +155,7 @@
do_klass(reflect_ConstantPool_klass, reflect_ConstantPool ) \
do_klass(reflect_UnsafeStaticFieldAccessorImpl_klass, reflect_UnsafeStaticFieldAccessorImpl ) \
do_klass(reflect_CallerSensitive_klass, reflect_CallerSensitive ) \
+ do_klass(reflect_NativeConstructorAccessorImpl_klass, reflect_NativeConstructorAccessorImpl ) \
\
/* support for dynamic typing; it's OK if these are NULL in earlier JDKs */ \
do_klass(DirectMethodHandle_klass, java_lang_invoke_DirectMethodHandle ) \
@@ -214,6 +214,9 @@
do_klass(Integer_klass, java_lang_Integer ) \
do_klass(Long_klass, java_lang_Long ) \
\
+ /* force inline of iterators */ \
+ do_klass(Iterator_klass, java_util_Iterator ) \
+ \
/*end*/
@@ -345,7 +348,9 @@
static bool do_unloading(GCTimer* gc_timer);
// Applies "f->do_oop" to all root oops in the system dictionary.
- static void oops_do(OopClosure* f);
+ // If include_handles is true (the default), then the handles in the
+ // vm_global OopStorage object are included.
+ static void oops_do(OopClosure* f, bool include_handles = true);
// System loader lock
static oop system_loader_lock() { return _system_loader_lock_obj; }
@@ -359,13 +364,6 @@
static void print_on(outputStream* st);
static void dump(outputStream* st, bool verbose);
- // Monotonically increasing counter which grows as classes are
- // loaded or modifications such as hot-swapping or setting/removing
- // of breakpoints are performed
- static inline int number_of_modifications() { assert_locked_or_safepoint(Compile_lock); return _number_of_modifications; }
- // Needed by evolution and breakpoint code
- static inline void notice_modification() { assert_locked_or_safepoint(Compile_lock); ++_number_of_modifications; }
-
// Verification
static void verify();
@@ -552,11 +550,6 @@
// Hashtable holding placeholders for classes being loaded.
static PlaceholderTable* _placeholders;
- // Monotonically increasing counter which grows with
- // loading classes as well as hot-swapping and breakpoint setting
- // and removal.
- static int _number_of_modifications;
-
// Lock object for system class loader
static oop _system_loader_lock_obj;
@@ -572,9 +565,6 @@
// ProtectionDomain cache
static ProtectionDomainCacheTable* _pd_cache_table;
- // VM weak OopStorage object.
- static OopStorage* _vm_weak_oop_storage;
-
protected:
static void validate_protection_domain(InstanceKlass* klass,
Handle class_loader,
@@ -629,9 +619,6 @@
return !m->is_public() && m->method_holder() == SystemDictionary::Object_klass();
}
- static void initialize_oop_storage();
- static OopStorage* vm_weak_oop_storage();
-
protected:
// Setup link to hierarchy
static void add_to_hierarchy(InstanceKlass* k, TRAPS);