changeset 44968:ebae7b72f849

Merge
author duke
date Wed, 05 Jul 2017 23:22:30 +0200
parents 9d896ba4a48b a6f5b8fb5f28
children 565578b15393
files jdk/make/CopySamples.gmk jdk/src/demo/share/jvmti/agent_util/README.txt jdk/src/demo/share/jvmti/agent_util/agent_util.c jdk/src/demo/share/jvmti/agent_util/agent_util.h jdk/src/demo/share/jvmti/compiledMethodLoad/README.txt jdk/src/demo/share/jvmti/compiledMethodLoad/compiledMethodLoad.c jdk/src/demo/share/jvmti/compiledMethodLoad/sample.makefile.txt jdk/src/demo/share/jvmti/gctest/README.txt jdk/src/demo/share/jvmti/gctest/gctest.c jdk/src/demo/share/jvmti/gctest/sample.makefile.txt jdk/src/demo/share/jvmti/heapTracker/HeapTracker.java jdk/src/demo/share/jvmti/heapTracker/README.txt jdk/src/demo/share/jvmti/heapTracker/heapTracker.c jdk/src/demo/share/jvmti/heapTracker/heapTracker.h jdk/src/demo/share/jvmti/heapTracker/sample.makefile.txt jdk/src/demo/share/jvmti/heapViewer/README.txt jdk/src/demo/share/jvmti/heapViewer/heapViewer.c jdk/src/demo/share/jvmti/heapViewer/sample.makefile.txt jdk/src/demo/share/jvmti/index.html jdk/src/demo/share/jvmti/java_crw_demo/README.txt jdk/src/demo/share/jvmti/java_crw_demo/java_crw_demo.c jdk/src/demo/share/jvmti/java_crw_demo/java_crw_demo.h jdk/src/demo/share/jvmti/java_crw_demo/sample.makefile.txt jdk/src/demo/share/jvmti/minst/Minst.java jdk/src/demo/share/jvmti/minst/README.txt jdk/src/demo/share/jvmti/minst/minst.c jdk/src/demo/share/jvmti/minst/minst.h jdk/src/demo/share/jvmti/minst/sample.makefile.txt jdk/src/demo/share/jvmti/mtrace/Mtrace.java jdk/src/demo/share/jvmti/mtrace/README.txt jdk/src/demo/share/jvmti/mtrace/mtrace.c jdk/src/demo/share/jvmti/mtrace/mtrace.h jdk/src/demo/share/jvmti/mtrace/sample.makefile.txt jdk/src/demo/share/jvmti/versionCheck/README.txt jdk/src/demo/share/jvmti/versionCheck/sample.makefile.txt jdk/src/demo/share/jvmti/versionCheck/versionCheck.c jdk/src/demo/share/jvmti/waiters/Agent.cpp jdk/src/demo/share/jvmti/waiters/Agent.hpp jdk/src/demo/share/jvmti/waiters/Monitor.cpp jdk/src/demo/share/jvmti/waiters/Monitor.hpp jdk/src/demo/share/jvmti/waiters/README.txt jdk/src/demo/share/jvmti/waiters/Thread.cpp jdk/src/demo/share/jvmti/waiters/Thread.hpp jdk/src/demo/share/jvmti/waiters/sample.makefile.txt jdk/src/demo/share/jvmti/waiters/waiters.cpp jdk/src/demo/share/management/FullThreadDump/Deadlock.java jdk/src/demo/share/management/FullThreadDump/FullThreadDump.java jdk/src/demo/share/management/FullThreadDump/README.txt jdk/src/demo/share/management/FullThreadDump/ThreadMonitor.java jdk/src/demo/share/management/JTop/JTop.java jdk/src/demo/share/management/JTop/JTopPlugin.java jdk/src/demo/share/management/JTop/META-INF/services/com.sun.tools.jconsole.JConsolePlugin jdk/src/demo/share/management/JTop/README.txt jdk/src/demo/share/management/MemoryMonitor/MemoryMonitor.java jdk/src/demo/share/management/MemoryMonitor/README.txt jdk/src/demo/share/management/VerboseGC/PrintGCStat.java jdk/src/demo/share/management/VerboseGC/README.txt jdk/src/demo/share/management/VerboseGC/VerboseGC.java jdk/src/demo/share/management/index.html jdk/src/demo/share/scripting/jconsole-plugin/README.txt jdk/src/demo/share/scripting/jconsole-plugin/build.xml jdk/src/demo/share/scripting/jconsole-plugin/src/META-INF/services/com.sun.tools.jconsole.JConsolePlugin jdk/src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/EditableAtEndDocument.java jdk/src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptJConsolePlugin.java jdk/src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java jdk/src/demo/share/scripting/jconsole-plugin/src/resources/jconsole.js jdk/src/demo/share/scripting/jconsole-plugin/src/scripts/heapdump.js jdk/src/demo/share/scripting/jconsole-plugin/src/scripts/hello.js jdk/src/demo/share/scripting/jconsole-plugin/src/scripts/invoke.js jdk/src/demo/share/scripting/jconsole-plugin/src/scripts/jstack.js jdk/src/demo/share/scripting/jconsole-plugin/src/scripts/jtop.js jdk/src/demo/share/scripting/jconsole-plugin/src/scripts/sysprops.js jdk/src/demo/share/scripting/jconsole-plugin/src/scripts/verbose.js jdk/src/demo/solaris/jni/Poller/Client.java jdk/src/demo/solaris/jni/Poller/LinkedQueue.java jdk/src/demo/solaris/jni/Poller/Poller.c jdk/src/demo/solaris/jni/Poller/Poller.java jdk/src/demo/solaris/jni/Poller/PollingServer.java jdk/src/demo/solaris/jni/Poller/README.txt jdk/src/demo/solaris/jni/Poller/SimpleServer.java jdk/src/java.management/share/classes/mgmt-overview.html jdk/src/java.security.jgss/share/classes/jgss-overview.html jdk/src/jdk.jdi/share/classes/jdi-overview.html jdk/src/jdk.security.auth/share/classes/jaas-overview.html jdk/src/sample/share/README jdk/src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Device.java jdk/src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Kettle.xml jdk/src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Module.java jdk/src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/PluginChecker.java jdk/src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Require.java jdk/src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/RequireContainer.java jdk/src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/BoilerPlugin.java jdk/src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/ExtendedBoilerPlugin.java jdk/src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/TimerPlugin.java jdk/src/sample/share/annotations/Validator/src/PositiveIntegerSupplier.java jdk/src/sample/share/annotations/Validator/src/SupplierValidator.java jdk/src/sample/share/annotations/Validator/src/Validate.java jdk/src/sample/share/annotations/Validator/src/Validator.java jdk/src/sample/share/annotations/index.html jdk/src/sample/share/forkjoin/mergesort/MergeDemo.java jdk/src/sample/share/forkjoin/mergesort/MergeSort.java jdk/src/sample/share/jmx/jmx-scandir/build.properties jdk/src/sample/share/jmx/jmx-scandir/build.xml jdk/src/sample/share/jmx/jmx-scandir/index.html jdk/src/sample/share/jmx/jmx-scandir/logging.properties jdk/src/sample/share/jmx/jmx-scandir/manifest.mf jdk/src/sample/share/jmx/jmx-scandir/nbproject/file-targets.xml jdk/src/sample/share/jmx/jmx-scandir/nbproject/jdk.xml jdk/src/sample/share/jmx/jmx-scandir/nbproject/netbeans-targets.xml jdk/src/sample/share/jmx/jmx-scandir/nbproject/project.xml jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScanner.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManagerMXBean.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirAgent.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirClient.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfig.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfigMXBean.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManager.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManagerMXBean.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/FileMatch.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultLogConfig.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultRecord.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ScanManagerConfig.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/XmlConfigUtils.java jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/package.html jdk/src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/package.html jdk/src/sample/share/jmx/jmx-scandir/src/etc/access.properties jdk/src/sample/share/jmx/jmx-scandir/src/etc/management.properties jdk/src/sample/share/jmx/jmx-scandir/src/etc/password.properties jdk/src/sample/share/jmx/jmx-scandir/src/etc/testconfig.xml jdk/src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/DirectoryScannerTest.java jdk/src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanDirConfigTest.java jdk/src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java jdk/src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/TestUtils.java jdk/src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/config/XmlConfigUtilsTest.java jdk/src/sample/share/lambda/BulkDataOperations/index.html jdk/src/sample/share/lambda/BulkDataOperations/src/CSVProcessor.java jdk/src/sample/share/lambda/BulkDataOperations/src/Grep.java jdk/src/sample/share/lambda/BulkDataOperations/src/PasswordGenerator.java jdk/src/sample/share/lambda/BulkDataOperations/src/WC.java jdk/src/sample/share/lambda/DefaultMethods/ArrayIterator.java jdk/src/sample/share/lambda/DefaultMethods/DiamondInheritance.java jdk/src/sample/share/lambda/DefaultMethods/Inheritance.java jdk/src/sample/share/lambda/DefaultMethods/MixIn.java jdk/src/sample/share/lambda/DefaultMethods/Reflection.java jdk/src/sample/share/lambda/DefaultMethods/SimplestUsage.java jdk/src/sample/share/nbproject/project.xml jdk/src/sample/share/nio/chatserver/ChatServer.java jdk/src/sample/share/nio/chatserver/Client.java jdk/src/sample/share/nio/chatserver/ClientReader.java jdk/src/sample/share/nio/chatserver/DataReader.java jdk/src/sample/share/nio/chatserver/MessageReader.java jdk/src/sample/share/nio/chatserver/NameReader.java jdk/src/sample/share/nio/chatserver/README.txt jdk/src/sample/share/nio/file/AclEdit.java jdk/src/sample/share/nio/file/Chmod.java jdk/src/sample/share/nio/file/Copy.java jdk/src/sample/share/nio/file/DiskUsage.java jdk/src/sample/share/nio/file/FileType.java jdk/src/sample/share/nio/file/WatchDir.java jdk/src/sample/share/nio/file/Xdd.java jdk/src/sample/share/nio/multicast/MulticastAddress.java jdk/src/sample/share/nio/multicast/Reader.java jdk/src/sample/share/nio/multicast/Sender.java jdk/src/sample/share/nio/server/AcceptHandler.java jdk/src/sample/share/nio/server/Acceptor.java jdk/src/sample/share/nio/server/B1.java jdk/src/sample/share/nio/server/BN.java jdk/src/sample/share/nio/server/BP.java jdk/src/sample/share/nio/server/ChannelIO.java jdk/src/sample/share/nio/server/ChannelIOSecure.java jdk/src/sample/share/nio/server/Content.java jdk/src/sample/share/nio/server/Dispatcher.java jdk/src/sample/share/nio/server/Dispatcher1.java jdk/src/sample/share/nio/server/DispatcherN.java jdk/src/sample/share/nio/server/FileContent.java jdk/src/sample/share/nio/server/Handler.java jdk/src/sample/share/nio/server/MalformedRequestException.java jdk/src/sample/share/nio/server/N1.java jdk/src/sample/share/nio/server/N2.java jdk/src/sample/share/nio/server/README.txt jdk/src/sample/share/nio/server/Reply.java jdk/src/sample/share/nio/server/Request.java jdk/src/sample/share/nio/server/RequestHandler.java jdk/src/sample/share/nio/server/RequestServicer.java jdk/src/sample/share/nio/server/Sendable.java jdk/src/sample/share/nio/server/Server.java jdk/src/sample/share/nio/server/StringContent.java jdk/src/sample/share/nio/server/URLDumper.java jdk/src/sample/share/scripting/scriptpad/README.txt jdk/src/sample/share/scripting/scriptpad/build.properties jdk/src/sample/share/scripting/scriptpad/build.xml jdk/src/sample/share/scripting/scriptpad/nbproject/file-targets.xml jdk/src/sample/share/scripting/scriptpad/nbproject/jdk.xml jdk/src/sample/share/scripting/scriptpad/nbproject/netbeans-targets.xml jdk/src/sample/share/scripting/scriptpad/nbproject/project.xml jdk/src/sample/share/scripting/scriptpad/src/META-INF/manifest.mf jdk/src/sample/share/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java jdk/src/sample/share/scripting/scriptpad/src/resources/Main.js jdk/src/sample/share/scripting/scriptpad/src/resources/conc.js jdk/src/sample/share/scripting/scriptpad/src/resources/gui.js jdk/src/sample/share/scripting/scriptpad/src/resources/mm.js jdk/src/sample/share/scripting/scriptpad/src/resources/scriptpad.js jdk/src/sample/share/scripting/scriptpad/src/scripts/README.txt jdk/src/sample/share/scripting/scriptpad/src/scripts/browse.js jdk/src/sample/share/scripting/scriptpad/src/scripts/insertfile.js jdk/src/sample/share/scripting/scriptpad/src/scripts/linewrap.js jdk/src/sample/share/scripting/scriptpad/src/scripts/mail.js jdk/src/sample/share/scripting/scriptpad/src/scripts/memmonitor.js jdk/src/sample/share/scripting/scriptpad/src/scripts/memory.bat jdk/src/sample/share/scripting/scriptpad/src/scripts/memory.js jdk/src/sample/share/scripting/scriptpad/src/scripts/memory.sh jdk/src/sample/share/scripting/scriptpad/src/scripts/textcolor.js jdk/src/sample/share/try-with-resources/index.html jdk/src/sample/share/try-with-resources/src/CustomAutoCloseableSample.java jdk/src/sample/share/try-with-resources/src/Unzip.java jdk/src/sample/share/try-with-resources/src/ZipCat.java jdk/src/sample/share/vm/clr-jvm/Makefile jdk/src/sample/share/vm/clr-jvm/README.txt jdk/src/sample/share/vm/clr-jvm/invoked.java jdk/src/sample/share/vm/clr-jvm/invoker.cs jdk/src/sample/share/vm/clr-jvm/jinvoker.cpp jdk/src/sample/share/vm/clr-jvm/jinvokerExp.h jdk/src/sample/share/vm/jvm-clr/Makefile jdk/src/sample/share/vm/jvm-clr/README.txt jdk/src/sample/share/vm/jvm-clr/invoked.cs jdk/src/sample/share/vm/jvm-clr/invoker.cpp jdk/src/sample/share/vm/jvm-clr/invoker.h jdk/src/sample/share/vm/jvm-clr/invoker.java jdk/src/sample/share/vm/jvm-clr/invokerExp.h jdk/src/sample/solaris/dtrace/README.txt jdk/src/sample/solaris/dtrace/helpers/dtrace_helper.d jdk/src/sample/solaris/dtrace/hotspot/README.txt jdk/src/sample/solaris/dtrace/hotspot/class_loading_stat.d jdk/src/sample/solaris/dtrace/hotspot/gc_time_stat.d jdk/src/sample/solaris/dtrace/hotspot/hotspot_calls_tree.d jdk/src/sample/solaris/dtrace/hotspot/method_compile_stat.d jdk/src/sample/solaris/dtrace/hotspot/method_invocation_stat.d jdk/src/sample/solaris/dtrace/hotspot/method_invocation_stat_filter.d jdk/src/sample/solaris/dtrace/hotspot/method_invocation_tree.d jdk/src/sample/solaris/dtrace/hotspot/monitors.d jdk/src/sample/solaris/dtrace/hotspot/object_allocation_stat.d jdk/src/sample/solaris/dtrace/hotspot_jni/CriticalSection.d jdk/src/sample/solaris/dtrace/hotspot_jni/CriticalSection_slow.d jdk/src/sample/solaris/dtrace/hotspot_jni/README.txt jdk/src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_stat.d jdk/src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_tree.d jdk/test/demo/jvmti/Context.java jdk/test/demo/jvmti/DemoRun.java jdk/test/demo/jvmti/HeapUser.java jdk/test/demo/jvmti/Hello.java jdk/test/demo/jvmti/compiledMethodLoad/CompiledMethodLoadTest.java jdk/test/demo/jvmti/gctest/BigHello.java jdk/test/demo/jvmti/gctest/Gctest.java jdk/test/demo/jvmti/heapTracker/HeapTrackerTest.java jdk/test/demo/jvmti/heapViewer/HeapViewerTest.java jdk/test/demo/jvmti/minst/MinstExample.java jdk/test/demo/jvmti/minst/MinstTest.java jdk/test/demo/jvmti/versionCheck/FailsWhenJvmtiVersionDiffers.java jdk/test/demo/jvmti/waiters/WaitersTest.java jdk/test/java/time/TEST.properties jdk/test/java/util/BitSet/BitSetStreamTest.java jdk/test/jdk/asm/AsmSanity.java
diffstat 2014 files changed, 26799 insertions(+), 73574 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags-top-repo	Fri May 05 04:48:05 2017 +0000
+++ b/.hgtags-top-repo	Wed Jul 05 23:22:30 2017 +0200
@@ -400,6 +400,7 @@
 8d26916eaa21b689835ffc1c0dbf12470aa9be61 jdk-9+154
 688a3863c00ebc089ab17ee1fc46272cbbd96815 jdk-9+155
 783ec7542cf7154e5d2b87f55bb97d28f81e9ada jdk-9+156
