Skip to content

Commit 45b4f3c

Browse files
author
René Schünemann
authored
Merge pull request #119 from SAP/pr-jdk-11+16
Merge to tag jdk-11+16
2 parents 7cef533 + 0f308e3 commit 45b4f3c

File tree

3,806 files changed

+358153
-2464
lines changed

Some content is hidden

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

3,806 files changed

+358153
-2464
lines changed

.hgtags

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,3 +486,4 @@ e1e60f75cd39312a7f59d2a4f91d624e5aecc95e jdk-11+11
486486
3ab6ba9f94a9045a526d645af26c933235371d6f jdk-11+12
487487
758deedaae8406ae60147486107a54e9864aa7b0 jdk-11+13
488488
3595bd343b65f8c37818ebe6a4c343ddeb1a5f88 jdk-11+14
489+
a11c1cb542bbd1671d25b85efe7d09b983c48525 jdk-11+15

doc/building.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,7 @@ <h4 id="advanced-make-control-variables">Advanced Make Control Variables</h4>
555555
</ul>
556556
<h2 id="running-tests">Running Tests</h2>
557557
<p>Most of the OpenJDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
558+
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://adopt-openjdk.ci.cloudbees.com/job/jtreg/lastSuccessfulBuild/artifact">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
558559
<p>To execute the most basic tests (tier 1), use:</p>
559560
<pre><code>make run-test-tier1</code></pre>
560561
<p>For more details on how to run tests, please see the <a href="testing.html">Testing OpenJDK</a> document.</p>

