1 This directory contains tools and tests associated with creating the |
|
2 class list for class data sharing. |
|
3 |
|
4 The class list is produced by running the refWorkload startup3 benchmark with |
|
5 the -XX:+TraceClassLoadingPreorder option. The -Xshare:off option must also be |
|
6 used so that bootclasspath classes are loaded from rt.jar. The MakeClasslist |
|
7 program should be built into the jar file makeclasslist.jar and is run |
|
8 on one of the logs from each of the benchmarks in the following fashion: |
|
9 |
|
10 cd .../<resultsdir>/results.startup3 |
|
11 $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 |
|
12 |
|
13 Presently, $JAVA_HOME must be the same path used to run the startup3 benchmark. |
|
14 |
|
15 The logs are deliberately concatenated in roughly smallest to largest order |
|
16 based on application size. The resulting output is redirected into a file |
|
17 and results in one of classlist.solaris, classlist.linux, classlist.macosx, |
|
18 or classlist.windows. These files are checked in to the workspace. A |
|
19 necessary checksum (AddJsum.java) is added to the final classlist |
|
20 (installed in lib/ or jre/lib/) during the build process by the |
|
21 makefiles in make/java/redist. |
|
22 |
|
23 In a forthcoming JDK build we plan to manually add the dependent |
|
24 classes for the calendar manager Glow, which pulls in the Preferences |
|
25 classes and, on Unix platforms, the XML parsing classes. |
|
26 |
|
27 The properties file supplied to the refworkload is approximately the |
|
28 following: |
|
29 |
|
30 javahome=/usr/java/j2sdk1.8.0 |
|
31 resultsdir=classlist-run |
|
32 iterations=1 |
|
33 benchmarks=startup3 |
|
34 globalvmoptions=-client -Xshare:off -XX:+TraceClassLoadingPreorder |
|