+4df5f619c9ead4604d2f97ed231b3a35ec688c41 jdk-10+1
 4eb77fb98952dc477a4229575c81d2263a9ce711 jdk-9+157
 a4087bc10a88a43ea3ad0919b5b4af1c86977221 jdk-9+158
 fe8466adaef8178dba94be53c789a0aaa87d13bb jdk-9+159
@@ -410,3 +411,10 @@
 7810f75d016a52e32295c4233009de5ca90e31af jdk-9+164
 aff4f339acd40942d3dab499846b52acd87b3af1 jdk-9+165
 ba5b16c9c6d80632b61959a33d424b1c3398ce62 jdk-9+166
+35017c286513ddcbcc6b63b99679c604993fc639 jdk-9+167
+143d4c87bc1ef1ed6dadd613cd9dd4488fdefc29 jdk-9+168
+9c7248b787c39b034d4f48d4aa48df903836cca7 jdk-10+2
+06373236a30801f72e2a31ee5c691c2a1e500f57 jdk-10+3
+8ec175c61fc3f58328a3324f07d7ded00e060be3 jdk-10+4
+111e2e7d00f45c983cdbc9c59ae40552152fcc23 jdk-10+5
+03fe61bb7670644cf6e46b5cfafb6b27c0e0157e jdk-10+6
\ No newline at end of file
--- a/common/autoconf/basics.m4	Fri May 05 04:48:05 2017 +0000
+++ b/common/autoconf/basics.m4	Wed Jul 05 23:22:30 2017 +0200
@@ -1095,6 +1095,7 @@
     OTOOL="true"
   fi
   BASIC_PATH_PROGS(READELF, [greadelf readelf])
