Skip to content

Commit cb60c2d

Browse files
author
René Schünemann
authored
Merge pull request #130 from SAP/pr-jdk-11+18
Merge to tag jdk-11+18
2 parents 2ab179b + 135ec54 commit cb60c2d

File tree

869 files changed

+40314
-11685
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

869 files changed

+40314
-11685
lines changed

.hgtags

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,3 +488,4 @@ e1e60f75cd39312a7f59d2a4f91d624e5aecc95e jdk-11+11
488488
3595bd343b65f8c37818ebe6a4c343ddeb1a5f88 jdk-11+14
489489
a11c1cb542bbd1671d25b85efe7d09b983c48525 jdk-11+15
490490
02934b0d661b82b7fe1052a04998d2091352e08d jdk-11+16
491+
64e4b1686141e57a681936a8283983341484676e jdk-11+17

doc/building.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ <h3 id="common-make-targets">Common Make Targets</h3>
505505
<ul>
506506
<li><code>hotspot</code> - Build all of hotspot (but only hotspot)</li>
507507
<li><code>hotspot-&lt;variant&gt;</code> - Build just the specified jvm variant</li>
508-
<li><code>images</code> or <code>product-images</code> - Build the JRE and JDK images</li>
508+
<li><code>images</code> or <code>product-images</code> - Build the JDK image</li>
509509
<li><code>docs</code> or <code>docs-image</code> - Build the documentation image</li>
510510
<li><code>test-image</code> - Build the test image</li>
511511
<li><code>all</code> or <code>all-images</code> - Build all images (product, docs and test)</li>
@@ -639,7 +639,7 @@ <h3 id="building-for-armaarch64">Building for ARM/aarch64</h3>
639639
<p>OpenJDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p>
640640
<h3 id="verifying-the-build">Verifying the Build</h3>
641641
<p>The build will end up in a directory named like <code>build/linux-arm-normal-server-release</code>.</p>
642-
<p>Inside this build output directory, the <code>images/jdk</code> and <code>images/jre</code> will contain the newly built JDK and JRE, respectively, for your <em>target</em> system.</p>
642+
<p>Inside this build output directory, the <code>images/jdk</code> will contain the newly built JDK, for your <em>target</em> system.</p>
643643
<p>Copy these folders to your <em>target</em> system. Then you can run e.g. <code>images/jdk/bin/java -version</code>.</p>
644644
<h2 id="build-performance">Build Performance</h2>
645645
<p>Building OpenJDK requires a lot of horsepower. Some of the build tools can be adjusted to utilize more or less of resources such as parallel threads and memory. The <code>configure</code> script analyzes your system and selects reasonable values for such options based on your hardware. If you encounter resource problems, such as out of memory conditions, you can modify the detected values with:</p>

doc/building.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -747,7 +747,7 @@ Apart from the default target, here are some common make targets:
747747
748748
* `hotspot` - Build all of hotspot (but only hotspot)
749749
* `hotspot-<variant>` - Build just the specified jvm variant
750-
* `images` or `product-images` - Build the JRE and JDK images
750+
* `images` or `product-images` - Build the JDK image
751751
* `docs` or `docs-image` - Build the documentation image
752752
* `test-image` - Build the test image
753753
* `all` or `all-images` - Build all images (product, docs and test)
@@ -1039,8 +1039,8 @@ original aarch64 port is used. To select the Oracle ARM 64 port, use
10391039
The build will end up in a directory named like
10401040
`build/linux-arm-normal-server-release`.
10411041
1042-
Inside this build output directory, the `images/jdk` and `images/jre` will
1043-
contain the newly built JDK and JRE, respectively, for your *target* system.
1042+
Inside this build output directory, the `images/jdk` will contain the newly
1043+
built JDK, for your *target* system.
10441044
10451045
Copy these folders to your *target* system. Then you can run e.g.
10461046
`images/jdk/bin/java -version`.

make/Bundles.gmk

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -146,20 +146,17 @@ endef
146146
# correct base directories.
147147
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
148148
JDK_IMAGE_DIR := $(JDK_MACOSX_BUNDLE_DIR)
149-
JRE_IMAGE_DIR := $(JRE_MACOSX_BUNDLE_DIR)
150149
JDK_IMAGE_HOMEDIR := $(JDK_MACOSX_CONTENTS_DIR)/Home
151-
JRE_IMAGE_HOMEDIR := $(JRE_MACOSX_CONTENTS_DIR)/Home
152150
JDK_BUNDLE_SUBDIR :=
153-
JRE_BUNDLE_SUBDIR :=
154151
else
155152
JDK_IMAGE_HOMEDIR := $(JDK_IMAGE_DIR)
156153
JRE_IMAGE_HOMEDIR := $(JRE_IMAGE_DIR)
157154

