< prev index next >

src/hotspot/share/memory/dynamicArchive.cpp

Print this page
rev 59477 : [mq]: cds_lambda

@@ -658,10 +658,15 @@
 
     make_trampolines();
     make_klasses_shareable();
 
     {
+      log_info(cds)("Adjust lambda proxy class dictionary");
+      SystemDictionaryShared::adjust_lambda_proxy_class_dictionary();
+    }
+
+    {
       log_info(cds)("Final relocation of pointers ... ");
       ResourceMark rm;
       PointerMarker marker(this);
       iterate_roots(&marker);
       relocate_buffer_to_target();

@@ -836,20 +841,11 @@
     sort_methods(ik);
   }
 
   for (i = 0; i < count; i++) {
     InstanceKlass* ik = _klasses->at(i);
-    ClassLoaderData *cld = ik->class_loader_data();
-    if (cld->is_boot_class_loader_data()) {
-      ik->set_shared_class_loader_type(ClassLoader::BOOT_LOADER);
-    }
-    else if (cld->is_platform_class_loader_data()) {
-      ik->set_shared_class_loader_type(ClassLoader::PLATFORM_LOADER);
-    }
-    else if (cld->is_system_class_loader_data()) {
-      ik->set_shared_class_loader_type(ClassLoader::APP_LOADER);
-    }
+    ik->assign_class_loader_type();
 
     MetaspaceShared::rewrite_nofast_bytecodes_and_calculate_fingerprints(Thread::current(), ik);
     ik->remove_unshareable_info();
 
     assert(ik->array_klasses() == NULL, "sanity");
< prev index next >