+  BASIC_PATH_PROGS(DOT, dot)
   BASIC_PATH_PROGS(HG, hg)
   BASIC_PATH_PROGS(STAT, stat)
   BASIC_PATH_PROGS(TIME, time)
--- a/common/autoconf/generated-configure.sh	Fri May 05 04:48:05 2017 +0000
+++ b/common/autoconf/generated-configure.sh	Wed Jul 05 23:22:30 2017 +0200
@@ -918,6 +918,7 @@
 INCLUDE_SA
 UNLIMITED_CRYPTO
 CACERTS_FILE
+ENABLE_FULL_DOCS
 ENABLE_HEADLESS_ONLY
 DEFAULT_MAKE_TARGET
 OS_VERSION_MICRO
@@ -936,6 +937,7 @@
 TIME
 STAT
 HG
+DOT
 READELF
 OTOOL
 LDD
@@ -994,9 +996,8 @@
 OPENJDK_TARGET_CPU_ISADIR
 OPENJDK_TARGET_CPU_LEGACY_LIB
 OPENJDK_TARGET_CPU_LEGACY
-REQUIRED_OS_VERSION
-REQUIRED_OS_ARCH
-REQUIRED_OS_NAME
+OPENJDK_MODULE_TARGET_OS_ARCH
+OPENJDK_MODULE_TARGET_OS_NAME
 COMPILE_TYPE
 OPENJDK_TARGET_CPU_ENDIAN
 OPENJDK_TARGET_CPU_BITS
@@ -1139,6 +1140,7 @@
 with_output_sync
 with_default_make_target
 enable_headless_only
+enable_full_docs
 with_cacerts_file
 enable_unlimited_crypto
 with_copyright_year
@@ -1291,6 +1293,7 @@
 LDD
 OTOOL
 READELF
+DOT
 HG
 STAT
 TIME
@@ -1972,6 +1975,8 @@
   --enable-debug          set the debug level to fastdebug (shorthand for
                           --with-debug-level=fastdebug) [disabled]
   --enable-headless-only  only build headless (no GUI) support [disabled]
+  --enable-full-docs      build complete documentation [enabled if all tools
+                          found]
   --disable-unlimited-crypto
                           Disable unlimited crypto policy [enabled]
   --disable-keep-packaged-modules
@@ -2256,6 +2261,7 @@
   LDD         Override default value for LDD
   OTOOL       Override default value for OTOOL
   READELF     Override default value for READELF
+  DOT         Override default value for DOT
   HG          Override default value for HG
   STAT        Override default value for STAT
   TIME        Override default value for TIME
@@ -5177,7 +5183,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1490900744
+DATE_WHEN_GENERATED=1492975963
 
 ###############################################################################
 #
@@ -16025,32 +16031,17 @@
 $as_echo "$COMPILE_TYPE" >&6; }
 
 
-  if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
-    REQUIRED_OS_NAME=SunOS
-    REQUIRED_OS_VERSION=5.10
-  fi
-  if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
-    REQUIRED_OS_NAME=Linux
-    REQUIRED_OS_VERSION=2.6
-  fi
-  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-    REQUIRED_OS_NAME=Windows
-    if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
-      REQUIRED_OS_VERSION=5.2
-    else
-      REQUIRED_OS_VERSION=5.1
-    fi
-  fi
-  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-    REQUIRED_OS_NAME="Mac OS X"
-    REQUIRED_OS_VERSION=11.2
-  fi
-  if test "x$OPENJDK_TARGET_OS" = "xaix"; then
-    REQUIRED_OS_NAME=AIX
-    REQUIRED_OS_VERSION=7.1
-  fi
-  REQUIRED_OS_ARCH=${OPENJDK_TARGET_CPU}
-
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+    OPENJDK_MODULE_TARGET_OS_NAME="macos"
+  else
+    OPENJDK_MODULE_TARGET_OS_NAME="$OPENJDK_TARGET_OS"
+  fi
+
+  if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    OPENJDK_MODULE_TARGET_OS_ARCH="amd64"
+  else
+    OPENJDK_MODULE_TARGET_OS_ARCH="$OPENJDK_TARGET_CPU"
+  fi
 
 
 
@@ -22476,6 +22467,203 @@
   # Publish this variable in the help.
 
 
+  if [ -z "${DOT+x}" ]; then
+    # The variable is not set by user, try to locate tool using the code snippet
+    for ac_prog in dot
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_DOT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $DOT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_DOT="$DOT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_DOT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+DOT=$ac_cv_path_DOT
+if test -n "$DOT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
+$as_echo "$DOT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$DOT" && break
+done
+
+  else
+    # The variable is set, but is it from the command line or the environment?
+
+    # Try to remove the string !DOT! from our list.
+    try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!DOT!/}
+    if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+      # If it failed, the variable was not from the command line. Ignore it,
+      # but warn the user (except for BASH, which is always set by the calling BASH).
+      if test "xDOT" != xBASH; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of DOT from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of DOT from the environment. Use command line variables instead." >&2;}
+      fi
+      # Try to locate tool using the code snippet
+      for ac_prog in dot
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_DOT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $DOT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_DOT="$DOT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_DOT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+DOT=$ac_cv_path_DOT
+if test -n "$DOT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
+$as_echo "$DOT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$DOT" && break
+done
+
+    else
+      # If it succeeded, then it was overridden by the user. We will use it
+      # for the tool.
+
+      # First remove it from the list of overridden variables, so we can test
+      # for unknown variables in the end.
+      CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+      # Check if we try to supply an empty value
+      if test "x$DOT" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool DOT= (no value)" >&5
+$as_echo "$as_me: Setting user supplied tool DOT= (no value)" >&6;}
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DOT" >&5
+$as_echo_n "checking for DOT... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+      else
+        # Check if the provided tool contains a complete path.
+        tool_specified="$DOT"
+        tool_basename="${tool_specified##*/}"
+        if test "x$tool_basename" = "x$tool_specified"; then
+          # A command without a complete path is provided, search $PATH.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool DOT=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool DOT=$tool_basename" >&6;}
+          # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_DOT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $DOT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_DOT="$DOT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_DOT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+DOT=$ac_cv_path_DOT
+if test -n "$DOT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
+$as_echo "$DOT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+          if test "x$DOT" = x; then
+            as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+          fi
+        else
+          # Otherwise we believe it is a complete path. Use it as it is.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool DOT=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool DOT=$tool_specified" >&6;}
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DOT" >&5
+$as_echo_n "checking for DOT... " >&6; }
+          if test ! -x "$tool_specified"; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+            as_fn_error $? "User supplied tool DOT=$tool_specified does not exist or is not executable" "$LINENO" 5
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+        fi
+      fi
+    fi
+
+  fi
+
+
+
+
+  # Publish this variable in the help.
+
+
   if [ -z "${HG+x}" ]; then
     # The variable is not set by user, try to locate tool using the code snippet
     for ac_prog in hg
@@ -24723,6 +24911,101 @@
 
 
 
