< prev index next >

src/hotspot/share/cds/dumpTimeClassInfo.inline.hpp

Print this page
*** 59,10 ***
--- 59,24 ---
      }
    };
    DumpTimeSharedClassTableBaseType::iterate_all(wrapper);
  }
  
+ template<typename Function>
+ void DumpTimeSharedClassTable::iterate_all_classes_in_builtin_loaders(Function function) const {
+   auto wrapper = [&] (InstanceKlass* k, DumpTimeClassInfo& info) {
+     assert_lock_strong(DumpTimeTable_lock);
+     // k->class_loader_data() could be null for unreg classes loaded during CDSConfig::is_dumping_final_static_archive()
+     if (k->class_loader_data() != nullptr && SystemDictionaryShared::is_builtin_loader(k->class_loader_data())) {
+        assert(k->is_loader_alive(), "must be");
+        function(k, info);
+        assert(k->is_loader_alive(), "must be");
+     }
+   };
+   DumpTimeSharedClassTableBaseType::iterate_all(wrapper);
+ }
+ 
  
  template<class ITER>
  void DumpTimeSharedClassTable::iterate_all_live_classes(ITER* iter) const {
    auto function = [&] (InstanceKlass* k, DumpTimeClassInfo& v) {
      iter->do_entry(k, v);
< prev index next >