diff -r ba2bd51ce67e -r b3ff56f955c8 src/hotspot/share/classfile/systemDictionary.hpp --- a/src/hotspot/share/classfile/systemDictionary.hpp Wed Jul 17 08:33:38 2019 -0400 +++ b/src/hotspot/share/classfile/systemDictionary.hpp Thu Jul 18 14:57:32 2019 -0400 @@ -348,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 + // storage object returned by vm_global_oop_storage() 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; } @@ -563,7 +565,8 @@ // ProtectionDomain cache static ProtectionDomainCacheTable* _pd_cache_table; - // VM weak OopStorage object. + // VM OopStorage objects. + static OopStorage* _vm_global_oop_storage; static OopStorage* _vm_weak_oop_storage; protected: @@ -621,6 +624,7 @@ } static void initialize_oop_storage(); + static OopStorage* vm_global_oop_storage(); static OopStorage* vm_weak_oop_storage(); protected: