--- a/.hgtags-top-repo Fri Jul 01 11:29:55 2016 +0200
+++ b/.hgtags-top-repo Wed Jul 05 21:54:06 2017 +0200
@@ -367,3 +367,4 @@
346be2df0f5b31d423807f53a719d1b9a67f3354 jdk-9+122
405d811c0d7b9b48ff718ae6c240b732f098c028 jdk-9+123
f80c841ae2545eaf9acd2724bccc305d98cefbe2 jdk-9+124
+9aa7d40f3a453f51e47f4c1b19eff5740a74a9f8 jdk-9+125
--- a/common/autoconf/boot-jdk.m4 Fri Jul 01 11:29:55 2016 +0200
+++ b/common/autoconf/boot-jdk.m4 Wed Jul 05 21:54:06 2017 +0200
@@ -359,25 +359,32 @@
# Starting amount of heap memory.
ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
+ BOOTCYCLE_JVM_ARGS_BIG=-Xms64M
- # Maximum amount of heap memory.
- # Maximum stack size.
- JVM_MAX_HEAP=`expr $MEMORY_SIZE / 2`
+ # Maximum amount of heap memory and stack size.
+ JVM_HEAP_LIMIT_32="1024"
+ # Running a 64 bit JVM allows for and requires a bigger heap
+ JVM_HEAP_LIMIT_64="1600"
+ STACK_SIZE_32=768
+ STACK_SIZE_64=1536
+ JVM_HEAP_LIMIT_GLOBAL=`expr $MEMORY_SIZE / 2`
+ if test "$JVM_HEAP_LIMIT_GLOBAL" -lt "$JVM_HEAP_LIMIT_32"; then
+ JVM_HEAP_LIMIT_32=$JVM_HEAP_LIMIT_GLOBAL
+ fi
+ if test "$JVM_HEAP_LIMIT_GLOBAL" -lt "$JVM_HEAP_LIMIT_64"; then
+ JVM_HEAP_LIMIT_64=$JVM_HEAP_LIMIT_GLOBAL
+ fi
+ if test "$JVM_HEAP_LIMIT_GLOBAL" -lt "512"; then
+ JVM_HEAP_LIMIT_32=512
+ JVM_HEAP_LIMIT_64=512
+ fi
+
if test "x$BOOT_JDK_BITS" = "x32"; then
- if test "$JVM_MAX_HEAP" -gt "1100"; then
- JVM_MAX_HEAP=1100
- elif test "$JVM_MAX_HEAP" -lt "512"; then
- JVM_MAX_HEAP=512
- fi
- STACK_SIZE=768
+ STACK_SIZE=$STACK_SIZE_32
+ JVM_MAX_HEAP=$JVM_HEAP_LIMIT_32
else
- # Running a 64 bit JVM allows for and requires a bigger heap
- if test "$JVM_MAX_HEAP" -gt "1600"; then
- JVM_MAX_HEAP=1600
- elif test "$JVM_MAX_HEAP" -lt "512"; then
- JVM_MAX_HEAP=512
- fi
- STACK_SIZE=1536
+ STACK_SIZE=$STACK_SIZE_64
+ JVM_MAX_HEAP=$JVM_HEAP_LIMIT_64
fi
ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
@@ -387,6 +394,19 @@
JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
AC_SUBST(JAVA_FLAGS_BIG)
+ if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
+ BOOTCYCLE_MAX_HEAP=$JVM_HEAP_LIMIT_32
+ BOOTCYCLE_STACK_SIZE=$STACK_SIZE_32
+ else
+ BOOTCYCLE_MAX_HEAP=$JVM_HEAP_LIMIT_64
+ BOOTCYCLE_STACK_SIZE=$STACK_SIZE_64
+ fi
+ BOOTCYCLE_JVM_ARGS_BIG="$BOOTCYCLE_JVM_ARGS_BIG -Xmx${BOOTCYCLE_MAX_HEAP}M"
+ BOOTCYCLE_JVM_ARGS_BIG="$BOOTCYCLE_JVM_ARGS_BIG -XX:ThreadStackSize=$BOOTCYCLE_STACK_SIZE"
+ AC_MSG_CHECKING([flags for bootcycle boot jdk java command for big workloads])
+ AC_MSG_RESULT([$BOOTCYCLE_JVM_ARGS_BIG])
+ AC_SUBST(BOOTCYCLE_JVM_ARGS_BIG)
+
# By default, the main javac compilations use big
JAVA_FLAGS_JAVAC="$JAVA_FLAGS_BIG"
AC_SUBST(JAVA_FLAGS_JAVAC)
--- a/common/autoconf/bootcycle-spec.gmk.in Fri Jul 01 11:29:55 2016 +0200
+++ b/common/autoconf/bootcycle-spec.gmk.in Wed Jul 05 21:54:06 2017 +0200
@@ -64,5 +64,7 @@
# When building a 32bit target, make sure the sjavac server flags are compatible
# with a 32bit JVM.
ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
- SJAVAC_SERVER_JAVA_FLAGS:= -Xms256M -Xmx1500M
+ SJAVAC_SERVER_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
endif
+# The bootcycle JVM arguments may differ from the original boot jdk.
+JAVA_FLAGS_BIG := @BOOTCYCLE_JVM_ARGS_BIG@
--- a/common/autoconf/build-performance.m4 Fri Jul 01 11:29:55 2016 +0200
+++ b/common/autoconf/build-performance.m4 Wed Jul 05 21:54:06 2017 +0200
@@ -367,6 +367,9 @@
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
AC_MSG_RESULT([no, does not work with Solaris Studio])
USE_PRECOMPILED_HEADER=0
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ AC_MSG_RESULT([no, does not work with xlc])
+ USE_PRECOMPILED_HEADER=0
else
AC_MSG_RESULT([yes])
fi
--- a/common/autoconf/flags.m4 Fri Jul 01 11:29:55 2016 +0200
+++ b/common/autoconf/flags.m4 Wed Jul 05 21:54:06 2017 +0200
@@ -593,9 +593,9 @@
fi
C_O_FLAG_NONE="-O0"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
- C_O_FLAG_HIGHEST_JVM="-O3"
- C_O_FLAG_HIGHEST="-O3"
- C_O_FLAG_HI="-O3 -qstrict"
+ C_O_FLAG_HIGHEST_JVM="-O3 -qhot=level=1 -qinline -qinlglue"
+ C_O_FLAG_HIGHEST="-O3 -qhot=level=1 -qinline -qinlglue"
+ C_O_FLAG_HI="-O3 -qinline -qinlglue"
C_O_FLAG_NORM="-O2"
C_O_FLAG_DEBUG="-qnoopt"
# FIXME: Value below not verified.
@@ -911,8 +911,8 @@
elif test "x$OPENJDK_$1_OS" = xaix; then
$2JVM_CFLAGS="[$]$2JVM_CFLAGS -DAIX"
# We may need '-qminimaltoc' or '-qpic=large -bbigtoc' if the TOC overflows.
- $2JVM_CFLAGS="[$]$2JVM_CFLAGS -qtune=balanced -qhot=level=1 -qinline \
- -qinlglue -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
+ $2JVM_CFLAGS="[$]$2JVM_CFLAGS -qtune=balanced \
+ -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
-qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
elif test "x$OPENJDK_$1_OS" = xbsd; then
$2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE"
--- a/common/autoconf/generated-configure.sh Fri Jul 01 11:29:55 2016 +0200
+++ b/common/autoconf/generated-configure.sh Wed Jul 05 21:54:06 2017 +0200
@@ -644,6 +644,7 @@
JAVA_TOOL_FLAGS_SMALL
JAVA_FLAGS_SMALL
JAVA_FLAGS_JAVAC
+BOOTCYCLE_JVM_ARGS_BIG
JAVA_FLAGS_BIG
JAVA_FLAGS
TEST_JOBS
@@ -5094,7 +5095,7 @@
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1467039751
+DATE_WHEN_GENERATED=1467223237
###############################################################################
#
@@ -49625,9 +49626,9 @@
fi
C_O_FLAG_NONE="-O0"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
- C_O_FLAG_HIGHEST_JVM="-O3"
- C_O_FLAG_HIGHEST="-O3"
- C_O_FLAG_HI="-O3 -qstrict"
+ C_O_FLAG_HIGHEST_JVM="-O3 -qhot=level=1 -qinline -qinlglue"
+ C_O_FLAG_HIGHEST="-O3 -qhot=level=1 -qinline -qinlglue"
+ C_O_FLAG_HI="-O3 -qinline -qinlglue"
C_O_FLAG_NORM="-O2"
C_O_FLAG_DEBUG="-qnoopt"
# FIXME: Value below not verified.
@@ -50634,8 +50635,8 @@
elif test "x$OPENJDK_TARGET_OS" = xaix; then
JVM_CFLAGS="$JVM_CFLAGS -DAIX"
# We may need '-qminimaltoc' or '-qpic=large -bbigtoc' if the TOC overflows.
- JVM_CFLAGS="$JVM_CFLAGS -qtune=balanced -qhot=level=1 -qinline \
- -qinlglue -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
+ JVM_CFLAGS="$JVM_CFLAGS -qtune=balanced \
+ -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
-qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
elif test "x$OPENJDK_TARGET_OS" = xbsd; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE"
@@ -51439,8 +51440,8 @@
elif test "x$OPENJDK_BUILD_OS" = xaix; then
OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS -DAIX"
# We may need '-qminimaltoc' or '-qpic=large -bbigtoc' if the TOC overflows.
- OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS -qtune=balanced -qhot=level=1 -qinline \
- -qinlglue -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
+ OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS -qtune=balanced \
+ -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
-qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
elif test "x$OPENJDK_BUILD_OS" = xbsd; then
OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK="$OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE"
@@ -53468,7 +53469,7 @@
$as_echo "no, forced" >&6; }
BUILD_GTEST="false"
elif test "x$enable_hotspot_gtest" = "x"; then
- if test "x$GTEST_DIR_EXISTS" = "xtrue"; then
+ if test "x$GTEST_DIR_EXISTS" = "xtrue" && test "x$OPENJDK_TARGET_OS" != "xaix"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
BUILD_GTEST="true"
@@ -64612,12 +64613,16 @@
- if test "$OPENJDK_TARGET_OS" = "solaris"; then
+ if test "$OPENJDK_TARGET_OS" = "solaris" && test "x$BUILD_GTEST" = "xtrue"; then
# Find the root of the Solaris Studio installation from the compiler path
SOLARIS_STUDIO_DIR="$(dirname $CC)/.."
STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4$OPENJDK_TARGET_CPU_ISADIR/libstlport.so.1"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libstlport.so.1" >&5
$as_echo_n "checking for libstlport.so.1... " >&6; }
+ if ! test -f "$STLPORT_LIB" && test "x$OPENJDK_TARGET_CPU_ISADIR" = "x/sparcv9"; then
+ # SS12u3 has libstlport under 'stlport4/v9' instead of 'stlport4/sparcv9'
+ STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4/v9/libstlport.so.1"
+ fi
if test -f "$STLPORT_LIB"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, $STLPORT_LIB" >&5
$as_echo "yes, $STLPORT_LIB" >&6; }
@@ -65118,25 +65123,32 @@
JVM_ARG_OK=false
fi
-
- # Maximum amount of heap memory.
- # Maximum stack size.
- JVM_MAX_HEAP=`expr $MEMORY_SIZE / 2`
+ BOOTCYCLE_JVM_ARGS_BIG=-Xms64M
+
+ # Maximum amount of heap memory and stack size.
+ JVM_HEAP_LIMIT_32="1024"
+ # Running a 64 bit JVM allows for and requires a bigger heap
+ JVM_HEAP_LIMIT_64="1600"
+ STACK_SIZE_32=768
+ STACK_SIZE_64=1536
+ JVM_HEAP_LIMIT_GLOBAL=`expr $MEMORY_SIZE / 2`
+ if test "$JVM_HEAP_LIMIT_GLOBAL" -lt "$JVM_HEAP_LIMIT_32"; then
+ JVM_HEAP_LIMIT_32=$JVM_HEAP_LIMIT_GLOBAL
+ fi
+ if test "$JVM_HEAP_LIMIT_GLOBAL" -lt "$JVM_HEAP_LIMIT_64"; then
+ JVM_HEAP_LIMIT_64=$JVM_HEAP_LIMIT_GLOBAL
+ fi
+ if test "$JVM_HEAP_LIMIT_GLOBAL" -lt "512"; then
+ JVM_HEAP_LIMIT_32=512
+ JVM_HEAP_LIMIT_64=512
+ fi
+
if test "x$BOOT_JDK_BITS" = "x32"; then
- if test "$JVM_MAX_HEAP" -gt "1100"; then
- JVM_MAX_HEAP=1100
- elif test "$JVM_MAX_HEAP" -lt "512"; then
- JVM_MAX_HEAP=512
- fi
- STACK_SIZE=768
- else
- # Running a 64 bit JVM allows for and requires a bigger heap
- if test "$JVM_MAX_HEAP" -gt "1600"; then
- JVM_MAX_HEAP=1600
- elif test "$JVM_MAX_HEAP" -lt "512"; then
- JVM_MAX_HEAP=512
- fi
- STACK_SIZE=1536
+ STACK_SIZE=$STACK_SIZE_32
+ JVM_MAX_HEAP=$JVM_HEAP_LIMIT_32
+ else
+ STACK_SIZE=$STACK_SIZE_64
+ JVM_MAX_HEAP=$JVM_HEAP_LIMIT_64
fi
$ECHO "Check if jvm arg is ok: -Xmx${JVM_MAX_HEAP}M" >&5
@@ -65175,6 +65187,21 @@
JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
+ if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
+ BOOTCYCLE_MAX_HEAP=$JVM_HEAP_LIMIT_32
+ BOOTCYCLE_STACK_SIZE=$STACK_SIZE_32
+ else
+ BOOTCYCLE_MAX_HEAP=$JVM_HEAP_LIMIT_64
+ BOOTCYCLE_STACK_SIZE=$STACK_SIZE_64
+ fi
+ BOOTCYCLE_JVM_ARGS_BIG="$BOOTCYCLE_JVM_ARGS_BIG -Xmx${BOOTCYCLE_MAX_HEAP}M"
+ BOOTCYCLE_JVM_ARGS_BIG="$BOOTCYCLE_JVM_ARGS_BIG -XX:ThreadStackSize=$BOOTCYCLE_STACK_SIZE"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for bootcycle boot jdk java command for big workloads" >&5
+$as_echo_n "checking flags for bootcycle boot jdk java command for big workloads... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOTCYCLE_JVM_ARGS_BIG" >&5
+$as_echo "$BOOTCYCLE_JVM_ARGS_BIG" >&6; }
+
+
# By default, the main javac compilations use big
JAVA_FLAGS_JAVAC="$JAVA_FLAGS_BIG"
@@ -66132,6 +66159,10 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, does not work with Solaris Studio" >&5
$as_echo "no, does not work with Solaris Studio" >&6; }
USE_PRECOMPILED_HEADER=0
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, does not work with xlc" >&5
+$as_echo "no, does not work with xlc" >&6; }
+ USE_PRECOMPILED_HEADER=0
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
--- a/common/autoconf/hotspot.m4 Fri Jul 01 11:29:55 2016 +0200
+++ b/common/autoconf/hotspot.m4 Wed Jul 05 21:54:06 2017 +0200
@@ -333,7 +333,7 @@
AC_MSG_RESULT([no, forced])
BUILD_GTEST="false"
elif test "x$enable_hotspot_gtest" = "x"; then
- if test "x$GTEST_DIR_EXISTS" = "xtrue"; then
+ if test "x$GTEST_DIR_EXISTS" = "xtrue" && test "x$OPENJDK_TARGET_OS" != "xaix"; then
AC_MSG_RESULT([yes])
BUILD_GTEST="true"
else
--- a/common/autoconf/libraries.m4 Fri Jul 01 11:29:55 2016 +0200
+++ b/common/autoconf/libraries.m4 Wed Jul 05 21:54:06 2017 +0200
@@ -197,11 +197,15 @@
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_SOLARIS_STLPORT],
[
- if test "$OPENJDK_TARGET_OS" = "solaris"; then
+ if test "$OPENJDK_TARGET_OS" = "solaris" && test "x$BUILD_GTEST" = "xtrue"; then
# Find the root of the Solaris Studio installation from the compiler path
SOLARIS_STUDIO_DIR="$(dirname $CC)/.."
STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4$OPENJDK_TARGET_CPU_ISADIR/libstlport.so.1"
AC_MSG_CHECKING([for libstlport.so.1])
+ if ! test -f "$STLPORT_LIB" && test "x$OPENJDK_TARGET_CPU_ISADIR" = "x/sparcv9"; then
+ # SS12u3 has libstlport under 'stlport4/v9' instead of 'stlport4/sparcv9'
+ STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4/v9/libstlport.so.1"
+ fi
if test -f "$STLPORT_LIB"; then
AC_MSG_RESULT([yes, $STLPORT_LIB])
BASIC_FIXUP_PATH([STLPORT_LIB])
--- a/common/autoconf/spec.gmk.in Fri Jul 01 11:29:55 2016 +0200
+++ b/common/autoconf/spec.gmk.in Wed Jul 05 21:54:06 2017 +0200
@@ -578,7 +578,7 @@
JAVAC_FLAGS?=@JAVAC_FLAGS@
-BUILD_JAVA_FLAGS:=-Xms64M -Xmx1100M
+BUILD_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
# Use ?= as this can be overridden from bootcycle-spec.gmk
--- a/common/bin/compare.sh Fri Jul 01 11:29:55 2016 +0200
+++ b/common/bin/compare.sh Wed Jul 05 21:54:06 2017 +0200
@@ -102,10 +102,13 @@
# Ignore date strings in class files.
# Anonymous lambda classes get randomly assigned counters in their names.
if test "x$SUFFIX" = "xclass"; then
- if [ "$NAME" = "module-info.class" ] || [ "$NAME" = "SystemModules.class" ]
- then
- # The SystemModules.class and module-info.class have several issues
- # with random ordering of elements in HashSets.
+ if [ "$NAME" = "SystemModules.class" ]; then
+ # The SystemModules.class is not comparable. The way it is generated is
+ # too random. It can even be of different size for no apparent reason.
+ TMP=""
+ elif [ "$NAME" = "module-info.class" ]; then
+ # The module-info.class have several issues with random ordering of
+ # elements in HashSets.
MODULES_CLASS_FILTER="$SED \
-e 's/,$//' \
-e 's/;$//' \
@@ -369,6 +372,14 @@
$CAT $OTHER_DIR/$f | eval "$HTML_FILTER" > $OTHER_FILE &
$CAT $THIS_DIR/$f | eval "$HTML_FILTER" > $THIS_FILE &
wait
+ elif [ "$f" = "./lib/classlist" ]; then
+ # The classlist files may have some lines in random order
+ OTHER_FILE=$WORK_DIR/$f.other
+ THIS_FILE=$WORK_DIR/$f.this
+ $MKDIR -p $(dirname $OTHER_FILE) $(dirname $THIS_FILE)
+ $RM $OTHER_FILE $THIS_FILE
+ $CAT $OTHER_DIR/$f | $SORT > $OTHER_FILE
+ $CAT $THIS_DIR/$f | $SORT > $THIS_FILE
else
OTHER_FILE=$OTHER_DIR/$f
THIS_FILE=$THIS_DIR/$f
@@ -651,7 +662,7 @@
OTHER_DIZ_FILE=${OTHER_FILE_BASE}.diz
else
# Some files, jli.dll, appears twice in the image but only one of
- # thme has a diz file next to it.
+ # them has a diz file next to it.
OTHER_DIZ_FILE="$($FIND $OTHER_DIR -name $DIZ_NAME | $SED 1q)"
if [ ! -f "$OTHER_DIZ_FILE" ]; then
# As a last resort, look for diz file in the whole build output
@@ -1335,6 +1346,24 @@
OTHER_JDK="$OTHER/images/jdk"
OTHER_JRE="$OTHER/images/jre"
echo "Selecting jdk images for compare"
+ elif [ -d "$(ls -d $THIS/licensee-src/build/*/images/jdk)" ] \
+ && [ -d "$(ls -d $OTHER/licensee-src/build/*/images/jdk)" ]
+ then
+ echo "Selecting licensee images for compare"
+ # Simply override the THIS and OTHER dir with the build dir from
+ # the nested licensee source build for the rest of the script
+ # execution.
+ OLD_THIS="$THIS"
+ OLD_OTHER="$OTHER"
+ THIS="$(ls -d $THIS/licensee-src/build/*)"
+ OTHER="$(ls -d $OTHER/licensee-src/build/*)"
+ THIS_JDK="$THIS/images/jdk"
+ THIS_JRE="$THIS/images/jre"
+ OTHER_JDK="$OTHER/images/jdk"
+ OTHER_JRE="$OTHER/images/jre"
+ # Rewrite the path to tools that are used from the build
+ JIMAGE="$(echo "$JIMAGE" | $SED "s|$OLD_THIS|$THIS|g")"
+ JAVAP="$(echo "$JAVAP" | $SED "s|$OLD_THIS|$THIS|g")"
else
echo "No common images found."
exit 1
--- a/common/conf/jib-profiles.js Fri Jul 01 11:29:55 2016 +0200
+++ b/common/conf/jib-profiles.js Wed Jul 05 21:54:06 2017 +0200
@@ -254,7 +254,7 @@
build_cpu: "x64",
dependencies: concat(common.dependencies, "devkit"),
configure_args: concat(common.configure_args, common.configure_args_32bit,
- "--with-jvm-variants=minimal,client,server", "--with-zlib=system"),
+ "--with-jvm-variants=minimal,server", "--with-zlib=system"),
default_make_targets: common.default_make_targets
},
@@ -295,8 +295,7 @@
target_cpu: "x86",
build_cpu: "x64",
dependencies: concat(common.dependencies, "devkit", "freetype"),
- configure_args: concat(common.configure_args,
- "--with-jvm-variants=client,server", common.configure_args_32bit),
+ configure_args: concat(common.configure_args, common.configure_args_32bit),
default_make_targets: common.default_make_targets
}
};
--- a/make/CompileJavaModules.gmk Fri Jul 01 11:29:55 2016 +0200
+++ b/make/CompileJavaModules.gmk Wed Jul 05 21:54:06 2017 +0200
@@ -55,10 +55,6 @@
# data files and shouldn't go in the product
java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
-ifeq ($(OPENJDK_TARGET_OS), macosx)
- java.base_EXCLUDE_FILES += sun/nio/fs/GnomeFileTypeDetector.java
-endif
-
ifneq ($(filter solaris macosx linux windows,$(OPENJDK_TARGET_OS)), )
java.base_EXCLUDE_FILES += \
sun/nio/ch/AbstractPollSelectorImpl.java \
--- a/make/Main.gmk Fri Jul 01 11:29:55 2016 +0200
+++ b/make/Main.gmk Wed Jul 05 21:54:06 2017 +0200
@@ -633,7 +633,9 @@
# Jmods cannot be created until we have the jlink tool ready to run, which requires
# all java modules to be compiled and jdk.jlink-launchers.
- $(JMOD_TARGETS): java.base-libs jdk.jlink-launchers
+ # And we also need to copy jvm.cfg (done in java.base-copy) and tzdb.dat (done in
+ # java.base-gendata) to the appropriate location otherwise jimage, jlink and jmod won't start.
+ $(JMOD_TARGETS): java.base-libs java.base-copy java.base-gendata jdk.jlink-launchers
# When creating a BUILDJDK, the java compilation has already been done by the
# normal build and copied in.
ifneq ($(CREATING_BUILDJDK), true)
--- a/make/jprt.properties Fri Jul 01 11:29:55 2016 +0200
+++ b/make/jprt.properties Wed Jul 05 21:54:06 2017 +0200
@@ -75,7 +75,7 @@
jprt.macosx.jdk9.target.attribute.compilerXcode511.appliesTo.builds=none
# Set up the run flavors (jvm variants)
-jprt.run.flavors=c1,c2,default,${my.additional.run.flavors}
+jprt.run.flavors=c2,default,${my.additional.run.flavors}
# Setup jib profiles
jprt.linux_i586.product.build.jib.profile=linux-x86
@@ -208,10 +208,10 @@
my.test.target.set= \
solaris_sparcv9_5.11-product-c2-TESTNAME, \
solaris_x64_5.11-product-c2-TESTNAME, \
- linux_i586_3.8-product-{c1|c2}-TESTNAME, \
+ linux_i586_3.8-product-c2-TESTNAME, \
linux_x64_3.8-product-c2-TESTNAME, \
macosx_x64_10.9-product-c2-TESTNAME, \
- windows_i586_6.3-product-c1-TESTNAME, \
+ windows_i586_6.3-product-c2-TESTNAME, \
windows_x64_6.3-product-c2-TESTNAME
# Default vm test targets (testset=default)
@@ -296,7 +296,7 @@
my.test.target.set.jck= \
solaris_sparcv9_5.11-product-c2-JCK7TESTRULE, \
solaris_x64_5.11-product-c2-JCK7TESTRULE, \
- linux_i586_3.8-product-c1-JCK7TESTRULE, \
+ linux_i586_3.8-product-c2-JCK7TESTRULE, \
linux_x64_3.8-product-c2-JCK7TESTRULE
# JCK testset targets
--- a/test/jtreg-ext/requires/VMProps.java Fri Jul 01 11:29:55 2016 +0200
+++ b/test/jtreg-ext/requires/VMProps.java Wed Jul 05 21:54:06 2017 +0200
@@ -23,6 +23,8 @@
package requires;
import java.io.IOException;
+import java.lang.management.ManagementFactory;
+import java.lang.management.RuntimeMXBean;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
@@ -52,10 +54,30 @@
map.put("vm.flavor", vmFlavor());
map.put("vm.compMode", vmCompMode());
map.put("vm.bits", vmBits());
+ map.put("vm.flightRecorder", vmFlightRecorder());
+ map.put("vm.simpleArch", vmArch());
dump(map);
return map;
}
+
+ /**
+ * @return vm.simpleArch value of "os.simpleArch" property of tested JDK.
+ */
+ protected String vmArch() {
+ String arch = System.getProperty("os.arch");
+ if (arch.equals("x86_64") || arch.equals("amd64")) {
+ return "x64";
+ }
+ else if (arch.contains("86")) {
+ return "x86";
+ } else {
+ return arch;
+ }
+ }
+
+
+
/**
* @return VM type value extracted from the "java.vm.name" property.
*/
@@ -104,6 +126,27 @@
}
/**
+ * @return "true" if Flight Recorder is enabled, "false" if is disabled.
+ */
+ protected String vmFlightRecorder() {
+ RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
+ List<String> arguments = runtimeMxBean.getInputArguments();
+ if (arguments.contains("-XX:+UnlockCommercialFeatures")) {
+ if (arguments.contains("-XX:+FlightRecorder")) {
+ return "true";
+ }
+ if (arguments.contains("-XX:-FlightRecorder")) {
+ return "false";
+ }
+ if (arguments.stream()
+ .anyMatch(option -> option.startsWith("-XX:StartFlightRecording"))) {
+ return "true";
+ }
+ }
+ return "false";
+ }
+
+ /**
* Dumps the map to the file if the file name is given as the property.
* This functionality could be helpful to know context in the real
* execution.
@@ -116,9 +159,9 @@
return;
}
List<String> lines = new ArrayList<>();
- map.forEach((k,v) -> lines.add(k + ":" + v));
+ map.forEach((k, v) -> lines.add(k + ":" + v));
try {
- Files.write(Paths.get(dumpFileName), lines);
+ Files.write(Paths.get(dumpFileName), lines);
} catch (IOException e) {
throw new RuntimeException("Failed to dump properties into '"
+ dumpFileName + "'", e);
@@ -131,6 +174,6 @@
*/
public static void main(String args[]) {
Map<String, String> map = new VMProps().call();
- map.forEach((k,v) -> System.out.println(k + ": '" + v + "'"));
+ map.forEach((k, v) -> System.out.println(k + ": '" + v + "'"));
}
}
--- a/test/lib/sun/hotspot/WhiteBox.java Fri Jul 01 11:29:55 2016 +0200
+++ b/test/lib/sun/hotspot/WhiteBox.java Wed Jul 05 21:54:06 2017 +0200
@@ -376,6 +376,7 @@
public native void freeMetaspace(ClassLoader classLoader, long addr, long size);
public native long incMetaspaceCapacityUntilGC(long increment);
public native long metaspaceCapacityUntilGC();
+ public native boolean metaspaceShouldConcurrentCollect();
// Don't use these methods directly
// Use sun.hotspot.gc.GC class instead.