doc/building.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -833,6 +833,12 @@ installation of JTReg. If this is not picked up automatically, use the
833833
Note that this option should point to the JTReg home, i.e. the top directory,
834834
containing `lib/jtreg.jar` etc.
835835
836+
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
837+
recent builds of jtreg [here](
838+
https://adopt-openjdk.ci.cloudbees.com/job/jtreg/lastSuccessfulBuild/artifact).
839+
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
840+
`jtreg` directory that you just unpacked.
841+
836842
To execute the most basic tests (tier 1), use:
837843
```
838844
make run-test-tier1

doc/testing.html

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,21 @@ <h2 id="using-the-run-test-framework">Using the run-test framework</h2>
4040
$ make run-test-jdk_lang JTREG=&quot;JOBS=8&quot;
4141
$ make run-test TEST=jdk_lang
4242
$ make run-test-only TEST=&quot;gtest:LogTagSet gtest:LogTagSetDescriptions&quot; GTEST=&quot;REPEAT=-1&quot;
43-
$ make run-test TEST=&quot;hotspot/test:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;
44-
$ make run-test TEST=&quot;jtreg:hotspot/test:hotspot_gc hotspot/test/native_sanity/JniVersion.java&quot;
45-
$ make exploded-run-test TEST=hotspot_tier1</code></pre>
43+
$ make run-test TEST=&quot;hotspot:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;
44+
$ make run-test TEST=&quot;jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java&quot;
45+
$ make exploded-run-test TEST=tier2</code></pre>
4646
<h3 id="configuration">Configuration</h3>
4747
<p>To be able to run JTReg tests, <code>configure</code> needs to know where to find the JTReg test framework. If it is not picked up automatically by configure, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc. (An alternative is to set the <code>JT_HOME</code> environment variable to point to the JTReg home before running <code>configure</code>.)</p>
4848
<h2 id="test-selection">Test selection</h2>
4949
<p>All functionality is available using the run-test make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, run-test-only can be used instead, which do not depend on the source and test image build.</p>
5050
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make run-test-tier1</code> is equivalent to <code>make run-test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>run-test TEST=&quot;x&quot;</code> solution needs to be used.</p>
51-
<p>The test specifications given in <code>TEST</code> is parsed into fully qualified test descriptors, which clearly and unambigously show which tests will be run. As an example, <code>:tier1</code> will expand to <code>jtreg:jdk/test:tier1 jtreg:langtools/test:tier1 jtreg:nashorn/test:tier1 jtreg:jaxp/test:tier1</code>. You can always submit a list of fully qualified test descriptors in the <code>TEST</code> variable if you want to shortcut the parser.</p>
51+
<p>The test specifications given in <code>TEST</code> is parsed into fully qualified test descriptors, which clearly and unambigously show which tests will be run. As an example, <code>:tier1</code> will expand to <code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>. You can always submit a list of fully qualified test descriptors in the <code>TEST</code> variable if you want to shortcut the parser.</p>
5252
<h3 id="jtreg">JTReg</h3>
53-
<p>JTReg test groups can be specified either without a test root, e.g. <code>:tier1</code> (or <code>tier1</code>, the initial colon is optional), or with, e.g. <code>hotspot/test:tier1</code>, <code>jdk/test:jdk_util</code>.</p>
54-
<p>When specified without a test root, all matching groups from all tests roots will be added. Otherwise, only the group from the specified test root will be added.</p>
55-
<p>Individual JTReg tests or directories containing JTReg tests can also be specified, like <code>hotspot/test/native_sanity/JniVersion.java</code> or <code>hotspot/test/native_sanity</code>. You can also specify an absolute path, to point to a JTReg test outside the source tree.</p>
56-
<p>As long as the test groups or test paths can be uniquely resolved, you do not need to enter the <code>jtreg:</code> prefix. If this is not possible, or if you want to use a fully qualified test descriptor, add <code>jtreg:</code>, e.g. <code>jtreg:hotspot/test/native_sanity</code>.</p>
53+
<p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests.</p>
54+
<p>JTReg test groups can be specified either without a test root, e.g. <code>:tier1</code> (or <code>tier1</code>, the initial colon is optional), or with, e.g. <code>hotspot:tier1</code>, <code>test/jdk:jdk_util</code> or <code>$(TOPDIR)/test/hotspot/jtreg:hotspot_all</code>. The test root can be specified either as an absolute path, or a path relative to the OpenJDK top directory, or the <code>test</code> directory. For simplicity, the hotspot JTReg test root, which really is <code>hotspot/jtreg</code> can be abbreviated as just <code>hotspot</code>.</p>
55+
<p>When specified without a test root, all matching groups from all test roots will be added. Otherwise, only the group from the specified test root will be added.</p>
56+
<p>Individual JTReg tests or directories containing JTReg tests can also be specified, like <code>test/hotspot/jtreg/native_sanity/JniVersion.java</code> or <code>hotspot/jtreg/native_sanity</code>. Just like for test root selection, you can either specify an absolute path (which can even point to JTReg tests outside the source tree), or a path relative to either the OpenJDK top directory or the <code>test</code> directory. <code>hotspot</code> can be used as an alias for <code>hotspot/jtreg</code> here as well.</p>
57+
<p>As long as the test groups or test paths can be uniquely resolved, you do not need to enter the <code>jtreg:</code> prefix. If this is not possible, or if you want to use a fully qualified test descriptor, add <code>jtreg:</code>, e.g. <code>jtreg:test/hotspot/jtreg/native_sanity</code>.</p>
5758
<h3 id="gtest">Gtest</h3>
5859
<p>Since the Hotspot Gtest suite is so quick, the default is to run all tests. This is specified by just <code>gtest</code>, or as a fully qualified test descriptor <code>gtest:all</code>.</p>
5960
<p>If you want, you can single out an individual test or a group of tests, for instance <code>gtest:LogDecorations</code> or <code>gtest:LogDecorations.level_test_vm</code>. This can be particularly useful if you want to run a shaky test repeatedly.</p>

doc/testing.md

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ Some example command-lines:
1818
$ make run-test-jdk_lang JTREG="JOBS=8"
1919
$ make run-test TEST=jdk_lang
2020
$ make run-test-only TEST="gtest:LogTagSet gtest:LogTagSetDescriptions" GTEST="REPEAT=-1"
21-
$ make run-test TEST="hotspot/test:hotspot_gc" JTREG="JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"
22-
$ make run-test TEST="jtreg:hotspot/test:hotspot_gc hotspot/test/native_sanity/JniVersion.java"
23-
$ make exploded-run-test TEST=hotspot_tier1
21+
$ make run-test TEST="hotspot:hotspot_gc" JTREG="JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"
22+
$ make run-test TEST="jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java"
23+
$ make exploded-run-test TEST=tier2
2424

2525
### Configuration
2626

@@ -46,30 +46,41 @@ test runs, the `run-test TEST="x"` solution needs to be used.
4646

4747
The test specifications given in `TEST` is parsed into fully qualified test
4848
descriptors, which clearly and unambigously show which tests will be run. As an
49-
example, `:tier1` will expand to `jtreg:jdk/test:tier1
50-
jtreg:langtools/test:tier1 jtreg:nashorn/test:tier1 jtreg:jaxp/test:tier1`. You
51-
can always submit a list of fully qualified test descriptors in the `TEST`
52-
variable if you want to shortcut the parser.
49+
example, `:tier1` will expand to `jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1
50+
jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1
51+
jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1`. You can
52+
always submit a list of fully qualified test descriptors in the `TEST` variable
53+
if you want to shortcut the parser.
5354

5455
### JTReg
5556

56-
JTReg test groups can be specified either without a test root, e.g. `:tier1`
57-
(or `tier1`, the initial colon is optional), or with, e.g.
58-
`hotspot/test:tier1`, `jdk/test:jdk_util`.
57+
JTReg tests can be selected either by picking a JTReg test group, or a selection
58+
of files or directories containing JTReg tests.
5959

60-
When specified without a test root, all matching groups from all tests roots
60+
JTReg test groups can be specified either without a test root, e.g. `:tier1`
61+
(or `tier1`, the initial colon is optional), or with, e.g. `hotspot:tier1`,
62+
`test/jdk:jdk_util` or `$(TOPDIR)/test/hotspot/jtreg:hotspot_all`. The test
63+
root can be specified either as an absolute path, or a path relative to the
64+
OpenJDK top directory, or the `test` directory. For simplicity, the hotspot
65+
JTReg test root, which really is `hotspot/jtreg` can be abbreviated as
66+
just `hotspot`.
67+
68+
When specified without a test root, all matching groups from all test roots
6169
will be added. Otherwise, only the group from the specified test root will be
6270
added.
6371

6472
Individual JTReg tests or directories containing JTReg tests can also be
65-
specified, like `hotspot/test/native_sanity/JniVersion.java` or
66-
`hotspot/test/native_sanity`. You can also specify an absolute path, to point
67-
to a JTReg test outside the source tree.
73+
specified, like `test/hotspot/jtreg/native_sanity/JniVersion.java` or
74+
`hotspot/jtreg/native_sanity`. Just like for test root selection, you can
75+
either specify an absolute path (which can even point to JTReg tests outside
76+
the source tree), or a path relative to either the OpenJDK top directory or the
77+
`test` directory. `hotspot` can be used as an alias for `hotspot/jtreg` here as
78+
well.
6879

6980
As long as the test groups or test paths can be uniquely resolved, you do not
7081
need to enter the `jtreg:` prefix. If this is not possible, or if you want to
7182
use a fully qualified test descriptor, add `jtreg:`, e.g.
72-
`jtreg:hotspot/test/native_sanity`.
83+
`jtreg:test/hotspot/jtreg/native_sanity`.
7384

7485
### Gtest
7586

make/Docs.gmk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ JAVADOC_TAGS := \
8585
-tag throws \
8686
-taglet build.tools.taglet.ModuleGraph \
8787
-tag since \
88-
-tag version \
8988
-tag serialData \
9089
-tag factory \
9190
-tag see \

make/autoconf/basics.m4

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,33 @@ AC_DEFUN([BASIC_GET_NON_MATCHING_VALUES],
119119
fi
120120
])
121121

122+
###############################################################################
123+
# Check if a list of space-separated words contains any word(s) from a list of
124+
# space-separated illegal words. Typical use is to see if a user-specified
125+
# set of words contains any from a set of illegal words.
126+
#
127+
# Sets the specified variable to list of matching illegal words, or to
128+
# the empty string if no words are matching the illegal set.
129+
#
130+
# $1: result variable name
131+
# $2: list of values to check
132+
# $3: list of illegal values
133+
AC_DEFUN([BASIC_GET_MATCHING_VALUES],
134+
[
135+
# grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
136+
# Notice that the original variant fails on SLES 10 and 11
137+
# Some grep versions (at least bsd) behaves strangely on the base case with
138+
# no legal_values, so make it explicit.
139+
values_to_check=`$ECHO $2 | $TR ' ' '\n'`
140+
illegal_values=`$ECHO $3 | $TR ' ' '\n'`
141+
if test -z "$illegal_values"; then
142+
$1=""
143+
else
144+
result=`$GREP -Fx "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'`
145+
$1=${result//$'\n'/ }
146+
fi
147+
])
148+
122149
###############################################################################
123150
# Sort a space-separated list, and remove duplicates.
124151
#

