--- a/make/conf/version-numbers.conf +++ b/make/conf/version-numbers.conf @@ -37,6 +37,6 @@ DEFAULT_VERSION_CLASSFILE_MAJOR=65 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`" DEFAULT_VERSION_CLASSFILE_MINOR=0 DEFAULT_VERSION_DOCS_API_SINCE=11 -DEFAULT_ACCEPTABLE_BOOT_VERSIONS="20 21" +DEFAULT_ACCEPTABLE_BOOT_VERSIONS="17 20 21" DEFAULT_JDK_SOURCE_TARGET_VERSION=21 DEFAULT_PROMOTED_VERSION_PRE= --- a/make/CompileInterimLangtools.gmk +++ b/make/CompileInterimLangtools.gmk @@ -88,7 +88,14 @@ BIN := $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim/jdk/internal/javac/, \ )) -TARGETS += $(COMPILE_PREVIEW_FEATURES) +$(eval $(call SetupJavaCompilation, COMPILE_OPT_MODULE, \ + COMPILER := bootjdk, \ + TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \ + SRC := $(TOPDIR)/src/jdk.internal.opt/share/classes, \ + BIN := $(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt/, \ +)) + +TARGETS += $(COMPILE_OPT_MODULE) ################################################################################ # Setup the rules to build interim langtools, which is compiled by the boot @@ -119,6 +126,7 @@ --module-path $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules \ $$(INTERIM_LANGTOOLS_ADD_EXPORTS) \ --patch-module java.base=$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim \ + --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt \ --add-exports java.base/jdk.internal.javac=java.compiler.interim \ --add-exports java.base/jdk.internal.javac=jdk.compiler.interim \ --add-exports jdk.internal.opt/jdk.internal.opt=jdk.compiler.interim \ --- a/make/CompileToolsJdk.gmk +++ b/make/CompileToolsJdk.gmk @@ -36,6 +36,16 @@ ################################################################################ +$(eval $(call SetupJavaCompilation, COMPILE_OPT_MODULE_1, \ + COMPILER := bootjdk, \ + TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \ + SRC := $(TOPDIR)/src/jdk.internal.opt/share/classes \ + , \ + BIN := $(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt/, \ +)) + +TARGETS += $(COMPILE_OPT_MODULE_1) + # Use += to be able to add to this from a custom extension BUILD_TOOLS_SRC_DIRS += \ $(TOPDIR)/make/jdk/src/classes \ @@ -54,9 +64,11 @@ , \ BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \ DISABLED_WARNINGS := options, \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ JAVAC_FLAGS := \ --add-exports java.desktop/sun.awt=ALL-UNNAMED \ --add-exports java.base/sun.text=ALL-UNNAMED \ + --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt \ --add-exports java.base/sun.security.util=ALL-UNNAMED \ --add-exports jdk.internal.opt/jdk.internal.opt=jdk.compiler.interim \ --add-exports jdk.internal.opt/jdk.internal.opt=jdk.javadoc.interim, \ @@ -86,6 +98,7 @@ INCLUDES := build/tools/depend, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/depend, \ DISABLED_WARNINGS := options, \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ JAVAC_FLAGS := \ --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \ --add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \ --- a/make/CompileJavaModules.gmk +++ b/make/CompileJavaModules.gmk @@ -107,6 +107,7 @@ EXCLUDES := $(EXCLUDES), \ EXCLUDE_FILES := $(EXCLUDE_FILES), \ KEEP_ALL_TRANSLATIONS := $(KEEP_ALL_TRANSLATIONS), \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ JAVAC_FLAGS := \ $(DOCLINT) \ $(JAVAC_FLAGS) \ --- a/make/modules/java.base/gendata/GendataBreakIterator.gmk +++ b/make/modules/java.base/gendata/GendataBreakIterator.gmk @@ -51,6 +51,7 @@ $(TEXT_PKG)/BreakIteratorRules.java \ $(TEXT_PKG)/BreakIteratorInfo.java, \ BIN := $(BREAK_ITERATOR_CLASSES)/java.base, \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ DISABLED_WARNINGS := options, \ )) @@ -61,6 +62,7 @@ $(TEXT_PKG_LD)/BreakIteratorRules_th.java \ $(TEXT_PKG_LD)/BreakIteratorInfo_th.java, \ BIN := $(BREAK_ITERATOR_CLASSES)/jdk.localedata, \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ DISABLED_WARNINGS := options, \ )) --- a/make/CompileModuleTools.gmk +++ b/make/CompileModuleTools.gmk @@ -54,6 +54,7 @@ COPY := .properties .html, \ BIN := $(TOOLS_CLASSES_DIR), \ DISABLED_WARNINGS := fallthrough this-escape, \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ JAVAC_FLAGS := \ --add-modules jdk.jdeps \ --add-exports java.base/jdk.internal.module=ALL-UNNAMED \ --- a/make/modules/jdk.compiler/Gendata.gmk +++ b/make/modules/jdk.compiler/Gendata.gmk @@ -59,6 +59,7 @@ INCLUDES := build/tools/symbolgenerator com/sun/tools/classfile, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/create_symbols, \ DISABLED_WARNINGS := options this-escape, \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ JAVAC_FLAGS := \ $(INTERIM_LANGTOOLS_ARGS) \ $(COMPILECREATESYMBOLS_ADD_EXPORTS), \ --- a/make/modules/jdk.javadoc/Gendata.gmk +++ b/make/modules/jdk.javadoc/Gendata.gmk @@ -57,6 +57,7 @@ INCLUDES := build/tools/symbolgenerator com/sun/tools/classfile, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/create_symbols_javadoc, \ DISABLED_WARNINGS := options this-escape, \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ JAVAC_FLAGS := \ $(INTERIM_LANGTOOLS_ARGS) \ $(COMPILECREATESYMBOLS_ADD_EXPORTS), \ --- a/make/CompileDemos.gmk +++ b/make/CompileDemos.gmk @@ -134,6 +134,7 @@ SRCZIP := $(SUPPORT_OUTPUTDIR)/demos/image/$$($1_DEMO_SUBDIR)/$1/src.zip, \ EXCLUDE_FILES := $$($1_EXCLUDE_FILES), \ DISABLED_WARNINGS := $$($1_DISABLED_WARNINGS), \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ )) $1 += $$(BUILD_DEMO_$1) --- a/make/GenerateLinkOptData.gmk +++ b/make/GenerateLinkOptData.gmk @@ -42,6 +42,7 @@ SRC := $(TOPDIR)/make/jdk/src/classes, \ INCLUDES := build/tools/classlist, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/classlist_classes, \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ JAR := $(SUPPORT_OUTPUTDIR)/classlist.jar, \ )) --- a/src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionParser.java +++ b/src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionParser.java @@ -219,6 +219,7 @@ * @author Paul Holser * @see The GNU C Library */ +@SuppressWarnings("this-escape") public class OptionParser implements OptionDeclarer { private final OptionNameMap> recognizedOptions; private final ArrayList> trainingOrder; --- a/make/test/BuildJtregTestThreadFactory.gmk +++ b/make/test/BuildJtregTestThreadFactory.gmk @@ -41,6 +41,7 @@ TARGET_RELEASE := $(TARGET_RELEASE_NEWJDK_UPGRADED), \ SRC := $(TTF_BASEDIR)/src/share/classes, \ BIN := $(TTF_SUPPORT)/classes, \ + JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ JAR := $(TTF_JAR), \ )) --- a/make/Docs.gmk +++ b/make/Docs.gmk @@ -310,7 +310,8 @@ $1_ALL_MODULES := $$(sort $$($1_MODULES) $$($1_INDIRECT_EXPORTS)) $1_JAVA_ARGS := -Dextlink.spec.version=$$(VERSION_SPECIFICATION) \ - -Djspec.version=$$(VERSION_SPECIFICATION) + -Djspec.version=$$(VERSION_SPECIFICATION) \ + -patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \ ifeq ($$(ENABLE_FULL_DOCS), true) $1_SEALED_GRAPHS_DIR := $$(SUPPORT_OUTPUTDIR)/docs/$1-sealed-graphs