+  # Should we build the complete docs, or just a lightweight version?
+  # Check whether --enable-full-docs was given.
+if test "${enable_full_docs+set}" = set; then :
+  enableval=$enable_full_docs;
+fi
+
+
+  # Verify dependencies
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for graphviz dot" >&5
+$as_echo_n "checking for graphviz dot... " >&6; }
+  if test "x$DOT" != "x"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, cannot generate full docs" >&5
+$as_echo "no, cannot generate full docs" >&6; }
+    FULL_DOCS_DEP_MISSING=true
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pandoc" >&5
+$as_echo_n "checking for pandoc... " >&6; }
+  if test "x$PANDOC" != "x"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, cannot generate full docs" >&5
+$as_echo "no, cannot generate full docs" >&6; }
+    FULL_DOCS_DEP_MISSING=true
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking full docs" >&5
+$as_echo_n "checking full docs... " >&6; }
+  if test "x$enable_full_docs" = xyes; then
+    if test "x$FULL_DOCS_DEP_MISSING" = "xtrue"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, missing dependencies" >&5
+$as_echo "no, missing dependencies" >&6; }
+
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # dot is the help tag: freetype, cups, alsa etc
+  MISSING_DEPENDENCY=dot
+
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    cygwin_help $MISSING_DEPENDENCY
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    msys_help $MISSING_DEPENDENCY
+  else
+    PKGHANDLER_COMMAND=
+
+    case $PKGHANDLER in
+      apt-get)
+        apt_help     $MISSING_DEPENDENCY ;;
+      yum)
+        yum_help     $MISSING_DEPENDENCY ;;
+      brew)
+        brew_help    $MISSING_DEPENDENCY ;;
+      port)
+        port_help    $MISSING_DEPENDENCY ;;
+      pkgutil)
+        pkgutil_help $MISSING_DEPENDENCY ;;
+      pkgadd)
+        pkgadd_help  $MISSING_DEPENDENCY ;;
+    esac
+
+    if test "x$PKGHANDLER_COMMAND" != x; then
+      HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+    fi
+  fi
+
+      as_fn_error $? "Cannot enable full docs with missing dependencies. See above. $HELP_MSG" "$LINENO" 5
+    else
+      ENABLE_FULL_DOCS=true
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, forced" >&5
+$as_echo "yes, forced" >&6; }
+    fi
+  elif test "x$enable_full_docs" = xno; then
+    ENABLE_FULL_DOCS=false
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, forced" >&5
+$as_echo "no, forced" >&6; }
+  elif test "x$enable_full_docs" = x; then
+    # Check for prerequisites
+    if test "x$FULL_DOCS_DEP_MISSING" = xtrue; then
+      ENABLE_FULL_DOCS=false
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, missing dependencies" >&5
+$as_echo "no, missing dependencies" >&6; }
+    else
+      ENABLE_FULL_DOCS=true
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, dependencies present" >&5
+$as_echo "yes, dependencies present" >&6; }
+    fi
+  else
+    as_fn_error $? "--enable-full-docs can only take yes or no" "$LINENO" 5
+  fi
+
+
+
   # Choose cacerts source file
 
 # Check whether --with-cacerts-file was given.
--- a/common/autoconf/jdk-options.m4	Fri May 05 04:48:05 2017 +0000
+++ b/common/autoconf/jdk-options.m4	Wed Jul 05 23:22:30 2017 +0200
@@ -154,6 +154,55 @@
 
   AC_SUBST(ENABLE_HEADLESS_ONLY)
 
+  # Should we build the complete docs, or just a lightweight version?
+  AC_ARG_ENABLE([full-docs], [AS_HELP_STRING([--enable-full-docs],
+      [build complete documentation @<:@enabled if all tools found@:>@])])
+
+  # Verify dependencies
+  AC_MSG_CHECKING([for graphviz dot])
+  if test "x$DOT" != "x"; then
+    AC_MSG_RESULT([yes])
+  else
+    AC_MSG_RESULT([no, cannot generate full docs])
+    FULL_DOCS_DEP_MISSING=true
+  fi
+
+  AC_MSG_CHECKING([for pandoc])
+  if test "x$PANDOC" != "x"; then
+    AC_MSG_RESULT([yes])
+  else
+    AC_MSG_RESULT([no, cannot generate full docs])
+    FULL_DOCS_DEP_MISSING=true
+  fi
+
+  AC_MSG_CHECKING([full docs])
+  if test "x$enable_full_docs" = xyes; then
+    if test "x$FULL_DOCS_DEP_MISSING" = "xtrue"; then
+      AC_MSG_RESULT([no, missing dependencies])
+      HELP_MSG_MISSING_DEPENDENCY([dot])
+      AC_MSG_ERROR([Cannot enable full docs with missing dependencies. See above. $HELP_MSG])
+    else
+      ENABLE_FULL_DOCS=true
+      AC_MSG_RESULT([yes, forced])
+    fi
+  elif test "x$enable_full_docs" = xno; then
+    ENABLE_FULL_DOCS=false
+    AC_MSG_RESULT([no, forced])
+  elif test "x$enable_full_docs" = x; then
+    # Check for prerequisites
+    if test "x$FULL_DOCS_DEP_MISSING" = xtrue; then
+      ENABLE_FULL_DOCS=false
+      AC_MSG_RESULT([no, missing dependencies])
+    else
+      ENABLE_FULL_DOCS=true
+      AC_MSG_RESULT([yes, dependencies present])
+    fi
+  else
+    AC_MSG_ERROR([--enable-full-docs can only take yes or no])
+  fi
+
+  AC_SUBST(ENABLE_FULL_DOCS)
+
   # Choose cacerts source file
   AC_ARG_WITH(cacerts-file, [AS_HELP_STRING([--with-cacerts-file],
       [specify alternative cacerts file])])
--- a/common/autoconf/platform.m4	Fri May 05 04:48:05 2017 +0000
+++ b/common/autoconf/platform.m4	Wed Jul 05 23:22:30 2017 +0200
@@ -433,37 +433,22 @@
 
 ])
 
-AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
+AC_DEFUN([PLATFORM_SET_MODULE_TARGET_OS_VALUES],
 [
-  if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
-    REQUIRED_OS_NAME=SunOS
-    REQUIRED_OS_VERSION=5.10
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+    OPENJDK_MODULE_TARGET_OS_NAME="macos"
+  else
+    OPENJDK_MODULE_TARGET_OS_NAME="$OPENJDK_TARGET_OS"
   fi
-  if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
-    REQUIRED_OS_NAME=Linux
-    REQUIRED_OS_VERSION=2.6
+
+  if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    OPENJDK_MODULE_TARGET_OS_ARCH="amd64"
+  else
+    OPENJDK_MODULE_TARGET_OS_ARCH="$OPENJDK_TARGET_CPU"
   fi
-  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-    REQUIRED_OS_NAME=Windows
-    if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
-      REQUIRED_OS_VERSION=5.2
-    else
-      REQUIRED_OS_VERSION=5.1
-    fi
-  fi
-  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-    REQUIRED_OS_NAME="Mac OS X"
-    REQUIRED_OS_VERSION=11.2
-  fi
-  if test "x$OPENJDK_TARGET_OS" = "xaix"; then
-    REQUIRED_OS_NAME=AIX
-    REQUIRED_OS_VERSION=7.1
-  fi
-  REQUIRED_OS_ARCH=${OPENJDK_TARGET_CPU}
 
-  AC_SUBST(REQUIRED_OS_NAME)
-  AC_SUBST(REQUIRED_OS_ARCH)
-  AC_SUBST(REQUIRED_OS_VERSION)
+  AC_SUBST(OPENJDK_MODULE_TARGET_OS_NAME)
+  AC_SUBST(OPENJDK_MODULE_TARGET_OS_ARCH)
 ])
 
 #%%% Build and target systems %%%
@@ -480,7 +465,7 @@
 
   PLATFORM_EXTRACT_TARGET_AND_BUILD
   PLATFORM_SETUP_TARGET_CPU_BITS
-  PLATFORM_SET_RELEASE_FILE_OS_VALUES
+  PLATFORM_SET_MODULE_TARGET_OS_VALUES
   PLATFORM_SETUP_LEGACY_VARS
 ])
 
--- a/common/autoconf/spec.gmk.in	Fri May 05 04:48:05 2017 +0000
+++ b/common/autoconf/spec.gmk.in	Wed Jul 05 23:22:30 2017 +0200
@@ -101,10 +101,9 @@
 OPENJDK_BUILD_CPU_BITS:=@OPENJDK_BUILD_CPU_BITS@
 OPENJDK_BUILD_CPU_ENDIAN:=@OPENJDK_BUILD_CPU_ENDIAN@
 