make/autoconf/hotspot.m4

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \
2828
graal vm-structs jni-check services management cmsgc g1gc parallelgc serialgc nmt cds \
2929
static-build link-time-opt aot jfr"
3030

31+
# Deprecated JVM features (these are ignored, but with a warning)
32+
DEPRECATED_JVM_FEATURES="trace"
33+
3134
# All valid JVM variants
3235
VALID_JVM_VARIANTS="server client minimal core zero custom"
3336

@@ -269,18 +272,27 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
269272
USER_JVM_FEATURE_LIST=`$ECHO $with_jvm_features | $SED -e 's/,/ /g'`
270273
AC_MSG_RESULT([$user_jvm_feature_list])
271274
# These features will be added to all variant defaults
272-
JVM_FEATURES=`$ECHO $USER_JVM_FEATURE_LIST | $AWK '{ for (i=1; i<=NF; i++) if (!match($i, /^-.*/)) print $i }'`
275+
JVM_FEATURES=`$ECHO $USER_JVM_FEATURE_LIST | $AWK '{ for (i=1; i<=NF; i++) if (!match($i, /^-.*/)) printf("%s ", $i) }'`
273276
# These features will be removed from all variant defaults
274-
DISABLED_JVM_FEATURES=`$ECHO $USER_JVM_FEATURE_LIST | $AWK '{ for (i=1; i<=NF; i++) if (match($i, /^-.*/)) print substr($i, 2) }'`
277+
DISABLED_JVM_FEATURES=`$ECHO $USER_JVM_FEATURE_LIST | $AWK '{ for (i=1; i<=NF; i++) if (match($i, /^-.*/)) printf("%s ", substr($i, 2))}'`
275278
276279
# Verify that the user has provided valid features
277-
BASIC_GET_NON_MATCHING_VALUES(INVALID_FEATURES, $JVM_FEATURES $DISABLED_JVM_FEATURES, $VALID_JVM_FEATURES)
280+
BASIC_GET_NON_MATCHING_VALUES(INVALID_FEATURES, $JVM_FEATURES $DISABLED_JVM_FEATURES, $VALID_JVM_FEATURES $DEPRECATED_JVM_FEATURES)
278281
if test "x$INVALID_FEATURES" != x; then
279282
AC_MSG_NOTICE([Unknown JVM features specified: "$INVALID_FEATURES"])
280283
AC_MSG_NOTICE([The available JVM features are: "$VALID_JVM_FEATURES"])
281284
AC_MSG_ERROR([Cannot continue])
282285
fi
283286
287+
# Check if the user has provided deprecated features
288+
BASIC_GET_MATCHING_VALUES(DEPRECATED_FEATURES, $JVM_FEATURES $DISABLED_JVM_FEATURES, $DEPRECATED_JVM_FEATURES)
289+
if test "x$DEPRECATED_FEATURES" != x; then
290+
AC_MSG_WARN([Deprecated JVM features specified (will be ignored): "$DEPRECATED_FEATURES"])
291+
# Filter out deprecated features
292+
BASIC_GET_NON_MATCHING_VALUES(JVM_FEATURES, $JVM_FEATURES, $DEPRECATED_FEATURES)
293+
BASIC_GET_NON_MATCHING_VALUES(DISABLED_JVM_FEATURES, $DISABLED_JVM_FEATURES, $DEPRECATED_FEATURES)
294+
fi
295+
284296
fi
285297
286298
# Override hotspot cpu definitions for ARM platforms

