Merge
authorduke
Wed, 05 Jul 2017 22:20:18 +0200
changeset 41494 ef286bf2d5b0
parent 41493 f31d65424ed0 (current diff)
parent 41469 321fe8bd1e45 (diff)
child 41498 e65fc8dc6568
Merge
--- a/.hgtags-top-repo	Mon Oct 17 20:13:16 2016 +0900
+++ b/.hgtags-top-repo	Wed Jul 05 22:20:18 2017 +0200
@@ -382,3 +382,4 @@
 d7f519b004254b19e384131d9f0d0e40e31a0fd3 jdk-9+137
 67c4388142bdf58aec8fefa4475faaa8a5d7380c jdk-9+138
 7dcf453eacae79ee86a6bcc75fd0b546fc99b48a jdk-9+139
+a5815c6098a241d3a1df64d22b84b3524e4a77df jdk-9+140
--- a/common/autoconf/basics.m4	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/basics.m4	Wed Jul 05 22:20:18 2017 +0200
@@ -428,9 +428,10 @@
 # Call BASIC_SETUP_TOOL with AC_PATH_PROGS to locate the tool
 # $1: variable to set
 # $2: executable name (or list of names) to look for
+# $3: [path]
 AC_DEFUN([BASIC_PATH_PROGS],
 [
-  BASIC_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2)])
+  BASIC_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2, , $3)])
 ])
 
 # Call BASIC_SETUP_TOOL with AC_CHECK_TOOLS to locate the tool
@@ -444,9 +445,10 @@
 # Like BASIC_PATH_PROGS but fails if no tool was found.
 # $1: variable to set
 # $2: executable name (or list of names) to look for
+# $3: [path]
 AC_DEFUN([BASIC_REQUIRE_PROGS],
 [
-  BASIC_PATH_PROGS($1, $2)
+  BASIC_PATH_PROGS($1, $2, , $3)
   BASIC_CHECK_NONEMPTY($1)
 ])
 
@@ -1065,7 +1067,9 @@
   BASIC_PATH_PROGS(HG, hg)
   BASIC_PATH_PROGS(STAT, stat)
   BASIC_PATH_PROGS(TIME, time)
-  BASIC_PATH_PROGS(DTRACE, dtrace)
+  # Dtrace is usually found in /usr/sbin on Solaris, but that directory may not
+  # be in the user path.
+  BASIC_PATH_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
   BASIC_PATH_PROGS(PATCH, [gpatch patch])
   # Check if it's GNU time
   IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
--- a/common/autoconf/basics_windows.m4	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/basics_windows.m4	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/autoconf/boot-jdk.m4	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/boot-jdk.m4	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/autoconf/bootcycle-spec.gmk.in	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/bootcycle-spec.gmk.in	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/autoconf/build-performance.m4	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/build-performance.m4	Wed Jul 05 22:20:18 2017 +0200
@@ -168,7 +168,6 @@
       [AS_HELP_STRING([--enable-ccache],
       [enable using ccache to speed up recompilations @<:@disabled@:>@])])
 
-  CCACHE=
   CCACHE_STATUS=
   AC_MSG_CHECKING([is ccache enabled])
   if test "x$enable_ccache" = xyes; then
--- a/common/autoconf/buildjdk-spec.gmk.in	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/buildjdk-spec.gmk.in	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -156,7 +156,3 @@
 JVM_VARIANT_ZERO := false
 JVM_VARIANT_ZEROSHARK := false
 JVM_VARIANT_CORE := false
-
-# Sneak this in via the spec.gmk file, since we don't want to mess around too much with the Hotspot make files.
-# This is needed to get the LOG setting to work properly.
-include $(SRC_ROOT)/make/common/MakeBase.gmk
--- a/common/autoconf/compare.sh.in	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/compare.sh.in	Wed Jul 05 22:20:18 2017 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/autoconf/generated-configure.sh	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/generated-configure.sh	Wed Jul 05 22:20:18 2017 +0200
@@ -3657,6 +3657,7 @@
 # Call BASIC_SETUP_TOOL with AC_PATH_PROGS to locate the tool
 # $1: variable to set
 # $2: executable name (or list of names) to look for
+# $3: [path]
 
 
 # Call BASIC_SETUP_TOOL with AC_CHECK_TOOLS to locate the tool
@@ -3667,6 +3668,7 @@
 # Like BASIC_PATH_PROGS but fails if no tool was found.
 # $1: variable to set
 # $2: executable name (or list of names) to look for
+# $3: [path]
 
 
 # Like BASIC_SETUP_TOOL but fails if no tool was found.