-# OS values for use in release file.
-REQUIRED_OS_NAME:=@REQUIRED_OS_NAME@
-REQUIRED_OS_ARCH:=@REQUIRED_OS_ARCH@
-REQUIRED_OS_VERSION:=@REQUIRED_OS_VERSION@
+# OS values for use in ModuleTarget class file attribute.
+OPENJDK_MODULE_TARGET_OS_NAME:=@OPENJDK_MODULE_TARGET_OS_NAME@
+OPENJDK_MODULE_TARGET_OS_ARCH:=@OPENJDK_MODULE_TARGET_OS_ARCH@
 
 LIBM:=@LIBM@
 LIBDL:=@LIBDL@
@@ -245,6 +244,8 @@
 # Only build headless support or not
 ENABLE_HEADLESS_ONLY := @ENABLE_HEADLESS_ONLY@
 
+ENABLE_FULL_DOCS := @ENABLE_FULL_DOCS@
+
 # 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
@@ -679,6 +680,7 @@
 READELF:=@READELF@
 EXPR:=@EXPR@
 FILE:=@FILE@
+DOT:=@DOT@
 HG:=@HG@
 OBJCOPY:=@OBJCOPY@
 SETFILE:=@SETFILE@
@@ -842,11 +844,6 @@
     jre-$(VERSION_SHORT)+$(VERSION_BUILD)-compact3_$(OPENJDK_TARGET_BUNDLE_PLATFORM)_bin$(DEBUG_PART).tar.gz
 JDK_SYMBOLS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
 JRE_SYMBOLS_BUNDLE_NAME := jre-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
-ifeq ($(OPENJDK_TARGET_OS), windows)
-  DEMOS_BUNDLE_NAME := jdk-$(BASE_NAME)_demo$(DEBUG_PART).zip
-else
-  DEMOS_BUNDLE_NAME := jdk-$(BASE_NAME)_demo$(DEBUG_PART).tar.gz
-endif
 TEST_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests$(DEBUG_PART).tar.gz
 DOCS_BUNDLE_NAME := jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
 
@@ -854,7 +851,6 @@
 JRE_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(JRE_BUNDLE_NAME)
 JDK_SYMBOLS_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(JDK_SYMBOLS_BUNDLE_NAME)
 JRE_SYMBOLS_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(JRE_SYMBOLS_BUNDLE_NAME)
-DEMOS_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(DEMOS_BUNDLE_NAME)
 TEST_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(TEST_BUNDLE_NAME)
 DOCS_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(DOCS_BUNDLE_NAME)
 
--- a/common/bin/compare_exceptions.sh.incl	Fri May 05 04:48:05 2017 +0000
+++ b/common/bin/compare_exceptions.sh.incl	Wed Jul 05 23:22:30 2017 +0200
@@ -38,25 +38,9 @@
 if [ "$OPENJDK_TARGET_OS" = "linux" ]; then
 
   STRIP_BEFORE_COMPARE="
-      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
-      ./demo/jvmti/gctest/lib/libgctest.so
-      ./demo/jvmti/heapTracker/lib/libheapTracker.so
-      ./demo/jvmti/heapViewer/lib/libheapViewer.so
-      ./demo/jvmti/minst/lib/libminst.so
-      ./demo/jvmti/mtrace/lib/libmtrace.so
-      ./demo/jvmti/versionCheck/lib/libversionCheck.so
-      ./demo/jvmti/waiters/lib/libwaiters.so
       "
 
   ACCEPTED_BIN_DIFF="
-      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
-      ./demo/jvmti/gctest/lib/libgctest.so
-      ./demo/jvmti/heapTracker/lib/libheapTracker.so
-      ./demo/jvmti/heapViewer/lib/libheapViewer.so
-      ./demo/jvmti/minst/lib/libminst.so
-      ./demo/jvmti/mtrace/lib/libmtrace.so
-      ./demo/jvmti/versionCheck/lib/libversionCheck.so
-      ./demo/jvmti/waiters/lib/libwaiters.so
       ./lib/client/libjsig.so
       ./lib/client/libjvm.so
       ./lib/libattach.so
@@ -151,15 +135,6 @@
 if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
 
   STRIP_BEFORE_COMPARE="
-      ./demo/jni/Poller/lib/libPoller.so
-      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
-      ./demo/jvmti/gctest/lib/libgctest.so
-      ./demo/jvmti/heapTracker/lib/libheapTracker.so
-      ./demo/jvmti/heapViewer/lib/libheapViewer.so
-      ./demo/jvmti/minst/lib/libminst.so
-      ./demo/jvmti/mtrace/lib/libmtrace.so
-      ./demo/jvmti/versionCheck/lib/libversionCheck.so
-      ./demo/jvmti/waiters/lib/libwaiters.so
       "
 
   SORT_SYMBOLS="
@@ -174,15 +149,6 @@
   SKIP_BIN_DIFF="true"
 
   ACCEPTED_SMALL_SIZE_DIFF="
-      ./demo/jni/Poller/lib/libPoller.so
-      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
-      ./demo/jvmti/gctest/lib/libgctest.so
-      ./demo/jvmti/heapTracker/lib/libheapTracker.so
-      ./demo/jvmti/heapViewer/lib/libheapViewer.so
-      ./demo/jvmti/minst/lib/libminst.so
-      ./demo/jvmti/mtrace/lib/libmtrace.so
-      ./demo/jvmti/versionCheck/lib/libversionCheck.so
-      ./demo/jvmti/waiters/lib/libwaiters.so
       ./lib/jli/libjli.so
       ./lib/jspawnhelper
       ./lib/libJdbcOdbc.so
@@ -279,19 +245,9 @@
 if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then
 
   STRIP_BEFORE_COMPARE="
-      ./demo/jni/Poller/lib/libPoller.so
-      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
-      ./demo/jvmti/gctest/lib/libgctest.so
-      ./demo/jvmti/heapTracker/lib/libheapTracker.so
-      ./demo/jvmti/heapViewer/lib/libheapViewer.so
-      ./demo/jvmti/minst/lib/libminst.so
-      ./demo/jvmti/mtrace/lib/libmtrace.so
-      ./demo/jvmti/versionCheck/lib/libversionCheck.so
-      ./demo/jvmti/waiters/lib/libwaiters.so
       "
 
   SORT_SYMBOLS="
-      ./demo/jvmti/waiters/lib/libwaiters.so
       ./lib/libjsig.so
       ./lib/libfontmanager.so
       ./lib/libjimage.so
@@ -305,15 +261,6 @@
   SKIP_BIN_DIFF="true"
 
   ACCEPTED_SMALL_SIZE_DIFF="
-      ./demo/jni/Poller/lib/libPoller.so
-      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
-      ./demo/jvmti/gctest/lib/libgctest.so
-      ./demo/jvmti/heapTracker/lib/libheapTracker.so
-      ./demo/jvmti/heapViewer/lib/libheapViewer.so
-      ./demo/jvmti/minst/lib/libminst.so
-      ./demo/jvmti/mtrace/lib/libmtrace.so
-      ./demo/jvmti/versionCheck/lib/libversionCheck.so
-      ./demo/jvmti/waiters/lib/libwaiters.so
       ./lib/client/libjvm.so
       ./lib/jli/libjli.so
       ./lib/jspawnhelper
@@ -438,9 +385,6 @@
 
   # Probably should add all libs here
   ACCEPTED_SMALL_SIZE_DIFF="
-      ./demo/jvmti/gctest/lib/gctest.dll
-      ./demo/jvmti/heapTracker/lib/heapTracker.dll
-      ./demo/jvmti/minst/lib/minst.dll
       ./bin/attach.dll
       ./bin/jsoundds.dll
       ./bin/client/jvm.dll
@@ -579,14 +523,6 @@
       ./bin/wsgen
       ./bin/wsimport
       ./bin/xjc
-      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.dylib
-      ./demo/jvmti/gctest/lib/libgctest.dylib
-      ./demo/jvmti/heapTracker/lib/libheapTracker.dylib
-      ./demo/jvmti/heapViewer/lib/libheapViewer.dylib
-      ./demo/jvmti/minst/lib/libminst.dylib
-      ./demo/jvmti/mtrace/lib/libmtrace.dylib
-      ./demo/jvmti/versionCheck/lib/libversionCheck.dylib
-      ./demo/jvmti/waiters/lib/libwaiters.dylib
       ./Contents/Home/bin/_javaws
       ./Contents/Home/bin/javaws
       ./Contents/Home/bin/idlj
--- a/common/conf/jib-profiles.js	Fri May 05 04:48:05 2017 +0000
+++ b/common/conf/jib-profiles.js	Wed Jul 05 23:22:30 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2017, 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
@@ -422,8 +422,9 @@
         "linux-x64": {
             target_os: "linux",
             target_cpu: "x64",
-            dependencies: ["devkit"],
-            configure_args: concat(common.configure_args_64bit, "--with-zlib=system"),
+            dependencies: ["devkit", "graphviz", "pandoc"],
+            configure_args: concat(common.configure_args_64bit,
+                "--enable-full-docs", "--with-zlib=system"),
             default_make_targets: ["docs-bundles"],
         },
 