make/autoconf/toolchain_windows.m4

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

2626
################################################################################
2727
# The order of these defines the priority by which we try to find them.
28-
VALID_VS_VERSIONS="2013 2012 2010 2015 2017"
28+
VALID_VS_VERSIONS="2017 2013 2015 2012 2010"
2929

3030
VS_DESCRIPTION_2010="Microsoft Visual Studio 2010"
3131
VS_VERSION_INTERNAL_2010=100
@@ -58,7 +58,7 @@ VS_SDK_INSTALLDIR_2013=
5858
VS_VS_PLATFORM_NAME_2013="v120"
5959
VS_SDK_PLATFORM_NAME_2013=
6060

61-
VS_DESCRIPTION_2015="Microsoft Visual Studio 2015 - CURRENTLY NOT WORKING"
61+
VS_DESCRIPTION_2015="Microsoft Visual Studio 2015"
6262
VS_VERSION_INTERNAL_2015=140
6363
VS_MSVCR_2015=vcruntime140.dll
6464
VS_MSVCP_2015=msvcp140.dll
@@ -71,7 +71,7 @@ VS_SDK_PLATFORM_NAME_2015=
7171
# explicitly specifying Windows Kit 8.1 to be used.
7272
VS_ENV_ARGS_2015="8.1"
7373