158155
JDK_BUNDLE_SUBDIR := sapmachine-jdk-$(VERSION_NUMBER)
159156
JRE_BUNDLE_SUBDIR := sapmachine-jre-$(VERSION_NUMBER)
157+
160158
ifneq ($(DEBUG_LEVEL), release)
161159
JDK_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
162-
JRE_BUNDLE_SUBDIR := $(JRE_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
163160
endif
164161
endif
165162

@@ -205,26 +202,6 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
205202

206203
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_IMAGE_HOMEDIR)/demo/%, $(ALL_JDK_FILES))
207204

208-
ALL_JRE_FILES := $(call CacheFind, $(JRE_IMAGE_DIR))
209-
210-
# Create special filter rules when dealing with unzipped .dSYM directories on
211-
# macosx
212-
ifeq ($(OPENJDK_TARGET_OS), macosx)
213-
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
214-
JRE_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
215-
$(call containing, .dSYM/, $(patsubst $(JRE_IMAGE_DIR)/%, %, $(ALL_JRE_FILES))))
216-
endif
217-
endif
218-
219-
JRE_BUNDLE_FILES := $(filter-out \
220-
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
221-
$(SYMBOLS_EXCLUDE_PATTERN), \
222-
$(ALL_JRE_FILES))
223-
JRE_SYMBOLS_BUNDLE_FILES := $(filter \
224-
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
225-
$(SYMBOLS_EXCLUDE_PATTERN), \
226-
$(ALL_JRE_FILES))
227-
228205
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
229206
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
230207
FILES := $(JDK_BUNDLE_FILES), \
@@ -235,15 +212,6 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
235212

236213
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
237214

238-
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
239-
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
240-
FILES := $(JRE_BUNDLE_FILES), \
241-
BASE_DIRS := $(JRE_IMAGE_DIR), \
242-
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
243-
))
244-
245-
PRODUCT_TARGETS += $(BUILD_JRE_BUNDLE)
246-
247215
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \
248216
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
249217
FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \
@@ -254,16 +222,6 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
254222

255223
PRODUCT_TARGETS += $(BUILD_JDK_SYMBOLS_BUNDLE)
256224

257-
$(eval $(call SetupBundleFile, BUILD_JRE_SYMBOLS_BUNDLE, \
258-
BUNDLE_NAME := $(JRE_SYMBOLS_BUNDLE_NAME), \
259-
FILES := $(JRE_SYMBOLS_BUNDLE_FILES), \
260-
BASE_DIRS := $(JRE_IMAGE_DIR), \
261-
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
262-
UNZIP_DEBUGINFO := true, \
263-
))
264-
265-
PRODUCT_TARGETS += $(BUILD_JRE_SYMBOLS_BUNDLE)
266-
267225
# The demo bundle is only created to support client tests. Ideally it should
268226
# be built with the main test bundle, but since the prerequisites match
269227
# better with the product build, it makes more sense to keep it there for now.