@@ -964,7 +965,23 @@
             ext: "tar.gz",
             revision: "2.7.1-v120+1.0",
             module: "freetype-" + input.target_platform
-        }
+        },
+
+        graphviz: {
+            organization: common.organization,
+            ext: "tar.gz",
+            revision: "2.38.0-1+1.1",
+            module: "graphviz-" + input.target_platform,
+            configure_args: "DOT=" + input.get("graphviz", "install_path") + "/dot"
+        },
+
+        pandoc: {
+            organization: common.organization,
+            ext: "tar.gz",
+            revision: "1.17.2+1.0",
+            module: "pandoc-" + input.target_platform,
+            configure_args: "PANDOC=" + input.get("pandoc", "install_path") + "/pandoc/pandoc"
+        },
     };
 
     return dependencies;
--- a/common/nb_native/nbproject/configurations.xml	Fri May 05 04:48:05 2017 +0000
+++ b/common/nb_native/nbproject/configurations.xml	Wed Jul 05 23:22:30 2017 +0200
@@ -982,52 +982,6 @@
           </df>
         </df>
         <df name="src">
-          <df name="demo">
-            <df name="share">
-              <df name="jvmti">
-                <df name="agent_util">
-                  <in>agent_util.c</in>
-                </df>
-                <df name="compiledMethodLoad">
-                  <in>compiledMethodLoad.c</in>
-                </df>
-                <df name="gctest">
-                  <in>gctest.c</in>
-                </df>
-                <df name="heapTracker">
-                  <in>heapTracker.c</in>
-                </df>
-                <df name="heapViewer">
-                  <in>heapViewer.c</in>
-                </df>
-                <df name="java_crw_demo">
-                  <in>java_crw_demo.c</in>
-                </df>
-                <df name="minst">
-                  <in>minst.c</in>
-                </df>
-                <df name="mtrace">
-                  <in>mtrace.c</in>
-                </df>
-                <df name="versionCheck">
-                  <in>versionCheck.c</in>
-                </df>
-                <df name="waiters">
-                  <in>Agent.cpp</in>
-                  <in>Monitor.cpp</in>
-                  <in>Thread.cpp</in>
-                  <in>waiters.cpp</in>
-                </df>
-              </df>
-            </df>
-            <df name="solaris">
-              <df name="jni">
-                <df name="Poller">
-                  <in>Poller.c</in>
-                </df>
-              </df>
-            </df>
-          </df>
           <df name="java.base">
             <df name="linux">
               <df name="native">
@@ -21533,89 +21487,6 @@
           </incDir>
         </ccTool>
       </item>
-      <item path="../../jdk/src/demo/share/jvmti/agent_util/agent_util.c"
-            ex="false"
-            tool="0"
-            flavor2="3">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/compiledMethodLoad/compiledMethodLoad.c"
-            ex="false"
-            tool="0"
-            flavor2="3">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/gctest/gctest.c"
-            ex="false"
-            tool="0"
-            flavor2="3">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/heapTracker/heapTracker.c"
-            ex="false"
-            tool="0"
-            flavor2="3">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/heapViewer/heapViewer.c"
-            ex="false"
-            tool="0"
-            flavor2="3">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/java_crw_demo/java_crw_demo.c"
-            ex="false"
-            tool="0"
-            flavor2="3">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/minst/minst.c"
-            ex="false"
-            tool="0"
-            flavor2="3">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/mtrace/mtrace.c"
-            ex="false"
-            tool="0"
-            flavor2="3">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/versionCheck/versionCheck.c"
-            ex="false"
-            tool="0"
-            flavor2="3">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/Agent.cpp"
-            ex="false"
-            tool="1"
-            flavor2="4">
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/Monitor.cpp"
-            ex="false"
-            tool="1"
-            flavor2="4">
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/Thread.cpp"
-            ex="false"
-            tool="1"
-            flavor2="4">
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/waiters.cpp"
-            ex="false"
-            tool="1"
-            flavor2="4">
-      </item>
       <item path="../../jdk/src/java.base/macosx/native/libjava/HostLocaleProviderAdapter_md.c"
             ex="false"
             tool="0"
@@ -30509,113 +30380,6 @@
           </incDir>
         </cTool>
       </folder>
-      <folder path="0/jdk/src/demo">
-        <cTool>
-          <preprocessorList>
-            <Elem>DEBUG</Elem>
-          </preprocessorList>
-        </cTool>
-        <ccTool>
-          <incDir>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/waiters</pElem>
-            <pElem>../../jdk/src/java.base/macosx/native/include</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>DEBUG</Elem>
-          </preprocessorList>
-        </ccTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/agent_util">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/macosx/native/include</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/compiledMethodLoad">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/compiledMethodLoad</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/macosx/native/include</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/gctest">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/macosx/native/include</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/gctest</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/heapTracker">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/macosx/native/include</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/heapTracker</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/heapViewer">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/heapViewer</pElem>
-            <pElem>../../jdk/src/java.base/macosx/native/include</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/java_crw_demo">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/minst">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/macosx/native/include</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/minst</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/mtrace">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/macosx/native/include</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/mtrace</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/versionCheck">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/versionCheck</pElem>
-            <pElem>../../jdk/src/java.base/macosx/native/include</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
       <folder path="0/jdk/src/java.base">
         <cTool>
           <incDir>
@@ -36906,106 +36670,6 @@
         <cTool flags="3">
         </cTool>
       </item>
-      <item path="../../jdk/src/demo/share/jvmti/agent_util/agent_util.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/compiledMethodLoad/compiledMethodLoad.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/gctest/gctest.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/heapTracker/heapTracker.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/heapViewer/heapViewer.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/java_crw_demo/java_crw_demo.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/minst/minst.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/mtrace/mtrace.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/versionCheck/versionCheck.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="5">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/Agent.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-        <ccTool flags="2">
-        </ccTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/Monitor.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-        <ccTool flags="2">
-          <preprocessorList>
-            <Elem>THIS_FILE="Monitor.cpp"</Elem>
-          </preprocessorList>
-        </ccTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/Thread.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-        <ccTool flags="2">
-          <preprocessorList>
-            <Elem>THIS_FILE="Thread.cpp"</Elem>
-          </preprocessorList>
-        </ccTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/waiters.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-        <ccTool flags="2">
-          <preprocessorList>
-            <Elem>THIS_FILE="waiters.cpp"</Elem>
-          </preprocessorList>
-        </ccTool>
-      </item>
       <item path="../../jdk/src/java.base/linux/native/libjava/ProcessHandleImpl_linux.c"
             ex="false"
             tool="0"
@@ -46197,183 +45861,6 @@
           </preprocessorList>
         </cTool>
       </folder>
-      <folder path="0/jdk/src/demo">
-        <cTool>
-          <preprocessorList>
-            <Elem>DEBUG</Elem>
-          </preprocessorList>
-        </cTool>
-        <ccTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/waiters</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>DEBUG</Elem>
-          </preprocessorList>
-        </ccTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/agent_util">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/heapTracker</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/compiledMethodLoad">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/compiledMethodLoad</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="compiledMethodLoad.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/gctest">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/gctest</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="gctest.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/heapTracker">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/heapTracker</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="heapTracker.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/heapViewer">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/heapViewer</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="heapViewer.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/java_crw_demo">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/heapTracker</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="java_crw_demo.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/minst">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/minst</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="minst.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/mtrace">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/mtrace</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="mtrace.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/versionCheck">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/versionCheck</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/linux/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="versionCheck.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
       <folder path="0/jdk/src/java.base">
         <cTool>
           <preprocessorList>
@@ -55235,113 +54722,6 @@
         <ccTool flags="0">
         </ccTool>
       </item>
-      <item path="../../jdk/src/demo/share/jvmti/agent_util/agent_util.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="3">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/compiledMethodLoad/compiledMethodLoad.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="3">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/gctest/gctest.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="3">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/heapTracker/heapTracker.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="3">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/heapViewer/heapViewer.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="3">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/java_crw_demo/java_crw_demo.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="3">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/minst/minst.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="3">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/mtrace/mtrace.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="3">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/versionCheck/versionCheck.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="3">
-        </cTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/Agent.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-        <ccTool flags="0">
-        </ccTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/Monitor.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-        <ccTool flags="0">
-          <preprocessorList>
-            <Elem>THIS_FILE="Monitor.cpp"</Elem>
-          </preprocessorList>
-        </ccTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/Thread.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-        <ccTool flags="0">
-          <preprocessorList>
-            <Elem>THIS_FILE="Thread.cpp"</Elem>
-          </preprocessorList>
-        </ccTool>
-      </item>
-      <item path="../../jdk/src/demo/share/jvmti/waiters/waiters.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-        <ccTool flags="0">
-          <preprocessorList>
-            <Elem>THIS_FILE="waiters.cpp"</Elem>
-          </preprocessorList>
-        </ccTool>
-      </item>
-      <item path="../../jdk/src/demo/solaris/jni/Poller/Poller.c"
-            ex="false"
-            tool="0"
-            flavor2="0">
-        <cTool flags="2">
-        </cTool>
-      </item>
       <item path="../../jdk/src/java.base/share/native/launcher/main.c"
             ex="false"
             tool="0"
