@@ -62,14 +62,14 @@ ifeq ($(EXTERNAL_BUILDJDK), true)
62
62
INTERIM_IMAGE_DIR := $(BUILD_JDK)
63
63
endif
64
64
65
- # These are needed for deterministic classlist :
65
+ # To make the classlist deterministic:
66
66
# - The classlist can be influenced by locale. Always set it to en/US.
67
- # - Run with -Xint, as the compiler can speculatively resolve constant pool entries.
68
- # - ForkJoinPool parallelism can cause constant pool resolution to be non-deterministic.
67
+ # - Concurrency in the core libraries can cause constant pool resolution
68
+ # to be non-deterministic. Since the benefits of resolved CP references in the
69
+ # default classlist is minimal, let's filter out the '@cp' lines until we can
70
+ # find a proper solution.
69
71
CLASSLIST_FILE_VM_OPTS = \
70
- -Duser.language=en -Duser.country=US \
71
- -Xint \
72
- -Djava.util.concurrent.ForkJoinPool.common.parallelism=0
72
+ -Duser.language=en -Duser.country=US
73
73
74
74
# Save the stderr output of the command and print it along with stdout in case
75
75
# something goes wrong.
@@ -101,9 +101,10 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
101
101
exit $$exitcode \
102
102
)
103
103
104
+
104
105
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java \
105
106
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
106
- build.tools.classlist.SortClasslist
[email protected] .
3 > $@
107
+ build.tools.classlist.SortClasslist
[email protected] .
4 > $@
107
108
108
109
# The jli trace is created by the same recipe as classlist. By declaring these
109
110
# dependencies, make will correctly rebuild both jli trace and classlist
0 commit comments