make/Help.gmk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ help:
4040
$(info $(_) # image (alias for jdk or exploded-image))
4141
$(info $(_) make all # Create all images: product, test, docs)
4242
$(info $(_) # (alias for all-images))
43-
$(info $(_) make images # Create complete jdk and jre images)
43+
$(info $(_) make images # Create a complete jdk image)
4444
$(info $(_) # (alias for product-images))
4545
$(info $(_) make <name>-image # Build just the image for any of: )
46-
$(info $(_) # jdk, jre, test, docs, symbols)
46+
$(info $(_) # jdk, test, docs, symbols, legacy-jre)
4747
$(info $(_) make <phase> # Build the specified phase and everything it depends on)
4848
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
4949
$(info $(_) make *-only # Applies to most targets and disables building the)

make/Images.gmk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ endif
9090

9191
$(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
9292
$(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE)
93-
$(ECHO) Creating jdk jimage
93+
$(ECHO) Creating jdk image
9494
$(RM) -r $(JDK_IMAGE_DIR)
9595
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jdk, \
9696
$(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
@@ -101,7 +101,7 @@ $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
101101

102102
$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
103103
$(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE)
104-
$(ECHO) Creating jre jimage
104+
$(ECHO) Creating legacy jre image
105105
$(RM) -r $(JRE_IMAGE_DIR)
106106
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jre, \
107107
$(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \

make/InitSupport.gmk

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ _INITSUPPORT_GMK := 1
3434

3535
ifeq ($(HAS_SPEC),)
3636

37+
# COMMA is defined in spec.gmk, but that is not included yet
38+
COMMA := ,
39+
3740
# Include the corresponding closed file, if present.
3841
ifneq ($(CUSTOM_MAKE_DIR), )
3942
-include $(CUSTOM_MAKE_DIR)/InitSupport.gmk
@@ -531,8 +534,6 @@ endif # HAS_SPEC
531534
define ParseLogOption
532535
ifneq ($$(findstring $1, $$(LOG)),)
533536
override $2 := true
534-
# COMMA is defined in spec.gmk, but that is not included yet
535-
COMMA := ,
536537
# First try to remove ",<option>" if it exists, otherwise just remove "<option>"
537538
LOG_STRIPPED := $$(subst $1,, $$(subst $$(COMMA)$$(strip $1),, $$(LOG)))
538539
# We might have ended up with a leading comma. Remove it. Need override
@@ -550,8 +551,6 @@ define ParseLogValue
550551
# Make words of out comma-separated list and find the one with opt=val
551552
value := $$(strip $$(subst $$(strip $1)=,, $$(filter $$(strip $1)=%, $$(subst $$(COMMA), , $$(LOG)))))
552553
override $2 := $$(value)
553-
# COMMA is defined in spec.gmk, but that is not included yet
554-
COMMA := ,
555554
# First try to remove ",<option>" if it exists, otherwise just remove "<option>"
556555
LOG_STRIPPED := $$(subst $$(strip $1)=$$(value),, \
557556
$$(subst $$(COMMA)$$(strip $1)=$$(value),, $$(LOG)))

make/Main.gmk

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -328,14 +328,17 @@ jrtfs-jar:
328328
jdk-image:
329329
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jdk)
330330

331-
jre-image:
331+
legacy-jre-image:
332332
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jre)
333333

334334
symbols-image:
335335
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk symbols)
336336

337-
mac-bundles-jdk:
338-
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk)
337+
mac-jdk-bundle:
338+
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk jdk-bundle)
339+
340+
mac-legacy-jre-bundle:
341+
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk jre-bundle)
339342

340343
release-file:
341344
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ReleaseFile.gmk)
@@ -344,8 +347,8 @@ exploded-image-optimize:
344347
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ExplodedImageOptimize.gmk)
345348

346349
ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
347-
zip-source jrtfs-jar jdk-image jre-image \
348-
symbols-image mac-bundles-jdk \
350+
zip-source jrtfs-jar jdk-image legacy-jre-image \
351+
symbols-image mac-jdk-bundle mac-legacy-jre-bundle \
349352
release-file exploded-image-optimize
350353

351354
################################################################################
@@ -776,16 +779,17 @@ else
776779
generate-link-opt-data: buildtools-jdk
777780

778781
# The generated classlist needs to go into java.base-jmod.
779-
java.base-jmod jdk.jlink-jmod jdk-image jre-image: generate-link-opt-data
782+
java.base-jmod jdk.jlink-jmod jdk-image legacy-jre-image: generate-link-opt-data
780783
endif
781784

782785
release-file: create-source-revision-tracker
783786

784787
jdk-image: jmods zip-source demos release-file
785-
jre-image: jmods release-file
788+
legacy-jre-image: jmods release-file
786789
symbols-image: $(LIBS_TARGETS) $(LAUNCHER_TARGETS)
787790

788-
mac-bundles-jdk: jdk-image jre-image
791+
mac-jdk-bundle: jdk-image
792+
mac-legacy-jre-bundle: legacy-jre-image
789793

790794
# The optimize target can run as soon as the modules dir has been completely
791795
# populated (java, copy and gendata targets) and the basic libs and launchers
@@ -956,14 +960,14 @@ docs-reference: docs-reference-api
956960
# alias for backwards compatibility
957961
docs-javadoc: docs-jdk-api
958962

959-
mac-bundles: mac-bundles-jdk
963+
mac-bundles: mac-jdk-bundle
960964

961965
# The $(OUTPUTDIR)/images directory contain the resulting deliverables,
962966
# and in line with this, our targets for creating these are named *-image[s].
963967

964-
# This target builds the product images, e.g. the JRE and JDK image
968+
# This target builds the product images, e.g. the JDK image
965969
# (and possibly other, more specific versions)
966-
product-images: jdk-image jre-image symbols-image exploded-image
970+
product-images: jdk-image symbols-image exploded-image
967971

968972
# zip-security is actually a bundle, but for now it needs to be considered
969973
# an image until this can be cleaned up properly.
@@ -980,7 +984,7 @@ ifneq ($(CREATE_BUILDJDK), true)
980984
endif
981985

982986
ifeq ($(OPENJDK_TARGET_OS), macosx)
983-
product-images: mac-bundles
987+
product-images: mac-jdk-bundle
984988
endif
985989

986990
# This target builds the documentation image

make/autoconf/hotspot.m4

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
# All valid JVM features, regardless of platform
2727
VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \
28-
graal vm-structs jni-check services management cmsgc g1gc parallelgc serialgc nmt cds \
28+
graal vm-structs jni-check services management cmsgc epsilongc g1gc parallelgc serialgc zgc nmt cds \
2929
static-build link-time-opt aot jfr"
3030

3131
# Deprecated JVM features (these are ignored, but with a warning)
@@ -328,6 +328,19 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
328328
fi
329329
fi
330330
331+
# Only enable ZGC on Linux x86_64
332+
AC_MSG_CHECKING([if zgc should be built])
333+
if HOTSPOT_CHECK_JVM_FEATURE(zgc); then
334+
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
335+
AC_MSG_RESULT([yes])
336+
else
337+
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES zgc"
338+
AC_MSG_RESULT([no, platform not supported])
339+
fi
340+
else
341+
AC_MSG_RESULT([no])
342+
fi
343+
331344
# Turn on additional features based on other parts of configure
332345
if test "x$INCLUDE_DTRACE" = "xtrue"; then
333346
JVM_FEATURES="$JVM_FEATURES dtrace"
@@ -410,7 +423,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
410423
fi
411424
412425
# All variants but minimal (and custom) get these features
413-
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc jni-check jvmti management nmt services vm-structs"
426+
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc jni-check jvmti management nmt services vm-structs"
414427
if test "x$ENABLE_CDS" = "xtrue"; then
415428
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cds"
416429
fi

make/autoconf/spec.gmk.in

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -859,18 +859,22 @@ else ifneq ($(DEBUG_LEVEL), release)
859859
DEBUG_PART := -$(DEBUG_LEVEL)
860860
endif
861861

862-
JDK_BUNDLE_NAME := sapmachine-jdk-$(BASE_NAME)_bin$(DEBUG_PART).tar.gz
863-
JRE_BUNDLE_NAME := sapmachine-jre-$(BASE_NAME)_bin$(DEBUG_PART).tar.gz
862+
ifeq ($(OPENJDK_TARGET_OS), windows)
863+
JDK_BUNDLE_EXTENSION := zip
864+
else
865+
JDK_BUNDLE_EXTENSION := tar.gz
866+
endif
867+
868+
JDK_BUNDLE_NAME := sapmachine-jdk-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
869+
JRE_BUNDLE_NAME := sapmachine-jre-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
864870
JDK_SYMBOLS_BUNDLE_NAME := sapmachine-jdk-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
865871
JRE_SYMBOLS_BUNDLE_NAME := sapmachine-jre-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
866872
TEST_DEMOS_BUNDLE_NAME := sapmachine-jdk-$(BASE_NAME)_bin-tests-demos$(DEBUG_PART).tar.gz
867873
TEST_BUNDLE_NAME := sapmachine-jdk-$(BASE_NAME)_bin-tests$(DEBUG_PART).tar.gz
868874
DOCS_BUNDLE_NAME := sapmachine-jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
869875

870876
JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME)
871-
JRE_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_BUNDLE_NAME)
872877
JDK_SYMBOLS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_SYMBOLS_BUNDLE_NAME)
873-
JRE_SYMBOLS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_SYMBOLS_BUNDLE_NAME)
874878
TEST_DEMOS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_DEMOS_BUNDLE_NAME)
875879
TEST_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_BUNDLE_NAME)
876880
DOCS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(DOCS_BUNDLE_NAME)

0 commit comments

Comments
 (0)