@@ -64674,8 +64054,6 @@
         </cTool>
         <ccTool>
           <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/waiters</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
             <pElem>../../jdk/src/java.base/share/native/include</pElem>
             <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
             <pElem>../../jdk/src/java.base/unix/native/include</pElem>
@@ -64699,189 +64077,6 @@
           </preprocessorList>
         </ccTool>
       </folder>
-      <folder path="0/jdk/src/demo">
-        <cTool>
-          <preprocessorList>
-            <Elem>DEBUG</Elem>
-          </preprocessorList>
-        </cTool>
-        <ccTool>
-          <preprocessorList>
-            <Elem>DEBUG</Elem>
-          </preprocessorList>
-        </ccTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/agent_util">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/heapTracker</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/compiledMethodLoad">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/compiledMethodLoad</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="compiledMethodLoad.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/gctest">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/gctest</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="gctest.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/heapTracker">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/heapTracker</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="heapTracker.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/heapViewer">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/heapViewer</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="heapViewer.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/java_crw_demo">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/heapTracker</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="java_crw_demo.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/minst">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/minst</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="minst.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/mtrace">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/mtrace</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/java_crw_demo</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="mtrace.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/share/jvmti/versionCheck">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/demo/share/jvmti/versionCheck</pElem>
-            <pElem>../../jdk/src/demo/share/jvmti/agent_util</pElem>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="versionCheck.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
-      <folder path="0/jdk/src/demo/solaris">
-        <cTool>
-          <incDir>
-            <pElem>../../jdk/src/java.base/share/native/include</pElem>
-            <pElem>../../jdk/src/java.base/solaris/native/include</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/include</pElem>
-            <pElem>../../jdk/src/java.base/share/native/libjava</pElem>
-            <pElem>../../jdk/src/java.base/unix/native/libjava</pElem>
-            <pElem>../../build/support/demos/classes/jni/Poller</pElem>
-            <pElem>../../jdk/make</pElem>
-          </incDir>
-          <preprocessorList>
-            <Elem>THIS_FILE="Poller.c"</Elem>
-          </preprocessorList>
-        </cTool>
-      </folder>
       <folder path="0/jdk/src/java.base">
         <cTool>
           <incDir>
--- a/corba/.hgtags	Fri May 05 04:48:05 2017 +0000
+++ b/corba/.hgtags	Wed Jul 05 23:22:30 2017 +0200
@@ -400,6 +400,7 @@
 078ebe23b584466dc8346e620d7821d91751e5a9 jdk-9+154
 a545f54babfa31aa7eb611f36031609acd617cbc jdk-9+155
 907c26240cd481579e919bfd23740797ff8ce1c8 jdk-9+156
+37c9962586a4d3498fa673d93eab1a336acd7652 jdk-10+1
 9383da04b385cca46b7ca67f3a39ac1b673e09fe jdk-9+157
 de6bdf38935fa753183ca288bed5c06a23c0bb12 jdk-9+158
 6feea77d2083c99e44aa3e272d07b7fb3b801683 jdk-9+159
@@ -410,3 +411,10 @@
 965bbae3072702f7c0d95c240523b65e6bb19261 jdk-9+164
 a510b2201154abdd12ede42788086b5283bfb9a6 jdk-9+165
 934c18145915b06d3fcc0de1a30f91f5aab8a192 jdk-9+166
+56a8bf5322684e9a31cda64c336c32bcdb592211 jdk-10+2
+3813c94c8585dd7507887916c6943f45051f1b55 jdk-10+3
+5d6d891bb36dbeeacaffa06b5a3e3b4e44b35fbd jdk-10+4
+7c5328012799923d45d1cf87e8725e725b3d298b jdk-10+5
+c7358d703e1282af3dcd8af6c037dc4342de9054 jdk-10+6
+43de67f51801b9e16507865fcb7e8344f4ca4aa9 jdk-9+167
+03a2cc9c8a1e8f87924c9863e917bc8b91770d5f jdk-9+168
--- a/hotspot/.hgtags	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/.hgtags	Wed Jul 05 23:22:30 2017 +0200
@@ -560,6 +560,7 @@
 a9fdfd55835ef9dccb7f317b07249bd66653b874 jdk-9+154
 f3b3d77a1751897413aae43ac340a130b6fa2ae1 jdk-9+155
 43139c588ea48b6504e52b6c3dec530b17b1fdb4 jdk-9+156
+1ea217626ba0995dd03127f8322ba3687926a085 jdk-10+1
 b2d0a906afd73dcf27f572217eb1be0f196ec16c jdk-9+157
 4e78f30935229f13ce7c43089621cf7169f5abac jdk-9+158
 9211c2e89c1cd11ec2d5752b0f97131a7d7525c7 jdk-9+159
@@ -570,3 +571,10 @@
 0af429be8bbaeaaf0cb838e9af28c953dda6a9c8 jdk-9+164
 c92c6416ca03b1464d5ed99cf6201e52b5ba0a70 jdk-9+165
 560d7aa083a24b6a56443feb8de0f40435d33aa9 jdk-9+166
+48809c513ed5ebb4d4dbf2f454afcce2780db6db jdk-10+2
+6c3b6b3438c4a63e619f00bd5732d1260ffd5600 jdk-10+3
+8295ca08f5cb09c090eb048bbdd338d7e270c8bf jdk-10+4
+7b5ca2ff1f78873ca3ee99b6589d3cb4dde2e454 jdk-10+5
+762465099d938fd96cd1efda193bc1fa23d070d3 jdk-10+6
+1ca7ed1b17b5776930d641d1379834f3140a74e4 jdk-9+167
+fbb9c802649585d19f6d7e81b4a519d44806225a jdk-9+168
--- a/hotspot/.mx.jvmci/.pydevproject	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/.mx.jvmci/.pydevproject	Wed Jul 05 23:22:30 2017 +0200
@@ -3,7 +3,7 @@
 <pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
 <pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
 <pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
-<path>/.mx.jvmci</path>
+<path>/mx.jvmci</path>
 </pydev_pathproperty>
 <pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
 <path>/mx</path>
--- a/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp	Wed Jul 05 23:22:30 2017 +0200
@@ -1221,12 +1221,19 @@
   obj.load_item();
 
   // info for exceptions
-  CodeEmitInfo* info_for_exception = state_for(x);
+  CodeEmitInfo* info_for_exception =
+      (x->needs_exception_state() ? state_for(x) :
+                                    state_for(x, x->state_before(), true /*ignore_xhandler*/));
 
   CodeStub* stub;
   if (x->is_incompatible_class_change_check()) {
     assert(patching_info == NULL, "can't patch this");
     stub = new SimpleExceptionStub(Runtime1::throw_incompatible_class_change_error_id, LIR_OprFact::illegalOpr, info_for_exception);
+  } else if (x->is_invokespecial_receiver_check()) {
+    assert(patching_info == NULL, "can't patch this");
+    stub = new DeoptimizeStub(info_for_exception,
+                              Deoptimization::Reason_class_check,
+                              Deoptimization::Action_none);
   } else {
     stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id, obj.result(), info_for_exception);
   }
--- a/hotspot/src/cpu/aarch64/vm/globalDefinitions_aarch64.hpp	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/src/cpu/aarch64/vm/globalDefinitions_aarch64.hpp	Wed Jul 05 23:22:30 2017 +0200
@@ -34,10 +34,6 @@
 
 #define SUPPORTS_NATIVE_CX8
 
-// The maximum B/BL offset range on AArch64 is 128MB.
-#undef CODE_CACHE_DEFAULT_LIMIT
-#define CODE_CACHE_DEFAULT_LIMIT (128*M)
-
 // According to the ARMv8 ARM, "Concurrent modification and execution
 // of instructions can lead to the resulting instruction performing
 // any behavior that can be achieved by executing any sequence of
--- a/hotspot/src/cpu/arm/vm/c1_LIRAssembler_arm.cpp	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/src/cpu/arm/vm/c1_LIRAssembler_arm.cpp	Wed Jul 05 23:22:30 2017 +0200
@@ -1453,10 +1453,11 @@
       ciKlass* k = op->klass();
       assert_different_registers(res, k_RInfo, klass_RInfo, Rtemp);
 
