JDK-6888893 : Revisit the special handling in java.awt.color.ICC_Profile and java.util.zip.ZipEntry
  • Type: Enhancement
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 7
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic
  • CPU: generic
  • Submitted: 2009-10-06
  • Updated: 2011-01-28
  • Resolved: 2011-01-28
Related Reports
Relates :  
Description
The fix for 6612680 (Remove classloader dependency on jkernel) adds a new sun.misc.BootClassLoaderHook class for sun.jkernel.DownloadManager to inject in the class loading mechanism.

java.awt.color.ICC_Profile and java.util.zip.ZipEntry need special handling when running in jkernel enviornment.  The current implementation depends on the following two methods:
   sun.jkernel.DownloadManager.isCurrentThreadDownloading
   sun.jkernel.DownloadManager.downloadFile
and also a static field:
   sun.jkernel.DownloadManager.KERNEL_STATIC_MODTIME

In addition, a comment in DownloadManager.java suggests to revisit the need of the KERNEL_STATIC_MODTIME field.

    // used to bypass some problems with JAR entry modtimes not matching.
    // originally was set to zero, but apparently the epochs are different
    // for zip and pack so the pack/unpack cycle was causing the modtimes
    // to change.  With some recent changes to the reconstruction, I'm
    // not sure if this is actually necessary anymore.
    public static final int KERNEL_STATIC_MODTIME = 10000000;


We added two methods in sun.misc.BootClassLoaderHook for the above special cases' use.

    public abstract boolean isCurrentThreadPrefetching();
    public abstract boolean prefetchFile(String name);

See http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c499401bc138

We shall revisit if these 2 methods are needed any more.

Comments
EVALUATION We're no longer supporting kernel in JDK7.
28-01-2011

EVALUATION We're no longer supporting kernel in JDK7.
28-01-2011