@@ -3733,7 +3735,7 @@
 
 
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -3792,7 +3794,7 @@
 
 # ... then the rest
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -4403,7 +4405,7 @@
 
 
 #
-# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -4498,7 +4500,7 @@
 
 
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -4818,7 +4820,7 @@
 
 
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -5091,7 +5093,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1475218974
+DATE_WHEN_GENERATED=1476275292
 
 ###############################################################################
 #
@@ -22769,6 +22771,8 @@
   fi
 
 
+  # Dtrace is usually found in /usr/sbin on Solaris, but that directory may not
+  # be in the user path.
 
 
   # Publish this variable in the help.
@@ -22791,7 +22795,8 @@
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+as_dummy="$PATH:/usr/sbin"
+for as_dir in $as_dummy
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
@@ -22849,7 +22854,8 @@
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+as_dummy="$PATH:/usr/sbin"
+for as_dir in $as_dummy
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
@@ -65239,7 +65245,6 @@
 fi
 
 
-  CCACHE=
   CCACHE_STATUS=
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking is ccache enabled" >&5
 $as_echo_n "checking is ccache enabled... " >&6; }
--- a/common/autoconf/jdk-version.m4	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/jdk-version.m4	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/autoconf/lib-bundled.m4	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/lib-bundled.m4	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/autoconf/source-dirs.m4	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/source-dirs.m4	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/autoconf/spec.gmk.in	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/spec.gmk.in	Wed Jul 05 22:20:18 2017 +0200
@@ -175,7 +175,7 @@
 VERSION_STRING := @VERSION_STRING@
 # The short version string, without trailing zeroes and just PRE, if present.
 VERSION_SHORT := @VERSION_SHORT@
-# The Java specification version. It usually equals to the major version number.
+# The Java specification version. It usually equals the major version number.
 VERSION_SPECIFICATION := @VERSION_MAJOR@
 # A GA version is defined by the PRE string being empty. Rather than testing for
 # that, this variable defines it with true/false.
@@ -244,9 +244,6 @@
 # Only build headless support or not
 ENABLE_HEADLESS_ONLY := @ENABLE_HEADLESS_ONLY@
 
-# Legacy support
-USE_NEW_HOTSPOT_BUILD:=@USE_NEW_HOTSPOT_BUILD@
-
 # JDK_OUTPUTDIR specifies where a working jvm is built.
 # You can run $(JDK_OUTPUTDIR)/bin/java
 # Though the layout of the contents of $(JDK_OUTPUTDIR) is not
--- a/common/autoconf/version-numbers	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/autoconf/version-numbers	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/bin/compare_exceptions.sh.incl	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/bin/compare_exceptions.sh.incl	Wed Jul 05 22:20:18 2017 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/bin/hgforest.sh	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/bin/hgforest.sh	Wed Jul 05 22:20:18 2017 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/bin/jib.sh	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/bin/jib.sh	Wed Jul 05 22:20:18 2017 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/common/conf/jib-profiles.js	Mon Oct 17 20:13:16 2016 +0900
+++ b/common/conf/jib-profiles.js	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -287,7 +287,8 @@
             target_os: "solaris",
             target_cpu: "x64",
             dependencies: concat(common.dependencies, "devkit", "cups"),
-            configure_args: concat(common.configure_args, "--with-zlib=system"),
+            configure_args: concat(common.configure_args, "--with-zlib=system",
+                "--enable-dtrace"),
             default_make_targets: common.default_make_targets
         },
 
@@ -295,7 +296,8 @@
             target_os: "solaris",
             target_cpu: "sparcv9",
             dependencies: concat(common.dependencies, "devkit", "cups"),
-            configure_args: concat(common.configure_args, "--with-zlib=system"),
+            configure_args: concat(common.configure_args, "--with-zlib=system",
+                "--enable-dtrace"),
             default_make_targets: common.default_make_targets
         },
 
--- a/hotspot/.hgtags	Mon Oct 17 20:13:16 2016 +0900
+++ b/hotspot/.hgtags	Wed Jul 05 22:20:18 2017 +0200
@@ -542,3 +542,4 @@
 dfcbf839e299e7e2bba1da69bdb347617ea4c7e8 jdk-9+137
 fc0956308c7a586267c5dd35dff74f773aa9c3eb jdk-9+138
 08492e67bf3226784dab3bf9ae967382ddbc1af5 jdk-9+139