+      if (stub->is_simple_exception_stub()) {
       // TODO: ARM - Late binding is used to prevent confusion of register allocator
       assert(stub->is_exception_throw_stub(), "must be");
       ((SimpleExceptionStub*)stub)->set_obj(op->result_opr());
-
+      }
       ciMethodData* md;
       ciProfileData* data;
       int mdo_offset_bias = 0;
--- a/hotspot/src/cpu/arm/vm/c1_LIRGenerator_arm.cpp	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/src/cpu/arm/vm/c1_LIRGenerator_arm.cpp	Wed Jul 05 23:22:30 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -1412,12 +1412,20 @@
 
   obj.load_item();
 
-  CodeEmitInfo* info_for_exception = state_for(x);
+  CodeEmitInfo* info_for_exception =
+    (x->needs_exception_state() ? state_for(x) :
+                                  state_for(x, x->state_before(), true /*ignore_xhandler*/));
+
   CodeStub* stub;
   if (x->is_incompatible_class_change_check()) {
     assert(patching_info == NULL, "can't patch this");
     stub = new SimpleExceptionStub(Runtime1::throw_incompatible_class_change_error_id,
                                    LIR_OprFact::illegalOpr, info_for_exception);
+  } else if (x->is_invokespecial_receiver_check()) {
+    assert(patching_info == NULL, "can't patch this");
+    stub = new DeoptimizeStub(info_for_exception,
+                              Deoptimization::Reason_class_check,
+                              Deoptimization::Action_none);
   } else {
     stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id,
                                    LIR_OprFact::illegalOpr, info_for_exception);
--- a/hotspot/src/cpu/ppc/vm/c1_LIRGenerator_ppc.cpp	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/src/cpu/ppc/vm/c1_LIRGenerator_ppc.cpp	Wed Jul 05 23:22:30 2017 +0200
@@ -1131,12 +1131,19 @@
   obj.load_item();
   LIR_Opr out_reg = rlock_result(x);
   CodeStub* stub;
-  CodeEmitInfo* info_for_exception = state_for(x);
+  CodeEmitInfo* info_for_exception =
+      (x->needs_exception_state() ? state_for(x) :
+                                    state_for(x, x->state_before(), true /*ignore_xhandler*/));
 
   if (x->is_incompatible_class_change_check()) {
     assert(patching_info == NULL, "can't patch this");
     stub = new SimpleExceptionStub(Runtime1::throw_incompatible_class_change_error_id,
                                    LIR_OprFact::illegalOpr, info_for_exception);
+  } else if (x->is_invokespecial_receiver_check()) {
+    assert(patching_info == NULL, "can't patch this");
+    stub = new DeoptimizeStub(info_for_exception,
+                              Deoptimization::Reason_class_check,
+                              Deoptimization::Action_none);
   } else {
     stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id, obj.result(), info_for_exception);
   }
--- a/hotspot/src/cpu/s390/vm/c1_LIRGenerator_s390.cpp	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/src/cpu/s390/vm/c1_LIRGenerator_s390.cpp	Wed Jul 05 23:22:30 2017 +0200
@@ -993,12 +993,19 @@
   obj.load_item();
 
   // info for exceptions
-  CodeEmitInfo* info_for_exception = state_for (x);
+  CodeEmitInfo* info_for_exception =
+      (x->needs_exception_state() ? state_for(x) :
+                                    state_for(x, x->state_before(), true /*ignore_xhandler*/));
 
   CodeStub* stub;
   if (x->is_incompatible_class_change_check()) {
     assert(patching_info == NULL, "can't patch this");
     stub = new SimpleExceptionStub(Runtime1::throw_incompatible_class_change_error_id, LIR_OprFact::illegalOpr, info_for_exception);
+  } else if (x->is_invokespecial_receiver_check()) {
+    assert(patching_info == NULL, "can't patch this");
+    stub = new DeoptimizeStub(info_for_exception,
+                              Deoptimization::Reason_class_check,
+                              Deoptimization::Action_none);
   } else {
     stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id, obj.result(), info_for_exception);
   }
--- a/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp	Wed Jul 05 23:22:30 2017 +0200
@@ -1196,11 +1196,18 @@
   obj.load_item();
   LIR_Opr out_reg = rlock_result(x);
   CodeStub* stub;
-  CodeEmitInfo* info_for_exception = state_for(x);
+  CodeEmitInfo* info_for_exception =
+      (x->needs_exception_state() ? state_for(x) :
+                                    state_for(x, x->state_before(), true /*ignore_xhandler*/));
 
   if (x->is_incompatible_class_change_check()) {
     assert(patching_info == NULL, "can't patch this");
     stub = new SimpleExceptionStub(Runtime1::throw_incompatible_class_change_error_id, LIR_OprFact::illegalOpr, info_for_exception);
+  } else if (x->is_invokespecial_receiver_check()) {
+    assert(patching_info == NULL, "can't patch this");
+    stub = new DeoptimizeStub(info_for_exception,
+                              Deoptimization::Reason_class_check,
+                              Deoptimization::Action_none);
   } else {
     stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id, obj.result(), info_for_exception);
   }
--- a/hotspot/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp	Wed Jul 05 23:22:30 2017 +0200
@@ -1429,12 +1429,17 @@
   obj.load_item();
 
   // info for exceptions
-  CodeEmitInfo* info_for_exception = state_for(x);
+  CodeEmitInfo* info_for_exception =
+      (x->needs_exception_state() ? state_for(x) :
+                                    state_for(x, x->state_before(), true /*ignore_xhandler*/));
 
   CodeStub* stub;
   if (x->is_incompatible_class_change_check()) {
     assert(patching_info == NULL, "can't patch this");
     stub = new SimpleExceptionStub(Runtime1::throw_incompatible_class_change_error_id, LIR_OprFact::illegalOpr, info_for_exception);
+  } else if (x->is_invokespecial_receiver_check()) {
+    assert(patching_info == NULL, "can't patch this");
+    stub = new DeoptimizeStub(info_for_exception, Deoptimization::Reason_class_check, Deoptimization::Action_none);
   } else {
     stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id, obj.result(), info_for_exception);
   }
--- a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp	Fri May 05 04:48:05 2017 +0000
+++ b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp	Wed Jul 05 23:22:30 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, 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
@@ -763,12 +763,11 @@
     FLAG_SET_DEFAULT(UseCRC32Intrinsics, false);
   }
 
-  if (supports_sse4_2()) {
+  if (supports_sse4_2() && supports_clmul()) {
     if (FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) {
       UseCRC32CIntrinsics = true;
     }
-  }
-  else if (UseCRC32CIntrinsics) {
+  } else if (UseCRC32CIntrinsics) {
     if (!FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) {
       warning("CRC32C intrinsics are not available on this CPU");
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/AltHashing.java	Wed Jul 05 23:22:30 2017 +0200
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ */
+
+package sun.jvm.hotspot.memory;
+
+public class AltHashing {
+    public static long murmur3_32(long seed, byte[] data) {
+      long h1 = seed;
+      int len = data.length;
+      int count = len;
+
+      int offset = 0;
+
+      // body
+      while (count >= 4) {
+          long k1 = (data[offset] & 0x0FF)
+              | (data[offset + 1] & 0x0FF) << 8
+              | (data[offset + 2] & 0x0FF) << 16
+              | data[offset + 3] << 24;
+
+          count -= 4;
+          offset += 4;
+
+          k1 *= 0xcc9e2d51;
+          k1 = Integer.rotateLeft((int)k1, 15);
+          k1 *= 0x1b873593;
+          k1 &= 0xFFFFFFFFL;
+
+          h1 ^= k1;
+          h1 = Integer.rotateLeft((int)h1, 13);
+          h1 = h1 * 5 + 0xe6546b64;
+          h1 &= 0xFFFFFFFFL;
+      }
+
+      //tail
+      if (count > 0) {
+          long k1 = 0;
+
+          switch (count) {
+              case 3:
+                  k1 ^= (data[offset + 2] & 0xff) << 16;
+                  // fall through
+              case 2:
+                  k1 ^= (data[offset + 1] & 0xff) << 8;
+                  // fall through
+              case 1:
+                  k1 ^= (data[offset] & 0xff);
+                  // fall through
+              default:
+                  k1 *= 0xcc9e2d51;
+                  k1 = Integer.rotateLeft((int)k1, 15);
+                  k1 *= 0x1b873593;
+                  k1 &= 0xFFFFFFFFL;
+                  h1 ^= k1;
+                  h1 &= 0xFFFFFFFFL;
+          }
+      }
+
+      // finalization
+      h1 ^= len;
+
+      // finalization mix force a