JDK-6451631 : Update make/tools/sharing/MakeClasslist.java for 6449635
  • Type: Bug
  • Component: other-libs
  • Sub-Component: other
  • Affected Version: 6
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-07-21
  • Updated: 2013-11-01
  • Resolved: 2006-08-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 b94Fixed
Related Reports
Relates :  
Relates :  
Description
6449635 changed the way that the shared archive classlist is generated to use -XX:+TraceClassLoadingPreorder instead of -verbose:class.  The tool which collates the list of loaded classes, make/tools/sharing/MakeClasslist.java, must be updated to understand the new input.

Comments
EVALUATION Fix is very simple, and doesn't effect the build process or the JDK binary.
21-07-2006

SUGGESTED FIX The change is extremely simple: *** 32,42 **** String line = null; while ((line = reader.readLine()) != null) { StringTokenizer tok = new StringTokenizer(line, "[ \t\n\r\f"); if (tok.hasMoreTokens()) { String t = tok.nextToken(); ! if (t.equals("Loaded")) { t = tok.nextToken(); t = t.replace('.', '/'); // Check to make sure it came from the boot class path if (tok.hasMoreTokens()) { --- 32,45 ---- String line = null; while ((line = reader.readLine()) != null) { StringTokenizer tok = new StringTokenizer(line, "[ \t\n\r\f"); if (tok.hasMoreTokens()) { String t = tok.nextToken(); ! // Understand only "Loading" from -XX:+TraceClassLoadingPreorder. ! // This ignores old "Loaded" from -verbose:class to force correct ! // classlist generation on Mustang. ! if (t.equals("Loading")) { t = tok.nextToken(); t = t.replace('.', '/'); // Check to make sure it came from the boot class path if (tok.hasMoreTokens()) {
21-07-2006