+fec31089c2ef5a12dd64f401b0bf2e00f56ee0d0 jdk-9+140
--- a/hotspot/make/lib/CompileGtest.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/hotspot/make/lib/CompileGtest.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -69,7 +69,7 @@
     CFLAGS := $(JVM_CFLAGS) -I$(GTEST_FRAMEWORK_SRC) \
         -I$(GTEST_FRAMEWORK_SRC)/include \
         $(addprefix -I,$(GTEST_TEST_SRC)), \
-    CFLAGS_windows := /EHsc, \
+    CFLAGS_windows := -EHsc, \
     CFLAGS_solaris := -DGTEST_HAS_EXCEPTIONS=0 -library=stlport4, \
     CFLAGS_macosx := -DGTEST_OS_MAC=1, \
     CFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
--- a/hotspot/src/share/vm/runtime/arguments.cpp	Mon Oct 17 20:13:16 2016 +0900
+++ b/hotspot/src/share/vm/runtime/arguments.cpp	Wed Jul 05 22:20:18 2017 +0200
@@ -422,6 +422,8 @@
   { "UseAltSigs",                    JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
   { "SegmentedHeapDumpThreshold",    JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
   { "PrintOopAddress",               JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+  { "PermSize",                      JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::jdk(10) },
+  { "MaxPermSize",                   JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::jdk(10) },
 
 #ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
   { "dep > obs",                    JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() },
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/runtime/CommandLine/PermGenFlagsTest.java	Wed Jul 05 22:20:18 2017 +0200
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.    See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8167446
+ * @summary Commandline options PermSize and MaxPermSize should be recognized but ignored.
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ *          java.management
+ * @run driver PermGenFlagsTest
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import jdk.test.lib.process.ProcessTools;
+
+public class PermGenFlagsTest {
+    public static void main(String[] args) throws Exception {
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:PermSize=22k",
+                                                                  "-version");
+        OutputAnalyzer output = new OutputAnalyzer(pb.start());
+        output.shouldContain("Ignoring option PermSize; support was removed in 8.0");
+        output.shouldHaveExitValue(0);
+
+        pb = ProcessTools.createJavaProcessBuilder("-XX:MaxPermSize=22k",
+                                                   "-version");
+        output = new OutputAnalyzer(pb.start());
+        output.shouldContain("Ignoring option MaxPermSize; support was removed in 8.0");
+        output.shouldHaveExitValue(0);
+    }
+}
--- a/hotspot/test/runtime/modules/IgnoreModulePropertiesTest.java	Mon Oct 17 20:13:16 2016 +0900
+++ b/hotspot/test/runtime/modules/IgnoreModulePropertiesTest.java	Wed Jul 05 22:20:18 2017 +0200
@@ -67,10 +67,11 @@
     }
 
     public static void main(String[] args) throws Exception {
-        testOption("--add-modules", "java.sqlx", "jdk.module.addmods", "java.lang.module.ResolutionException");
+        testOption("--add-modules", "java.sqlx", "jdk.module.addmods.0", "java.lang.module.ResolutionException");
         testOption("--limit-modules", "java.sqlx", "jdk.module.limitmods", "java.lang.module.ResolutionException");
-        testOption("--add-reads", "xyzz=yyzd", "jdk.module.addreads.0", "java.lang.RuntimeException");
-        testOption("--add-exports", "java.base/xyzz=yyzd", "jdk.module.addexports.0", "java.lang.RuntimeException");
+        testOption("--add-reads", "xyzz=yyzd", "jdk.module.addreads.0", "WARNING: Unknown module: xyzz");
+        testOption("--add-exports", "java.base/xyzz=yyzd", "jdk.module.addexports.0",
+                   "WARNING: package xyzz not in java.base");
         testOption("--patch-module", "=d", "jdk.module.patch.0", "IllegalArgumentException");
     }
 }
--- a/make/CopyImportModules.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/CopyImportModules.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -41,14 +41,14 @@
   ifeq ($(OPENJDK_TARGET_OS), windows)
     TO_BIN_FILTER := %$(SHARED_LIBRARY_SUFFIX) %.diz %.pdb %.map
 
