< prev index next >

src/java.base/share/classes/java/lang/ClassLoader.java

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.
   * Copyright (c) 2019, Azul Systems, Inc. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
--- 1,7 ---
  /*
!  * Copyright (c) 2013, 2024, Oracle and/or its affiliates. All rights reserved.
   * Copyright (c) 2019, Azul Systems, Inc. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as

*** 59,10 ***
--- 59,11 ---
  import jdk.internal.loader.BuiltinClassLoader;
  import jdk.internal.loader.ClassLoaders;
  import jdk.internal.loader.NativeLibrary;
  import jdk.internal.loader.NativeLibraries;
  import jdk.internal.perf.PerfCounter;
+ import jdk.internal.misc.CDS;
  import jdk.internal.misc.Unsafe;
  import jdk.internal.misc.VM;
  import jdk.internal.reflect.CallerSensitive;
  import jdk.internal.reflect.CallerSensitiveAdapter;
  import jdk.internal.reflect.Reflection;

*** 2715,12 ***
       */
      private void resetArchivedStates() {
          if (parallelLockMap != null) {
              parallelLockMap.clear();
          }
!         packages.clear();
!         package2certs.clear();
          classes.clear();
          classLoaderValueMap = null;
      }
  }
  
--- 2716,25 ---
       */
      private void resetArchivedStates() {
          if (parallelLockMap != null) {
              parallelLockMap.clear();
          }
! 
!         if (CDS.isDumpingPackages()) {
+             if (System.getProperty("cds.debug.archived.packages") != null) {
+                 for (Map.Entry<String, NamedPackage> entry : packages.entrySet()) {
+                     String key = entry.getKey();
+                     NamedPackage value = entry.getValue();
+                     System.out.println("Archiving " + 
+                                        (value instanceof Package ? "Package" : "NamedPackage") +
+                                        " \"" + key + "\" for " + this);
+                 }
+             }
+         } else {
+             packages.clear();
+             package2certs.clear();
+         }
          classes.clear();
          classLoaderValueMap = null;
      }
  }
  
< prev index next >