jdk-24/jdk/make/tools/sharing
Harold Seigel 1130c56f81 8022259: MakeClasslist is buggy and its README is out of date
Fixed bug in FOR loop and updated comments and README

Reviewed-by: dholmes, alanb
2013-08-13 10:56:13 -04:00
..
tests 6943119: Rebrand source copyright notices 2010-05-25 15:58:33 -07:00
classlist.linux 6989729: jarreorder warnings (classlists files are out of date) 2011-04-04 18:03:23 -07:00
classlist.macosx 7113349: Initial changeset for Macosx port to jdk 2012-03-06 20:34:38 +00:00
classlist.solaris 6989729: jarreorder warnings (classlists files are out of date) 2011-04-04 18:03:23 -07:00
classlist.windows 6989729: jarreorder warnings (classlists files are out of date) 2011-04-04 18:03:23 -07:00
README.txt 8022259: MakeClasslist is buggy and its README is out of date 2013-08-13 10:56:13 -04:00

This directory contains tools and tests associated with creating the
class list for class data sharing.

The class list is produced by running the refWorkload startup3 benchmark with
the -XX:+TraceClassLoadingPreorder option.  The -Xshare:off option must also be
used so that bootclasspath classes are loaded from rt.jar.  The MakeClasslist
program should be built into the jar file makeclasslist.jar and is run
on one of the logs from each of the benchmarks in the following fashion:

cd .../<resultsdir>/results.startup3
$JAVA_HOME/bin/java -jar makeclasslist.jar results.Noop/results_1/log results.Framer/results_1/log results.XFramer/results_1/log results.JEdit/results_1/log results.LimeWire/results_1/log results.NetBeans50/results_1/log

Presently, $JAVA_HOME must be the same path used to run the startup3 benchmark.

The logs are deliberately concatenated in roughly smallest to largest order
based on application size.  The resulting output is redirected into a file
and results in one of classlist.solaris, classlist.linux, classlist.macosx,
or classlist.windows.  These files are checked in to the workspace.  A
necessary checksum (AddJsum.java) is added to the final classlist
(installed in lib/ or jre/lib/) during the build process by the
makefiles in make/java/redist.

In a forthcoming JDK build we plan to manually add the dependent
classes for the calendar manager Glow, which pulls in the Preferences
classes and, on Unix platforms, the XML parsing classes.

The properties file supplied to the refworkload is approximately the
following:

javahome=/usr/java/j2sdk1.8.0
resultsdir=classlist-run
iterations=1
benchmarks=startup3
globalvmoptions=-client -Xshare:off -XX:+TraceClassLoadingPreorder