-    $(eval $(call SetupCopyFiles,COPY_LIBS_TO_BIN, \
+    $(eval $(call SetupCopyFiles, COPY_LIBS_TO_BIN, \
         SRC := $(LIBS_DIR), \
         DEST := $(JDK_OUTPUTDIR)/bin, \
         FILES := $(filter $(TO_BIN_FILTER), \
             $(call CacheFind, $(LIBS_DIR))) \
     ))
 
-    $(eval $(call SetupCopyFiles,COPY_LIBS_TO_LIB, \
+    $(eval $(call SetupCopyFiles, COPY_LIBS_TO_LIB, \
         SRC := $(LIBS_DIR), \
         DEST := $(JDK_OUTPUTDIR)/lib, \
         FILES := $(filter-out $(TO_BIN_FILTER), \
--- a/make/CreateBuildJdkCopy.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/CreateBuildJdkCopy.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/GensrcModuleInfo.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/GensrcModuleInfo.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/Images.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/Images.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -412,7 +412,7 @@
 ################################################################################
 # /sample dir
 
-$(eval $(call SetupCopyFiles,COPY_SAMPLES, \
+$(eval $(call SetupCopyFiles, COPY_SAMPLES, \
     SRC := $(SUPPORT_OUTPUTDIR)/sample/image, \
     DEST := $(JDK_IMAGE_DIR)/sample, \
     FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/sample/image), \
--- a/make/Init.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/Init.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/InitSupport.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/InitSupport.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/Jprt.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/Jprt.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/JrtfsJar.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/JrtfsJar.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -46,7 +46,7 @@
     jdk/internal/jrtfs \
     #
 
-$(eval $(call SetupJavaCompilation,BUILD_JRTFS, \
+$(eval $(call SetupJavaCompilation, BUILD_JRTFS, \
     SETUP := GENERATE_OLDBYTECODE, \
     SRC := $(JDK_TOPDIR)/src/java.base/share/classes, \
     EXCLUDE_FILES := module-info.java, \
@@ -57,7 +57,7 @@
 # file will not be copied unless META-INF/services would also be added to the INCLUDES.
 # Adding META-INF/services would include all files in that directory when only the one
 # is needed, which is why this explicit copy is defined instead.
-$(eval $(call SetupCopyFiles,COPY_JIMAGE_SERVICE_PROVIDER, \
+$(eval $(call SetupCopyFiles, COPY_JIMAGE_SERVICE_PROVIDER, \
     SRC := $(JDK_TOPDIR)/src/java.base/share/classes, \
     DEST := $(SUPPORT_OUTPUTDIR)/jrtfs_classes, \
     FILES := META-INF/services/java.nio.file.spi.FileSystemProvider))
--- a/make/MacBundles.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/MacBundles.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/Main.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/Main.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -237,7 +237,7 @@
 # Build hotspot target
 
 ifeq ($(BUILD_HOTSPOT),true)
-hotspot:
+  hotspot:
 	+($(CD) $(HOTSPOT_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f BuildHotspot.gmk)
 endif
 
@@ -548,7 +548,7 @@
   # The demos are currently linking to libjvm and libjava, just like all other
   # jdk libs, even though they don't need to. To avoid warnings, make sure they
   # aren't built until after libjava and libjvm are available to link to.
-  demos-jdk: $(JAVA_TARGETS)
+  demos-jdk: java.base-libs exploded-image-optimize
 
   # Declare dependency from <module>-java to <module>-gensrc
   $(foreach m, $(GENSRC_MODULES), $(eval $m-java: $m-gensrc))
@@ -698,7 +698,7 @@
 
   test-make: clean-test-make
 
-  build-test-lib: java
+  build-test-lib: exploded-image-optimize
 
   build-test-failure-handler: interim-langtools
 
--- a/make/common/CORE_PKGS.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/common/CORE_PKGS.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/common/JarArchive.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/common/JarArchive.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -242,7 +242,7 @@
         # potential changes.
 	$$(if $$(filter $$($1_VARDEPS_FILE) $$($1_MANIFEST), $$?), \
 	  $$(if $$($1_MANIFEST), \
-	    $(SED) -e '$(DOLLAR)$(DOLLAR)a\' $$($1_MANIFEST) > $$($1_MANIFEST_FILE) $$(NEWLINE) \
+	    $(CP) $$($1_MANIFEST) $$($1_MANIFEST_FILE) $$(NEWLINE) \
 	  , \
 	    $(RM) $$($1_MANIFEST_FILE) && $(TOUCH) $$($1_MANIFEST_FILE) $$(NEWLINE)) \
 	  $$(if $$($1_JARMAIN), \
--- a/make/common/JavaCompilation.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/common/JavaCompilation.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/common/NON_CORE_PKGS.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/common/NON_CORE_PKGS.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/common/SetupJavaCompilers.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/common/SetupJavaCompilers.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/devkit/Tools.gmk	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/devkit/Tools.gmk	Wed Jul 05 22:20:18 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/make/devkit/createWindowsDevkit.sh	Mon Oct 17 20:13:16 2016 +0900
+++ b/make/devkit/createWindowsDevkit.sh	Wed Jul 05 22:20:18 2017 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it