74-
VS_DESCRIPTION_2017="Microsoft Visual Studio 2017 - CURRENTLY NOT WORKING"
74+
VS_DESCRIPTION_2017="Microsoft Visual Studio 2017"
7575
VS_VERSION_INTERNAL_2017=141
7676
VS_MSVCR_2017=vcruntime140.dll
7777
VS_MSVCP_2017=msvcp140.dll

make/conf/jib-profiles.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,8 @@ var getJibProfiles = function (input) {
184184

185185
// Identifies the version of this format to the tool reading it.
186186
// 1.1 signifies that the publish, publish-src and get-src features are usable.
187-
data.format_version = "1.1";
187+
// 1.2 signifies that artifact uploads should fail on missing artifacts by default.
188+
data.format_version = "1.2";
188189

189190
// Organization, product and version are used when uploading/publishing build results
190191
data.organization = "";
@@ -822,7 +823,7 @@ var getJibProfilesDependencies = function (input, common) {
822823
macosx_x64: "Xcode6.3-MacOSX10.9+1.0",
823824
solaris_x64: "SS12u4-Solaris11u1+1.0",
824825
solaris_sparcv9: "SS12u4-Solaris11u1+1.1",
825-
windows_x64: "VS2013SP4+1.0",
826+
windows_x64: "VS2017-15.5.5+1.0",
826827
linux_aarch64: (input.profile != null && input.profile.indexOf("arm64") >= 0
827828
? "gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux+1.0"
828829
: "gcc7.3.0-Fedora27+1.0"),

make/data/tzdata/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@
2121
# or visit www.oracle.com if you need additional information or have any
2222
# questions.
2323
#
24-
tzdata2018d
24+
tzdata2018e

0 commit comments

Comments
 (0)