Merge
authorprr
Mon, 24 Sep 2018 10:59:26 -0700
changeset 51930 a642a0efc36d
parent 51929 0e514f1549b4 (current diff)
parent 51854 3c6d285c8168 (diff)
child 51931 f2d6750f5c10
Merge
src/hotspot/share/classfile/compactHashtable.inline.hpp
src/java.base/macosx/native/libjli/java_md_macosx.c
test/jdk/ProblemList.txt
test/jdk/com/sun/jdi/RedefineException.sh
test/jdk/com/sun/jdi/RedefineFinal.sh
test/jdk/com/sun/jdi/RedefineIntConstantToLong.sh
test/jdk/com/sun/jdi/RedefineMulti.sh
test/jdk/com/sun/jdi/RedefinePop.sh
test/jdk/com/sun/jdi/RedefineStep.sh
test/jdk/com/sun/jdi/RedefineTTYLineNumber.sh
test/jdk/com/sun/jdi/StringConvertTest.sh
test/jdk/com/sun/jdi/WatchFramePop.sh
test/jdk/lib/testlibrary/jdk/testlibrary/Asserts.java
--- a/.hgtags	Sat Sep 22 20:31:45 2018 -0700
+++ b/.hgtags	Mon Sep 24 10:59:26 2018 -0700
@@ -512,3 +512,4 @@
 31b159f30fb281016c5f0c103552809aeda84063 jdk-12+9
 8f594f75e0547d4ca16649cb3501659e3155e81b jdk-12+10
 f0f5d23449d31f1b3580c8a73313918cafeaefd7 jdk-12+11
+15094d12a632f452a2064318a4e416d0c7a9ce0c jdk-12+12
--- a/.jcheck/conf	Sat Sep 22 20:31:45 2018 -0700
+++ b/.jcheck/conf	Mon Sep 24 10:59:26 2018 -0700
@@ -1,2 +1,2 @@
-project=jdk10
+project=jdk
 bugids=dup
--- a/make/ExplodedImageOptimize.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/ExplodedImageOptimize.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 2018, 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
@@ -38,7 +38,7 @@
 
 $(PACKAGES_ATTRIBUTE_TARGET): $(ALL_MODULEINFO_CLASSES) $(BUILD_JIGSAW_CLASSES)
 	$(call LogInfo, Optimizing the exploded image)
-	$(TOOL_ADD_PACKAGES_ATTRIBUTE) $(JDK_OUTPUTDIR)
+	$(call ExecuteWithLog, $@, $(TOOL_ADD_PACKAGES_ATTRIBUTE) $(JDK_OUTPUTDIR))
 	$(TOUCH) $@
 
 TARGETS := $(PACKAGES_ATTRIBUTE_TARGET)
--- a/make/MacBundles.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/MacBundles.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2018, 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
@@ -65,13 +65,13 @@
 	$(call LogInfo, Creating link $(patsubst $(OUTPUTDIR)/%,%,$@))
 	$(MKDIR) -p $(@D)
 	$(RM) $@
-	$(LN) -s ../Home/lib/jli/libjli.dylib $@
+	$(LN) -s ../Home/lib/libjli.dylib $@
 
   $(JRE_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib:
 	$(call LogInfo, Creating link $(patsubst $(OUTPUTDIR)/%,%,$@))
 	$(MKDIR) -p $(@D)
 	$(RM) $@
-	$(LN) -s ../Home/lib/jli/libjli.dylib $@
+	$(LN) -s ../Home/lib/libjli.dylib $@
 
   $(eval $(call SetupTextFileProcessing, BUILD_JDK_PLIST, \
       SOURCE_FILES := $(MACOSX_PLIST_SRC)/JDK-Info.plist, \
--- a/make/autoconf/basics.m4	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/basics.m4	Mon Sep 24 10:59:26 2018 -0700
@@ -168,7 +168,7 @@
 [
   $ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
   $ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
-  OUTPUT=`$3 $1 -version 2>&1`
+  OUTPUT=`$3 $1 $USER_BOOT_JDK_OPTIONS -version 2>&1`
   FOUND_WARN=`$ECHO "$OUTPUT" | $GREP -i warn`
   FOUND_VERSION=`$ECHO $OUTPUT | $GREP " version \""`
   if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
@@ -862,7 +862,7 @@
     # Create a default ./build/target-variant-debuglevel output root.
     if test "x${CONF_NAME}" = x; then
       AC_MSG_RESULT([in default location])
-      CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${JVM_VARIANTS_WITH_AND}-${DEBUG_LEVEL}"
+      CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JVM_VARIANTS_WITH_AND}-${DEBUG_LEVEL}"
     else
       AC_MSG_RESULT([in build directory with custom name])
     fi
--- a/make/autoconf/boot-jdk.m4	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/boot-jdk.m4	Mon Sep 24 10:59:26 2018 -0700
@@ -74,7 +74,18 @@
           BOOT_JDK_FOUND=no
         else
           # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version?
-          BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $HEAD -n 1`
+          BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" $USER_BOOT_JDK_OPTIONS -version 2>&1 | $HEAD -n 1`
+          if [ [[ "$BOOT_JDK_VERSION" =~ "Picked up" ]] ]; then
+            AC_MSG_NOTICE([You have _JAVA_OPTIONS or JAVA_TOOL_OPTIONS set. This can mess up the build. Please use --with-boot-jdk-jvmargs instead.])
+            AC_MSG_NOTICE([Java reports: "$BOOT_JDK_VERSION".])
+            AC_MSG_ERROR([Cannot continue])
+          fi
+          if [ [[ "$BOOT_JDK_VERSION" =~ "Unrecognized option" ]] ]; then
+            AC_MSG_NOTICE([The specified --with-boot-jdk-jvmargs is invalid for the tested java])
+            AC_MSG_NOTICE([Error message: "$BOOT_JDK_VERSION".])
+            AC_MSG_NOTICE([Please fix arguments, or point to an explicit boot JDK which accept these arguments])
+            AC_MSG_ERROR([Cannot continue])
+          fi
 
           # Extra M4 quote needed to protect [] in grep expression.
           [FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION \
@@ -90,7 +101,7 @@
             AC_MSG_CHECKING([for Boot JDK])
             AC_MSG_RESULT([$BOOT_JDK])
             AC_MSG_CHECKING([Boot JDK version])
-            BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' '  '`
+            BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" $USER_BOOT_JDK_OPTIONS -version 2>&1 | $TR '\n\r' '  '`
             AC_MSG_RESULT([$BOOT_JDK_VERSION])
           fi # end check jdk version
         fi # end check javac
@@ -283,6 +294,11 @@
   AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk],
       [path to Boot JDK (used to bootstrap build) @<:@probed@:>@])])
 
+  AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
+  [specify additional arguments to be passed to Boot JDK tools @<:@none@:>@])])
+
+  USER_BOOT_JDK_OPTIONS="$with_boot_jdk_jvmargs"
+
   # We look for the Boot JDK through various means, going from more certain to
   # more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
   # we detected something (if so, the path to the jdk is in BOOT_JDK). But we
@@ -372,10 +388,6 @@
   # Specify jvm options for anything that is run with the Boot JDK.
   # Not all JVM:s accept the same arguments on the command line.
   #
-  AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
-  [specify JVM arguments to be passed to all java invocations of boot JDK, overriding the default values,
-  e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
-
   AC_MSG_CHECKING([flags for boot jdk java command] )
 
   # Force en-US environment
@@ -389,8 +401,8 @@
     ADD_JVM_ARG_IF_OK([-Xshare:auto],boot_jdk_jvmargs,[$JAVA])
   fi
 
-  # Apply user provided options.
-  ADD_JVM_ARG_IF_OK([$with_boot_jdk_jvmargs],boot_jdk_jvmargs,[$JAVA])
+  # Finally append user provided options to allow them to override.
+  ADD_JVM_ARG_IF_OK([$USER_BOOT_JDK_OPTIONS],boot_jdk_jvmargs,[$JAVA])
 
   AC_MSG_RESULT([$boot_jdk_jvmargs])
 
--- a/make/autoconf/configure.ac	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/configure.ac	Mon Sep 24 10:59:26 2018 -0700
@@ -91,7 +91,6 @@
 JDKOPT_SETUP_OPEN_OR_CUSTOM
 
 # These are needed to be able to create a configuration name (and thus the output directory)
-JDKOPT_SETUP_JDK_VARIANT
 JDKOPT_SETUP_DEBUG_LEVEL
 HOTSPOT_SETUP_JVM_VARIANTS
 
--- a/make/autoconf/flags-cflags.m4	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/flags-cflags.m4	Mon Sep 24 10:59:26 2018 -0700
@@ -161,14 +161,35 @@
     microsoft)
       DISABLE_WARNING_PREFIX="-wd"
       CFLAGS_WARNINGS_ARE_ERRORS="-WX"
+
+      WARNINGS_ENABLE_ALL="-W3"
+      DISABLED_WARNINGS="4800"
       ;;
+
     solstudio)
       DISABLE_WARNING_PREFIX="-erroff="
-      CFLAGS_WARNINGS_ARE_ERRORS="-errtags -errwarn=%all"
+      CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all"
+
+      WARNINGS_ENABLE_ALL_CFLAGS="-v"
+      WARNINGS_ENABLE_ALL_CXXFLAGS="+w"
+
+      DISABLED_WARNINGS_C=""
+      DISABLED_WARNINGS_CXX=""
       ;;
+
     gcc)
       DISABLE_WARNING_PREFIX="-Wno-"
       CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
+
+      # Additional warnings that are not activated by -Wall and -Wextra
+      WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wsign-compare \
+          -Wunused-function -Wundef -Wunused-value -Wreturn-type"
+      WARNINGS_ENABLE_ADDITIONAL_CXX="-Woverloaded-virtual -Wreorder"
+      WARNINGS_ENABLE_ALL_CFLAGS="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
+      WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
+
+      DISABLED_WARNINGS="unused-parameter unused"
+
       # Repeate the check for the BUILD_CC and BUILD_CXX. Need to also reset
       # CFLAGS since any target specific flags will likely not work with the
       # build compiler
@@ -183,18 +204,40 @@
       CXX="$CXX_OLD"
       CFLAGS="$CFLAGS_OLD"
       ;;
+
     clang)
       DISABLE_WARNING_PREFIX="-Wno-"
       CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
+
+      # Additional warnings that are not activated by -Wall and -Wextra
+      WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wsign-compare -Wreorder \
+          -Wunused-function -Wundef -Wunused-value -Woverloaded-virtual"
+      WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
+
+      DISABLED_WARNINGS="unused-parameter unused"
+
+      if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+        # missing-method-return-type triggers in JavaNativeFoundation framework
+        DISABLED_WARNINGS="$DISABLED_WARNINGS missing-method-return-type"
+      fi
+
       ;;
+
     xlc)
       DISABLE_WARNING_PREFIX="-qsuppress="
       CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w"
+
+      # Possibly a better subset than "all" is "lan:trx:ret:zea:cmp:ret"
+      WARNINGS_ENABLE_ALL="-qinfo=all -qformat=all"
+      DISABLED_WARNINGS=""
       ;;
   esac
   AC_SUBST(DISABLE_WARNING_PREFIX)
   AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX)
   AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
+  AC_SUBST(DISABLED_WARNINGS)
+  AC_SUBST(DISABLED_WARNINGS_C)
+  AC_SUBST(DISABLED_WARNINGS_CXX)
 ])
 
 AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
@@ -386,17 +429,6 @@
 	IF_FALSE: [FDLIBM_CFLAGS=""])
   fi
   AC_SUBST(FDLIBM_CFLAGS)
-
-  # Tests are only ever compiled for TARGET
-  CFLAGS_TESTLIB="$CFLAGS_JDKLIB"
-  CXXFLAGS_TESTLIB="$CXXFLAGS_JDKLIB"
-  CFLAGS_TESTEXE="$CFLAGS_JDKEXE"
-  CXXFLAGS_TESTEXE="$CXXFLAGS_JDKEXE"
-
-  AC_SUBST(CFLAGS_TESTLIB)
-  AC_SUBST(CFLAGS_TESTEXE)
-  AC_SUBST(CXXFLAGS_TESTLIB)
-  AC_SUBST(CXXFLAGS_TESTEXE)
 ])
 
 ################################################################################
@@ -523,11 +555,14 @@
       TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
     fi
   elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
-    TOOLCHAIN_CFLAGS_JDK="-mt"
-    TOOLCHAIN_CFLAGS_JDK_CONLY="-xc99=%none -xCC -Xa -v -W0,-noglobal" # C only
+    TOOLCHAIN_FLAGS="-errtags -errfmt"
+    TOOLCHAIN_CFLAGS="-errshort=tags"
+
+    TOOLCHAIN_CFLAGS_JDK="-mt $TOOLCHAIN_FLAGS"
+    TOOLCHAIN_CFLAGS_JDK_CONLY="-xc99=%none -xCC -Xa -W0,-noglobal $TOOLCHAIN_CFLAGS" # C only
     TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
     TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
-        -library=stlport4 -mt -features=no%except"
+        -library=stlport4 -mt -features=no%except $TOOLCHAIN_FLAGS"
     if test "x$DEBUG_LEVEL" = xslowdebug; then
       # Previously -g was used instead of -g0 for slowdebug; this is equivalent
       # to setting +d.
@@ -535,6 +570,7 @@
     fi
 
   elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+    # Suggested additions: -qsrcmsg to get improved error reporting
     TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt"  # add on both CFLAGS
     TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \
         -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
@@ -546,37 +582,24 @@
 
   # CFLAGS WARNINGS STUFF
   # Set JVM_CFLAGS warning handling
-  if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
-    # COMMON to gcc and clang
-    WARNING_CFLAGS_JVM="-Wpointer-arith -Wsign-compare -Wunused-function"
-    if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
-      # Non-zero builds have stricter warnings
-      WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wundef -Wformat=2"
-    fi
+  if test "x$TOOLCHAIN_TYPE" = xgcc; then
+    WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
+    WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
+    WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"
 
-  fi
-  if test "x$TOOLCHAIN_TYPE" = xgcc; then
-    WARNING_CFLAGS_JDK="-Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2"
-    WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wunused-value -Woverloaded-virtual -Wreorder"
+  elif test "x$TOOLCHAIN_TYPE" = xclang; then
+    WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
 
-    if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
-      # Non-zero builds have stricter warnings
-      WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wreturn-type"
-    fi
-  elif test "x$TOOLCHAIN_TYPE" = xclang; then
-    WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wno-deprecated -Wreorder"
-    if test "x$OPENJDK_TARGET_OS" = xlinux; then
-      WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wno-sometimes-uninitialized"
-      WARNING_CFLAGS_JDK="-Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2"
-    fi
   elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
-    WARNING_CFLAGS_JDK_CONLY="-errshort=tags"
-    WARNING_CFLAGS_JDK_CXXONLY="+w"
-    WARNING_CFLAGS_JDK="-errtags=yes -errfmt"
+    WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
+    WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
+    WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"
+
   elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
-    WARNING_CFLAGS="-W3"
-    WARNING_CFLAGS_JDK="-wd4800"
-    WARNING_CFLAGS_JVM="-wd4800"
+    WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
+
+  elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+    WARNING_CFLAGS=""  # currently left empty
   fi
 
   # Set some additional per-OS defines.
--- a/make/autoconf/flags-ldflags.m4	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/flags-ldflags.m4	Mon Sep 24 10:59:26 2018 -0700
@@ -51,9 +51,7 @@
 
   FLAGS_SETUP_LDFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
 
-  LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB"
-  LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE ${TARGET_LDFLAGS_JDK_LIBPATH}"
-  AC_SUBST(LDFLAGS_TESTLIB)
+  LDFLAGS_TESTEXE="${TARGET_LDFLAGS_JDK_LIBPATH}"
   AC_SUBST(LDFLAGS_TESTEXE)
 ])
 
@@ -74,10 +72,8 @@
     # Add -z defs, to forbid undefined symbols in object files.
     BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs"
 
-    BASIC_LDFLAGS_JVM_ONLY="-Wl,-z,noexecstack -Wl,-O1 -Wl,-z,relro"
+    BASIC_LDFLAGS_JVM_ONLY="-Wl,-O1 -Wl,-z,relro"
 
-    BASIC_LDFLAGS_JDK_LIB_ONLY="-Wl,-z,noexecstack"
-    LIBJSIG_NOEXECSTACK_LDFLAGS="-Wl,-z,noexecstack"
 
   elif test "x$TOOLCHAIN_TYPE" = xclang; then
     BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
@@ -103,6 +99,12 @@
     BASIC_LDFLAGS_JVM_ONLY="-opt:icf,8 -subsystem:windows"
   fi
 
+  if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
+    if test -n "$HAS_NOEXECSTACK"; then
+      BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,noexecstack"
+    fi
+  fi
+
   # Setup OS-dependent LDFLAGS
   if test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xgcc; then
     if test "x$OPENJDK_TARGET_OS" = xmacosx; then
@@ -137,6 +139,14 @@
     fi
   fi
 
+  # Setup warning flags
+  if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+    LDFLAGS_WARNINGS_ARE_ERRORS="-Wl,-z,fatal-warnings"
+  else
+    LDFLAGS_WARNINGS_ARE_ERRORS=""
+  fi
+  AC_SUBST(LDFLAGS_WARNINGS_ARE_ERRORS)
+
   # Setup LDFLAGS for linking executables
   if test "x$TOOLCHAIN_TYPE" = xgcc; then
     EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
--- a/make/autoconf/flags-other.m4	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/flags-other.m4	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 AC_DEFUN([FLAGS_SETUP_ARFLAGS],
 [
   # FIXME: figure out if we should select AR flags depending on OS or toolchain.
-  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
-    ARFLAGS="-r -mmacosx-version-min=$MACOSX_VERSION_MIN"
-  elif test "x$OPENJDK_TARGET_OS" = xaix; then
+  if test "x$OPENJDK_TARGET_OS" = xaix; then
     ARFLAGS="-X64"
   elif test "x$OPENJDK_TARGET_OS" = xwindows; then
     # lib.exe is used as AR to create static libraries.
--- a/make/autoconf/flags.m4	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/flags.m4	Mon Sep 24 10:59:26 2018 -0700
@@ -336,8 +336,12 @@
     CC_OUT_OPTION='-o$(SPACE)'
     # When linking, how to specify the output
     LD_OUT_OPTION='-o$(SPACE)'
-    # When archiving, how to specify the to be create static archive for object files.
-    AR_OUT_OPTION='rcs$(SPACE)'
+    # When archiving, how to specify the destination static archive.
+    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+      AR_OUT_OPTION='-r -cs$(SPACE)'
+    else
+      AR_OUT_OPTION='-rcs$(SPACE)'
+    fi
   fi
   AC_SUBST(CC_OUT_OPTION)
   AC_SUBST(LD_OUT_OPTION)
--- a/make/autoconf/jdk-options.m4	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/jdk-options.m4	Mon Sep 24 10:59:26 2018 -0700
@@ -33,19 +33,8 @@
 # modules to compile into the JDK.
 AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VARIANT],
 [
-  AC_MSG_CHECKING([which variant of the JDK to build])
-  AC_ARG_WITH([jdk-variant], [AS_HELP_STRING([--with-jdk-variant],
-      [JDK variant to build (normal) @<:@normal@:>@])])
-
-  if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then
-    JDK_VARIANT="normal"
-  else
-    AC_MSG_ERROR([The available JDK variants are: normal])
-  fi
-
-  AC_SUBST(JDK_VARIANT)
-
-  AC_MSG_RESULT([$JDK_VARIANT])
+  # Deprecated in JDK 12
+  BASIC_DEPRECATED_ARG_WITH([jdk-variant])
 ])
 
 ###############################################################################
--- a/make/autoconf/spec.gmk.in	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/spec.gmk.in	Mon Sep 24 10:59:26 2018 -0700
@@ -254,10 +254,6 @@
 DEBUG_LEVEL:=@DEBUG_LEVEL@
 HOTSPOT_DEBUG_LEVEL:=@HOTSPOT_DEBUG_LEVEL@
 
-# This is the JDK variant to build.
-# The JDK variant is a name for a specific set of modules to be compiled for the JDK.
-JDK_VARIANT:=@JDK_VARIANT@
-
 # Which JVM variants to build (space-separated list)
 JVM_VARIANTS := @JVM_VARIANTS@
 JVM_VARIANT_MAIN := @JVM_VARIANT_MAIN@
@@ -357,8 +353,6 @@
 LIBFFI_LIB_FILE:=@LIBFFI_LIB_FILE@
 GRAALUNIT_LIB := @GRAALUNIT_LIB@
 
-PACKAGE_PATH=@PACKAGE_PATH@
-
 # Source file for cacerts
 CACERTS_FILE=@CACERTS_FILE@
 
@@ -429,6 +423,10 @@
 
 DISABLE_WARNING_PREFIX := @DISABLE_WARNING_PREFIX@
 CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
+LDFLAGS_WARNINGS_ARE_ERRORS:=@LDFLAGS_WARNINGS_ARE_ERRORS@
+DISABLED_WARNINGS := @DISABLED_WARNINGS@
+DISABLED_WARNINGS_C := @DISABLED_WARNINGS_C@
+DISABLED_WARNINGS_CXX := @DISABLED_WARNINGS_CXX@
 
 # A global flag (true or false) determining if native warnings are considered errors.
 WARNINGS_AS_ERRORS := @WARNINGS_AS_ERRORS@
@@ -490,11 +488,6 @@
 LIBCXX:=@LIBCXX@
 
 # Compiler and linker flags used when building native tests
-CFLAGS_TESTLIB:=@CFLAGS_TESTLIB@
-CXXFLAGS_TESTLIB:=@CXXFLAGS_TESTLIB@
-CFLAGS_TESTEXE:=@CFLAGS_TESTEXE@
-CXXFLAGS_TESTEXE:=@CXXFLAGS_TESTEXE@
-LDFLAGS_TESTLIB:=@LDFLAGS_TESTLIB@
 LDFLAGS_TESTEXE:=@LDFLAGS_TESTEXE@
 
 # BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
--- a/make/autoconf/toolchain.m4	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/autoconf/toolchain.m4	Mon Sep 24 10:59:26 2018 -0700
@@ -232,6 +232,7 @@
       XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version 2>&1 | $HEAD -n 1`
       $ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null
       if test $? -ne 0; then
+        AC_MSG_NOTICE([xcodebuild output: $XCODE_VERSION_OUTPUT])
         AC_MSG_ERROR([Failed to determine Xcode version.])
       fi
       XCODE_MAJOR_VERSION=`$ECHO $XCODE_VERSION_OUTPUT | \
@@ -995,11 +996,6 @@
 # Do some additional checks on the detected tools.
 AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
 [
-  # The package path is used only on macosx?
-  # FIXME: clean this up, and/or move it elsewhere.
-  PACKAGE_PATH=/opt/local
-  AC_SUBST(PACKAGE_PATH)
-
   # Check for extra potential brokenness.
   if test  "x$TOOLCHAIN_TYPE" = xmicrosoft; then
     # On Windows, double-check that we got the right compiler.
@@ -1022,6 +1018,12 @@
     # This is later checked when setting flags.
   fi
 
+  if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
+    # Check if linker has -z noexecstack.
+    HAS_NOEXECSTACK=`$CC -Wl,--help 2>/dev/null | $GREP 'z noexecstack'`
+    # This is later checked when setting flags.
+  fi
+
   # Setup hotspot lecagy names for toolchains
   HOTSPOT_TOOLCHAIN_TYPE=$TOOLCHAIN_TYPE
   if test "x$TOOLCHAIN_TYPE" = xclang; then
--- a/make/common/NativeCompilation.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/common/NativeCompilation.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -594,9 +594,13 @@
   # Pick up disabled warnings, if possible on this platform.
   ifneq ($(DISABLE_WARNING_PREFIX), )
     $1_EXTRA_CFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
+        $$(DISABLED_WARNINGS) \
+        $$(DISABLED_WARNINGS_C) \
         $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
         $$($1_DISABLED_WARNINGS_C_$(TOOLCHAIN_TYPE)))
     $1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
+        $$(DISABLED_WARNINGS) \
+        $$(DISABLED_WARNINGS_CXX) \
         $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
         $$($1_DISABLED_WARNINGS_CXX_$(TOOLCHAIN_TYPE)))
   endif
@@ -614,6 +618,7 @@
   ifeq ($$($1_WARNINGS_AS_ERRORS_$(TOOLCHAIN_TYPE)), true)
     $1_EXTRA_CFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
     $1_EXTRA_CXXFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
+    $1_EXTRA_LDFLAGS += $(LDFLAGS_WARNINGS_ARE_ERRORS)
   endif
 
   ifeq (NONE, $$($1_OPTIMIZATION))
@@ -780,8 +785,8 @@
 
   # Pickup extra OPENJDK_TARGET_OS_TYPE and/or OPENJDK_TARGET_OS dependent variables
   # for LDFLAGS and LIBS
-  $1_EXTRA_LDFLAGS := $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
-  $1_EXTRA_LIBS := $$($1_LIBS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LIBS_$(OPENJDK_TARGET_OS))
+  $1_EXTRA_LDFLAGS += $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
+  $1_EXTRA_LIBS += $$($1_LIBS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LIBS_$(OPENJDK_TARGET_OS))
   ifneq ($$($1_REAL_MAPFILE), )
     $1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
   endif
--- a/make/common/TestFilesCompilation.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/common/TestFilesCompilation.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -60,14 +60,16 @@
   ifeq ($$($1_TYPE), LIBRARY)
     $1_PREFIX = lib
     $1_OUTPUT_SUBDIR := lib
-    $1_CFLAGS += $(CFLAGS_TESTLIB)
-    $1_LDFLAGS := $(LDFLAGS_TESTLIB) $(call SET_SHARED_LIBRARY_ORIGIN)
+    $1_BASE_CFLAGS := $(CFLAGS_JDKLIB)
+    $1_BASE_CXXFLAGS := $(CXXFLAGS_JDKLIB)
+    $1_LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)
     $1_COMPILATION_TYPE := LIBRARY
   else ifeq ($$($1_TYPE), PROGRAM)
     $1_PREFIX = exe
     $1_OUTPUT_SUBDIR := bin
-    $1_CFLAGS += $(CFLAGS_TESTEXE)
-    $1_LDFLAGS := $(LDFLAGS_TESTEXE)
+    $1_BASE_CFLAGS := $(CFLAGS_JDKEXE)
+    $1_BASE_CXXFLAGS := $(CXXFLAGS_JDKEXE)
+    $1_LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_TESTEXE)
     $1_COMPILATION_TYPE := EXECUTABLE
   else
     $$(error Unknown type: $$($1_TYPE))
@@ -92,8 +94,13 @@
         INCLUDE_FILES := $$(notdir $$(file)), \
         OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \
         OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \
-        CFLAGS := $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
+        CFLAGS := $$($1_BASE_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
+        CXXFLAGS := $$($1_BASE_CXXFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
         LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \
+        DISABLED_WARNINGS_gcc := format undef unused-function unused-value, \
+        DISABLED_WARNINGS_clang := undef format-nonliteral \
+            missing-field-initializers sometimes-uninitialized, \
+        DISABLED_WARNINGS_CXX_solstudio := wvarhidenmem, \
         LIBS := $$($1_LIBS_$$(name)), \
         TOOLCHAIN := $(if $$(filter %.cpp, $$(file)), TOOLCHAIN_LINK_CXX, TOOLCHAIN_DEFAULT), \
         OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.activation-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,64 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+-module name java.activation
+
+-class name javax/activation/ActivationDataFlavor
+
+-class name javax/activation/CommandInfo
+
+-class name javax/activation/CommandMap
+
+-class name javax/activation/CommandObject
+
+-class name javax/activation/DataContentHandler
+
+-class name javax/activation/DataContentHandlerFactory
+
+-class name javax/activation/DataHandler
+
+-class name javax/activation/DataSource
+
+-class name javax/activation/FileDataSource
+
+-class name javax/activation/FileTypeMap
+
+-class name javax/activation/MailcapCommandMap
+
+-class name javax/activation/MimeType
+
+-class name javax/activation/MimeTypeParameterList
+
+-class name javax/activation/MimeTypeParseException
+
+-class name javax/activation/MimetypesFileTypeMap
+
+-class name javax/activation/URLDataSource
+
+-class name javax/activation/UnsupportedDataTypeException
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.base-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,4001 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.base
+header exports java/io,java/lang,java/lang/annotation,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/acl,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
+
+class name java/io/BufferedInputStream
+header extends java/io/FilterInputStream flags 21
+
+class name java/io/BufferedOutputStream
+header extends java/io/FilterOutputStream flags 21
+
+class name java/io/BufferedWriter
+header extends java/io/Writer flags 21
+
+class name java/io/ByteArrayInputStream
+header extends java/io/InputStream flags 21
+method name readAllBytes descriptor ()[B flags 21
+method name readNBytes descriptor ([BII)I flags 1
+method name transferTo descriptor (Ljava/io/OutputStream;)J thrownTypes java/io/IOException flags 21
+
+class name java/io/ByteArrayOutputStream
+header extends java/io/OutputStream flags 21
+method name writeBytes descriptor ([B)V flags 1
+
+class name java/io/CharArrayReader
+header extends java/io/Reader flags 21
+
+class name java/io/CharArrayWriter
+header extends java/io/Writer flags 21
+
+class name java/io/CharConversionException
+header extends java/io/IOException flags 21
+
+class name java/io/Closeable
+header extends java/lang/Object implements java/lang/AutoCloseable flags 601
+
+class name java/io/DataInput
+header extends java/lang/Object flags 601
+
+class name java/io/DataInputStream
+header extends java/io/FilterInputStream implements java/io/DataInput flags 21
+
+class name java/io/DataOutput
+header extends java/lang/Object flags 601
+
+class name java/io/DataOutputStream
+header extends java/io/FilterOutputStream implements java/io/DataOutput flags 21
+
+class name java/io/EOFException
+header extends java/io/IOException flags 21
+
+class name java/io/Externalizable
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name java/io/FileFilter
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/io/FileNotFoundException
+header extends java/io/IOException flags 21
+
+class name java/io/FileReader
+header extends java/io/InputStreamReader flags 21
+method name <init> descriptor (Ljava/lang/String;Ljava/nio/charset/Charset;)V thrownTypes java/io/IOException flags 1
+method name <init> descriptor (Ljava/io/File;Ljava/nio/charset/Charset;)V thrownTypes java/io/IOException flags 1
+
+class name java/io/FileWriter
+header extends java/io/OutputStreamWriter flags 21
+method name <init> descriptor (Ljava/lang/String;Ljava/nio/charset/Charset;)V thrownTypes java/io/IOException flags 1
+method name <init> descriptor (Ljava/lang/String;Ljava/nio/charset/Charset;Z)V thrownTypes java/io/IOException flags 1
+method name <init> descriptor (Ljava/io/File;Ljava/nio/charset/Charset;)V thrownTypes java/io/IOException flags 1
+method name <init> descriptor (Ljava/io/File;Ljava/nio/charset/Charset;Z)V thrownTypes java/io/IOException flags 1
+
+class name java/io/FilenameFilter
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/io/FilterInputStream
+header extends java/io/InputStream flags 21
+
+class name java/io/FilterOutputStream
+header extends java/io/OutputStream flags 21
+
+class name java/io/FilterReader
+header extends java/io/Reader flags 421
+
+class name java/io/FilterWriter
+header extends java/io/Writer flags 421
+
+class name java/io/Flushable
+header extends java/lang/Object flags 601
+
+class name java/io/IOError
+header extends java/lang/Error flags 21
+
+class name java/io/IOException
+header extends java/lang/Exception flags 21
+
+class name java/io/InputStream
+method name nullInputStream descriptor ()Ljava/io/InputStream; flags 9
+method name readNBytes descriptor (I)[B thrownTypes java/io/IOException flags 1
+
+class name java/io/InputStreamReader
+header extends java/io/Reader flags 21
+
+class name java/io/InterruptedIOException
+header extends java/io/IOException flags 21
+
+class name java/io/InvalidClassException
+header extends java/io/ObjectStreamException flags 21
+
+class name java/io/InvalidObjectException
+header extends java/io/ObjectStreamException flags 21
+
+class name java/io/LineNumberInputStream
+header extends java/io/FilterInputStream flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/io/LineNumberReader
+header extends java/io/BufferedReader flags 21
+
+class name java/io/NotActiveException
+header extends java/io/ObjectStreamException flags 21
+
+class name java/io/NotSerializableException
+header extends java/io/ObjectStreamException flags 21
+
+class name java/io/ObjectInput
+header extends java/lang/Object implements java/io/DataInput,java/lang/AutoCloseable flags 601
+
+class name java/io/ObjectInputFilter
+header extends java/lang/Object nestMembers java/io/ObjectInputFilter$Config,java/io/ObjectInputFilter$Status,java/io/ObjectInputFilter$FilterInfo flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/io/ObjectInputFilter$Config outerClass java/io/ObjectInputFilter innerClassName Config flags 19
+innerclass innerClass java/io/ObjectInputFilter$Status outerClass java/io/ObjectInputFilter innerClassName Status flags 4019
+innerclass innerClass java/io/ObjectInputFilter$FilterInfo outerClass java/io/ObjectInputFilter innerClassName FilterInfo flags 609
+
+class name java/io/ObjectInputFilter$Config
+header extends java/lang/Object nestHost java/io/ObjectInputFilter flags 31
+innerclass innerClass java/io/ObjectInputFilter$Config outerClass java/io/ObjectInputFilter innerClassName Config flags 19
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/io/ObjectInputFilter$FilterInfo
+header extends java/lang/Object nestHost java/io/ObjectInputFilter flags 601
+innerclass innerClass java/io/ObjectInputFilter$FilterInfo outerClass java/io/ObjectInputFilter innerClassName FilterInfo flags 609
+
+class name java/io/ObjectInputFilter$Status
+header extends java/lang/Enum nestHost java/io/ObjectInputFilter flags 4031 signature Ljava/lang/Enum<Ljava/io/ObjectInputFilter$Status;>;
+innerclass innerClass java/io/ObjectInputFilter$Status outerClass java/io/ObjectInputFilter innerClassName Status flags 4019
+
+class name java/io/ObjectInputStream
+header extends java/io/InputStream implements java/io/ObjectInput,java/io/ObjectStreamConstants nestMembers java/io/ObjectInputStream$GetField flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectInputFilter$Status outerClass java/io/ObjectInputFilter innerClassName Status flags 4019
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/io/ObjectInputFilter$Config outerClass java/io/ObjectInputFilter innerClassName Config flags 19
+innerclass innerClass java/io/ObjectInputFilter$FilterInfo outerClass java/io/ObjectInputFilter innerClassName FilterInfo flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/io/ObjectInputStream$GetField
+header extends java/lang/Object nestHost java/io/ObjectInputStream flags 421
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+
+class name java/io/ObjectInputValidation
+header extends java/lang/Object flags 601
+
+class name java/io/ObjectOutput
+header extends java/lang/Object implements java/io/DataOutput,java/lang/AutoCloseable flags 601
+
+class name java/io/ObjectOutputStream
+header extends java/io/OutputStream implements java/io/ObjectOutput,java/io/ObjectStreamConstants nestMembers java/io/ObjectOutputStream$PutField flags 21
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+
+class name java/io/ObjectOutputStream$PutField
+header extends java/lang/Object nestHost java/io/ObjectOutputStream flags 421
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+
+class name java/io/ObjectStreamConstants
+header extends java/lang/Object flags 601
+
+class name java/io/ObjectStreamException
+header extends java/io/IOException flags 421
+
+class name java/io/ObjectStreamField
+header extends java/lang/Object implements java/lang/Comparable flags 21 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/Object;>;
+
+class name java/io/OptionalDataException
+header extends java/io/ObjectStreamException flags 21
+
+class name java/io/OutputStream
+method name nullOutputStream descriptor ()Ljava/io/OutputStream; flags 9
+
+class name java/io/OutputStreamWriter
+header extends java/io/Writer flags 21
+
+class name java/io/PipedInputStream
+header extends java/io/InputStream flags 21
+
+class name java/io/PipedOutputStream
+header extends java/io/OutputStream flags 21
+
+class name java/io/PipedReader
+header extends java/io/Reader flags 21
+
+class name java/io/PipedWriter
+header extends java/io/Writer flags 21
+
+class name java/io/PrintStream
+header extends java/io/FilterOutputStream implements java/lang/Appendable,java/io/Closeable flags 21
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/io/PrintWriter
+header extends java/io/Writer flags 21
+
+class name java/io/PushbackInputStream
+header extends java/io/FilterInputStream flags 21
+
+class name java/io/PushbackReader
+header extends java/io/FilterReader flags 21
+
+class name java/io/Reader
+method name nullReader descriptor ()Ljava/io/Reader; flags 9
+
+class name java/io/SequenceInputStream
+header extends java/io/InputStream flags 21
+
+class name java/io/Serializable
+header extends java/lang/Object flags 601
+
+class name java/io/SerializablePermission
+header extends java/security/BasicPermission flags 31
+
+class name java/io/StreamCorruptedException
+header extends java/io/ObjectStreamException flags 21
+
+class name java/io/StreamTokenizer
+header extends java/lang/Object flags 21
+
+class name java/io/StringBufferInputStream
+header extends java/io/InputStream flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/io/StringReader
+header extends java/io/Reader flags 21
+
+class name java/io/StringWriter
+header extends java/io/Writer flags 21
+
+class name java/io/SyncFailedException
+header extends java/io/IOException flags 21
+
+class name java/io/UTFDataFormatException
+header extends java/io/IOException flags 21
+
+class name java/io/UncheckedIOException
+header extends java/lang/RuntimeException flags 21
+
+class name java/io/UnsupportedEncodingException
+header extends java/io/IOException flags 21
+
+class name java/io/WriteAbortedException
+header extends java/io/ObjectStreamException flags 21
+
+class name java/io/Writer
+method name nullWriter descriptor ()Ljava/io/Writer; flags 9
+
+class name java/lang/AbstractMethodError
+header extends java/lang/IncompatibleClassChangeError flags 21
+
+class name java/lang/AbstractStringBuilder
+header extends java/lang/Object implements java/lang/Appendable,java/lang/CharSequence flags 420
+innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/Appendable
+header extends java/lang/Object flags 601
+
+class name java/lang/ArithmeticException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/ArrayIndexOutOfBoundsException
+header extends java/lang/IndexOutOfBoundsException flags 21
+
+class name java/lang/ArrayStoreException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/AssertionError
+header extends java/lang/Error flags 21
+
+class name java/lang/AutoCloseable
+header extends java/lang/Object flags 601
+
+class name java/lang/Boolean
+header extends java/lang/Object implements java/io/Serializable,java/lang/Comparable flags 31 signature Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/Boolean;>;
+
+class name java/lang/BootstrapMethodError
+header extends java/lang/LinkageError flags 21
+
+class name java/lang/CharSequence
+method name compare descriptor (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I flags 9
+
+class name java/lang/Character
+header extends java/lang/Object implements java/io/Serializable,java/lang/Comparable nestMembers java/lang/Character$UnicodeScript,java/lang/Character$UnicodeBlock,java/lang/Character$Subset flags 31 signature Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/Character;>;
+innerclass innerClass java/lang/Character$UnicodeScript outerClass java/lang/Character innerClassName UnicodeScript flags 4019
+innerclass innerClass java/lang/Character$UnicodeBlock outerClass java/lang/Character innerClassName UnicodeBlock flags 19
+innerclass innerClass java/lang/Character$Subset outerClass java/lang/Character innerClassName Subset flags 9
+method name toString descriptor (I)Ljava/lang/String; flags 9
+
+class name java/lang/Character$Subset
+header extends java/lang/Object nestHost java/lang/Character flags 21
+innerclass innerClass java/lang/Character$Subset outerClass java/lang/Character innerClassName Subset flags 9
+
+class name java/lang/Character$UnicodeBlock
+header extends java/lang/Character$Subset nestHost java/lang/Character flags 31
+innerclass innerClass java/lang/Character$UnicodeBlock outerClass java/lang/Character innerClassName UnicodeBlock flags 19
+innerclass innerClass java/lang/Character$Subset outerClass java/lang/Character innerClassName Subset flags 9
+field name SYRIAC_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name CYRILLIC_EXTENDED_C descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name OSAGE descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name NEWA descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name MONGOLIAN_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name MARCHEN descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name TANGUT descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name TANGUT_COMPONENTS descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name KANA_EXTENDED_A descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name GLAGOLITIC_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name ADLAM descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name MASARAM_GONDI descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name ZANABAZAR_SQUARE descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name NUSHU descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name SOYOMBO descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name BHAIKSUKI descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+field name CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F descriptor Ljava/lang/Character$UnicodeBlock; flags 19
+
+class name java/lang/Character$UnicodeScript
+header extends java/lang/Enum nestHost java/lang/Character flags 4031 signature Ljava/lang/Enum<Ljava/lang/Character$UnicodeScript;>;
+innerclass innerClass java/lang/Character$UnicodeScript outerClass java/lang/Character innerClassName UnicodeScript flags 4019
+field name ADLAM descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+field name BHAIKSUKI descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+field name MARCHEN descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+field name NEWA descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+field name OSAGE descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+field name TANGUT descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+field name MASARAM_GONDI descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+field name NUSHU descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+field name SOYOMBO descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+field name ZANABAZAR_SQUARE descriptor Ljava/lang/Character$UnicodeScript; flags 4019
+
+class name java/lang/Class
+method name getNestHost descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>; runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
+method name isNestmateOf descriptor (Ljava/lang/Class;)Z flags 1 signature (Ljava/lang/Class<*>;)Z
+method name getNestMembers descriptor ()[Ljava/lang/Class; flags 1 signature ()[Ljava/lang/Class<*>; runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
+
+class name java/lang/ClassCastException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/ClassCircularityError
+header extends java/lang/LinkageError flags 21
+
+class name java/lang/ClassFormatError
+header extends java/lang/LinkageError flags 21
+
+class name java/lang/ClassNotFoundException
+header extends java/lang/ReflectiveOperationException flags 21
+
+class name java/lang/CloneNotSupportedException
+header extends java/lang/Exception flags 21
+
+class name java/lang/Cloneable
+header extends java/lang/Object flags 601
+
+class name java/lang/Comparable
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/lang/Compiler
+header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name java/lang/Deprecated
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;MODULE;eLjava/lang/annotation/ElementType;PARAMETER;eLjava/lang/annotation/ElementType;TYPE;})
+
+class name java/lang/Double
+header extends java/lang/Number implements java/lang/Comparable flags 31 signature Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Double;>;
+
+class name java/lang/Enum
+header extends java/lang/Object implements java/lang/Comparable,java/io/Serializable flags 421 signature <E:Ljava/lang/Enum<TE;>;>Ljava/lang/Object;Ljava/lang/Comparable<TE;>;Ljava/io/Serializable;
+
+class name java/lang/EnumConstantNotPresentException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/Error
+header extends java/lang/Throwable flags 21
+
+class name java/lang/Exception
+header extends java/lang/Throwable flags 21
+
+class name java/lang/ExceptionInInitializerError
+header extends java/lang/LinkageError flags 21
+
+class name java/lang/Float
+header extends java/lang/Number implements java/lang/Comparable flags 31 signature Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Float;>;
+
+class name java/lang/FunctionalInterface
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})
+
+class name java/lang/IllegalAccessError
+header extends java/lang/IncompatibleClassChangeError flags 21
+
+class name java/lang/IllegalAccessException
+header extends java/lang/ReflectiveOperationException flags 21
+
+class name java/lang/IllegalArgumentException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/IllegalCallerException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/IllegalMonitorStateException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/IllegalStateException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/IllegalThreadStateException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/lang/IncompatibleClassChangeError
+header extends java/lang/LinkageError flags 21
+
+class name java/lang/IndexOutOfBoundsException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/InheritableThreadLocal
+header extends java/lang/ThreadLocal flags 21 signature <T:Ljava/lang/Object;>Ljava/lang/ThreadLocal<TT;>;
+
+class name java/lang/InstantiationError
+header extends java/lang/IncompatibleClassChangeError flags 21
+
+class name java/lang/InstantiationException
+header extends java/lang/ReflectiveOperationException flags 21
+
+class name java/lang/InternalError
+header extends java/lang/VirtualMachineError flags 21
+
+class name java/lang/InterruptedException
+header extends java/lang/Exception flags 21
+
+class name java/lang/Iterable
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/lang/LayerInstantiationException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/LinkageError
+header extends java/lang/Error flags 21
+
+class name java/lang/ModuleLayer
+header extends java/lang/Object nestMembers java/lang/ModuleLayer$Controller flags 31
+innerclass innerClass java/lang/ModuleLayer$Controller outerClass java/lang/ModuleLayer innerClassName Controller flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/ModuleLayer$Controller
+header extends java/lang/Object nestHost java/lang/ModuleLayer flags 31
+innerclass innerClass java/lang/ModuleLayer$Controller outerClass java/lang/ModuleLayer innerClassName Controller flags 19
+
+class name java/lang/NamedPackage
+header extends java/lang/Object flags 20
+
+class name java/lang/NegativeArraySizeException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/NoClassDefFoundError
+header extends java/lang/LinkageError flags 21
+
+class name java/lang/NoSuchFieldError
+header extends java/lang/IncompatibleClassChangeError flags 21
+
+class name java/lang/NoSuchFieldException
+header extends java/lang/ReflectiveOperationException flags 21
+
+class name java/lang/NoSuchMethodError
+header extends java/lang/IncompatibleClassChangeError flags 21
+
+class name java/lang/NoSuchMethodException
+header extends java/lang/ReflectiveOperationException flags 21
+
+class name java/lang/NullPointerException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/Number
+header extends java/lang/Object implements java/io/Serializable flags 421
+
+class name java/lang/NumberFormatException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/lang/Object
+header flags 21
+
+class name java/lang/OutOfMemoryError
+header extends java/lang/VirtualMachineError flags 21
+
+class name java/lang/Override
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)
+
+class name java/lang/ProcessBuilder
+header extends java/lang/Object nestMembers java/lang/ProcessBuilder$Redirect,java/lang/ProcessBuilder$Redirect$Type flags 31
+innerclass innerClass java/lang/ProcessBuilder$Redirect outerClass java/lang/ProcessBuilder innerClassName Redirect flags 409
+innerclass innerClass java/lang/ProcessBuilder$Redirect$Type outerClass java/lang/ProcessBuilder$Redirect innerClassName Type flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/ProcessBuilder$Redirect
+header extends java/lang/Object nestHost java/lang/ProcessBuilder flags 421
+innerclass innerClass java/lang/ProcessBuilder$Redirect outerClass java/lang/ProcessBuilder innerClassName Redirect flags 409
+innerclass innerClass java/lang/ProcessBuilder$Redirect$Type outerClass java/lang/ProcessBuilder$Redirect innerClassName Type flags 4019
+
+class name java/lang/ProcessBuilder$Redirect$Type
+header extends java/lang/Enum nestHost java/lang/ProcessBuilder flags 4031 signature Ljava/lang/Enum<Ljava/lang/ProcessBuilder$Redirect$Type;>;
+innerclass innerClass java/lang/ProcessBuilder$Redirect outerClass java/lang/ProcessBuilder innerClassName Redirect flags 409
+innerclass innerClass java/lang/ProcessBuilder$Redirect$Type outerClass java/lang/ProcessBuilder$Redirect innerClassName Type flags 4019
+
+class name java/lang/ProcessHandle
+header extends java/lang/Object implements java/lang/Comparable nestMembers java/lang/ProcessHandle$Info flags 601 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/ProcessHandle;>;
+innerclass innerClass java/lang/ProcessHandle$Info outerClass java/lang/ProcessHandle innerClassName Info flags 609
+
+class name java/lang/ProcessHandle$Info
+header extends java/lang/Object nestHost java/lang/ProcessHandle flags 601
+innerclass innerClass java/lang/ProcessHandle$Info outerClass java/lang/ProcessHandle innerClassName Info flags 609
+
+class name java/lang/Readable
+header extends java/lang/Object flags 601
+
+class name java/lang/ReflectiveOperationException
+header extends java/lang/Exception flags 21
+
+class name java/lang/Runnable
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/lang/Runtime
+header extends java/lang/Object nestMembers java/lang/Runtime$Version flags 21
+innerclass innerClass java/lang/Runtime$Version outerClass java/lang/Runtime innerClassName Version flags 19
+-method name runFinalizersOnExit descriptor (Z)V
+
+class name java/lang/Runtime$Version
+header extends java/lang/Object implements java/lang/Comparable nestHost java/lang/Runtime flags 31 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/Runtime$Version;>;
+innerclass innerClass java/lang/Runtime$Version outerClass java/lang/Runtime innerClassName Version flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/RuntimeException
+header extends java/lang/Exception flags 21
+
+class name java/lang/RuntimePermission
+header extends java/security/BasicPermission flags 31
+
+class name java/lang/SafeVarargs
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;METHOD;})
+
+class name java/lang/SecurityException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/SecurityManager
+-method name checkTopLevelWindow descriptor (Ljava/lang/Object;)Z
+-method name checkSystemClipboardAccess descriptor ()V
+-method name checkAwtEventQueueAccess descriptor ()V
+-method name checkMemberAccess descriptor (Ljava/lang/Class;I)V
+
+class name java/lang/StackOverflowError
+header extends java/lang/VirtualMachineError flags 21
+
+class name java/lang/StackWalker
+header extends java/lang/Object nestMembers java/lang/StackWalker$Option,java/lang/StackWalker$StackFrame flags 31
+innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019
+innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/StackWalker$Option
+header extends java/lang/Enum nestHost java/lang/StackWalker flags 4031 signature Ljava/lang/Enum<Ljava/lang/StackWalker$Option;>;
+innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019
+
+class name java/lang/StackWalker$StackFrame
+header extends java/lang/Object nestHost java/lang/StackWalker flags 601
+innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609
+
+class name java/lang/String
+method name strip descriptor ()Ljava/lang/String; flags 1
+method name stripLeading descriptor ()Ljava/lang/String; flags 1
+method name stripTrailing descriptor ()Ljava/lang/String; flags 1
+method name isBlank descriptor ()Z flags 1
+method name lines descriptor ()Ljava/util/stream/Stream; flags 1 signature ()Ljava/util/stream/Stream<Ljava/lang/String;>;
+method name repeat descriptor (I)Ljava/lang/String; flags 1
+
+class name java/lang/StringBuffer
+header extends java/lang/AbstractStringBuilder implements java/io/Serializable,java/lang/Comparable,java/lang/CharSequence flags 31 signature Ljava/lang/AbstractStringBuilder;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/StringBuffer;>;Ljava/lang/CharSequence;
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+method name compareTo descriptor (Ljava/lang/StringBuffer;)I flags 21
+method name compareTo descriptor (Ljava/lang/Object;)I flags 1041
+
+class name java/lang/StringBuilder
+header extends java/lang/AbstractStringBuilder implements java/io/Serializable,java/lang/Comparable,java/lang/CharSequence flags 31 signature Ljava/lang/AbstractStringBuilder;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/StringBuilder;>;Ljava/lang/CharSequence;
+method name compareTo descriptor (Ljava/lang/StringBuilder;)I flags 1
+method name compareTo descriptor (Ljava/lang/Object;)I flags 1041
+
+class name java/lang/StringIndexOutOfBoundsException
+header extends java/lang/IndexOutOfBoundsException flags 21
+
+class name java/lang/SuppressWarnings
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;PARAMETER;eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;MODULE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)
+
+class name java/lang/System
+header extends java/lang/Object nestMembers java/lang/System$LoggerFinder,java/lang/System$Logger,java/lang/System$Logger$Level flags 31
+innerclass innerClass java/lang/System$LoggerFinder outerClass java/lang/System innerClassName LoggerFinder flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+-method name runFinalizersOnExit descriptor (Z)V
+
+class name java/lang/System$Logger
+header extends java/lang/Object nestHost java/lang/System flags 601
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+
+class name java/lang/System$Logger$Level
+header extends java/lang/Enum nestHost java/lang/System flags 4031 signature Ljava/lang/Enum<Ljava/lang/System$Logger$Level;>;
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+
+class name java/lang/System$LoggerFinder
+header extends java/lang/Object nestHost java/lang/System flags 421
+innerclass innerClass java/lang/System$LoggerFinder outerClass java/lang/System innerClassName LoggerFinder flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/Thread
+header extends java/lang/Object implements java/lang/Runnable nestMembers java/lang/Thread$UncaughtExceptionHandler,java/lang/Thread$State flags 21
+innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609
+innerclass innerClass java/lang/Thread$State outerClass java/lang/Thread innerClassName State flags 4019
+-method name stop descriptor (Ljava/lang/Throwable;)V
+-method name destroy descriptor ()V
+
+class name java/lang/Thread$State
+header extends java/lang/Enum nestHost java/lang/Thread flags 4031 signature Ljava/lang/Enum<Ljava/lang/Thread$State;>;
+innerclass innerClass java/lang/Thread$State outerClass java/lang/Thread innerClassName State flags 4019
+
+class name java/lang/Thread$UncaughtExceptionHandler
+header extends java/lang/Object nestHost java/lang/Thread flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609
+
+class name java/lang/ThreadDeath
+header extends java/lang/Error flags 21
+
+class name java/lang/ThreadGroup
+header extends java/lang/Object implements java/lang/Thread$UncaughtExceptionHandler flags 21
+innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609
+
+class name java/lang/TypeNotPresentException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/UnknownError
+header extends java/lang/VirtualMachineError flags 21
+
+class name java/lang/UnsatisfiedLinkError
+header extends java/lang/LinkageError flags 21
+
+class name java/lang/UnsupportedClassVersionError
+header extends java/lang/ClassFormatError flags 21
+
+class name java/lang/UnsupportedOperationException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/VerifyError
+header extends java/lang/LinkageError flags 21
+
+class name java/lang/VirtualMachineError
+header extends java/lang/Error flags 421
+
+class name java/lang/Void
+header extends java/lang/Object flags 31
+
+class name java/lang/annotation/Annotation
+header extends java/lang/Object flags 601
+
+class name java/lang/annotation/AnnotationFormatError
+header extends java/lang/Error flags 21
+
+class name java/lang/annotation/AnnotationTypeMismatchException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/annotation/Documented
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;ANNOTATION_TYPE;})
+
+class name java/lang/annotation/ElementType
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/lang/annotation/ElementType;>;
+
+class name java/lang/annotation/IncompleteAnnotationException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/annotation/Inherited
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;ANNOTATION_TYPE;})
+
+class name java/lang/annotation/Native
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)
+
+class name java/lang/annotation/Repeatable
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;ANNOTATION_TYPE;})
+
+class name java/lang/annotation/Retention
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;ANNOTATION_TYPE;})
+
+class name java/lang/annotation/RetentionPolicy
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/lang/annotation/RetentionPolicy;>;
+
+class name java/lang/annotation/Target
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;ANNOTATION_TYPE;})
+
+class name java/lang/invoke/CallSite
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/invoke/ConstantBootstraps
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name <init> descriptor ()V flags 1
+method name nullConstant descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; flags 9 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/Object;
+method name primitiveClass descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Class; flags 9 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
+method name enumConstant descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Enum; flags 9 signature <E:Ljava/lang/Enum<TE;>;>(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<TE;>;)TE;
+method name getStaticFinal descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object; flags 9 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/Object;
+method name getStaticFinal descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; flags 9 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/Object;
+method name invoke descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object; thrownTypes java/lang/Throwable flags 89 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
+method name fieldVarHandle descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle; flags 9 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<Ljava/lang/invoke/VarHandle;>;Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle;
+method name staticFieldVarHandle descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle; flags 9 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<Ljava/lang/invoke/VarHandle;>;Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle;
+method name arrayVarHandle descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle; flags 9 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<Ljava/lang/invoke/VarHandle;>;Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle;
+
+class name java/lang/invoke/ConstantCallSite
+header extends java/lang/invoke/CallSite flags 21
+
+class name java/lang/invoke/LambdaConversionException
+header extends java/lang/Exception flags 21
+
+class name java/lang/invoke/LambdaMetafactory
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/invoke/MethodHandleInfo
+header extends java/lang/Object flags 601
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/invoke/MethodHandles
+header extends java/lang/Object nestMembers java/lang/invoke/MethodHandles$Lookup flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019
+
+class name java/lang/invoke/MethodHandles$Lookup
+header extends java/lang/Object nestHost java/lang/invoke/MethodHandles flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019
+
+class name java/lang/invoke/MutableCallSite
+header extends java/lang/invoke/CallSite flags 21
+
+class name java/lang/invoke/StringConcatException
+header extends java/lang/Exception flags 21
+
+class name java/lang/invoke/SwitchPoint
+header extends java/lang/Object flags 21
+
+class name java/lang/invoke/VarHandle
+header extends java/lang/Object nestMembers java/lang/invoke/VarHandle$AccessMode flags 421
+innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019
+
+class name java/lang/invoke/VarHandle$AccessMode
+header extends java/lang/Enum nestHost java/lang/invoke/VarHandle flags 4031 signature Ljava/lang/Enum<Ljava/lang/invoke/VarHandle$AccessMode;>;
+innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019
+
+class name java/lang/invoke/VolatileCallSite
+header extends java/lang/invoke/CallSite flags 21
+
+class name java/lang/invoke/WrongMethodTypeException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/module/Configuration
+header extends java/lang/Object flags 31
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/module/FindException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/module/InvalidModuleDescriptorException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/module/ModuleDescriptor
+header extends java/lang/Object implements java/lang/Comparable nestMembers java/lang/module/ModuleDescriptor$Builder,java/lang/module/ModuleDescriptor$Version,java/lang/module/ModuleDescriptor$Provides,java/lang/module/ModuleDescriptor$Opens,java/lang/module/ModuleDescriptor$Opens$Modifier,java/lang/module/ModuleDescriptor$Exports,java/lang/module/ModuleDescriptor$Exports$Modifier,java/lang/module/ModuleDescriptor$Requires,java/lang/module/ModuleDescriptor$Requires$Modifier,java/lang/module/ModuleDescriptor$Modifier flags 21 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/module/ModuleDescriptor;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Builder outerClass java/lang/module/ModuleDescriptor innerClassName Builder flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Version outerClass java/lang/module/ModuleDescriptor innerClassName Version flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Provides outerClass java/lang/module/ModuleDescriptor innerClassName Provides flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Opens outerClass java/lang/module/ModuleDescriptor innerClassName Opens flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Exports outerClass java/lang/module/ModuleDescriptor innerClassName Exports flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Requires outerClass java/lang/module/ModuleDescriptor innerClassName Requires flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Modifier outerClass java/lang/module/ModuleDescriptor innerClassName Modifier flags 4019
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/module/ModuleDescriptor$Opens$Modifier outerClass java/lang/module/ModuleDescriptor$Opens innerClassName Modifier flags 4019
+innerclass innerClass java/lang/module/ModuleDescriptor$Exports$Modifier outerClass java/lang/module/ModuleDescriptor$Exports innerClassName Modifier flags 4019
+innerclass innerClass java/lang/module/ModuleDescriptor$Requires$Modifier outerClass java/lang/module/ModuleDescriptor$Requires innerClassName Modifier flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/module/ModuleDescriptor$Builder
+header extends java/lang/Object nestHost java/lang/module/ModuleDescriptor flags 31
+innerclass innerClass java/lang/module/ModuleDescriptor$Modifier outerClass java/lang/module/ModuleDescriptor innerClassName Modifier flags 4019
+innerclass innerClass java/lang/module/ModuleDescriptor$Requires outerClass java/lang/module/ModuleDescriptor innerClassName Requires flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Exports outerClass java/lang/module/ModuleDescriptor innerClassName Exports flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Opens outerClass java/lang/module/ModuleDescriptor innerClassName Opens flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Provides outerClass java/lang/module/ModuleDescriptor innerClassName Provides flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Version outerClass java/lang/module/ModuleDescriptor innerClassName Version flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Builder outerClass java/lang/module/ModuleDescriptor innerClassName Builder flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Requires$Modifier outerClass java/lang/module/ModuleDescriptor$Requires innerClassName Modifier flags 4019
+innerclass innerClass java/lang/module/ModuleDescriptor$Exports$Modifier outerClass java/lang/module/ModuleDescriptor$Exports innerClassName Modifier flags 4019
+innerclass innerClass java/lang/module/ModuleDescriptor$Opens$Modifier outerClass java/lang/module/ModuleDescriptor$Opens innerClassName Modifier flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/module/ModuleDescriptor$Exports
+header extends java/lang/Object implements java/lang/Comparable nestHost java/lang/module/ModuleDescriptor flags 31 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/module/ModuleDescriptor$Exports;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Exports outerClass java/lang/module/ModuleDescriptor innerClassName Exports flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Exports$Modifier outerClass java/lang/module/ModuleDescriptor$Exports innerClassName Modifier flags 4019
+
+class name java/lang/module/ModuleDescriptor$Exports$Modifier
+header extends java/lang/Enum nestHost java/lang/module/ModuleDescriptor flags 4031 signature Ljava/lang/Enum<Ljava/lang/module/ModuleDescriptor$Exports$Modifier;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Exports outerClass java/lang/module/ModuleDescriptor innerClassName Exports flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Exports$Modifier outerClass java/lang/module/ModuleDescriptor$Exports innerClassName Modifier flags 4019
+
+class name java/lang/module/ModuleDescriptor$Modifier
+header extends java/lang/Enum nestHost java/lang/module/ModuleDescriptor flags 4031 signature Ljava/lang/Enum<Ljava/lang/module/ModuleDescriptor$Modifier;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Modifier outerClass java/lang/module/ModuleDescriptor innerClassName Modifier flags 4019
+
+class name java/lang/module/ModuleDescriptor$Opens
+header extends java/lang/Object implements java/lang/Comparable nestHost java/lang/module/ModuleDescriptor flags 31 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/module/ModuleDescriptor$Opens;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Opens outerClass java/lang/module/ModuleDescriptor innerClassName Opens flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Opens$Modifier outerClass java/lang/module/ModuleDescriptor$Opens innerClassName Modifier flags 4019
+
+class name java/lang/module/ModuleDescriptor$Opens$Modifier
+header extends java/lang/Enum nestHost java/lang/module/ModuleDescriptor flags 4031 signature Ljava/lang/Enum<Ljava/lang/module/ModuleDescriptor$Opens$Modifier;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Opens outerClass java/lang/module/ModuleDescriptor innerClassName Opens flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Opens$Modifier outerClass java/lang/module/ModuleDescriptor$Opens innerClassName Modifier flags 4019
+
+class name java/lang/module/ModuleDescriptor$Provides
+header extends java/lang/Object implements java/lang/Comparable nestHost java/lang/module/ModuleDescriptor flags 31 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/module/ModuleDescriptor$Provides;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Provides outerClass java/lang/module/ModuleDescriptor innerClassName Provides flags 19
+
+class name java/lang/module/ModuleDescriptor$Requires
+header extends java/lang/Object implements java/lang/Comparable nestHost java/lang/module/ModuleDescriptor flags 31 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/module/ModuleDescriptor$Requires;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Requires outerClass java/lang/module/ModuleDescriptor innerClassName Requires flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Requires$Modifier outerClass java/lang/module/ModuleDescriptor$Requires innerClassName Modifier flags 4019
+innerclass innerClass java/lang/module/ModuleDescriptor$Version outerClass java/lang/module/ModuleDescriptor innerClassName Version flags 19
+
+class name java/lang/module/ModuleDescriptor$Requires$Modifier
+header extends java/lang/Enum nestHost java/lang/module/ModuleDescriptor flags 4031 signature Ljava/lang/Enum<Ljava/lang/module/ModuleDescriptor$Requires$Modifier;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Requires outerClass java/lang/module/ModuleDescriptor innerClassName Requires flags 19
+innerclass innerClass java/lang/module/ModuleDescriptor$Requires$Modifier outerClass java/lang/module/ModuleDescriptor$Requires innerClassName Modifier flags 4019
+
+class name java/lang/module/ModuleDescriptor$Version
+header extends java/lang/Object implements java/lang/Comparable nestHost java/lang/module/ModuleDescriptor flags 31 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/module/ModuleDescriptor$Version;>;
+innerclass innerClass java/lang/module/ModuleDescriptor$Version outerClass java/lang/module/ModuleDescriptor innerClassName Version flags 19
+
+class name java/lang/module/ModuleReader
+header extends java/lang/Object implements java/io/Closeable flags 601
+
+class name java/lang/module/ModuleReference
+header extends java/lang/Object flags 421
+
+class name java/lang/module/ResolutionException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/module/ResolvedModule
+header extends java/lang/Object flags 31
+
+class name java/lang/ref/Cleaner
+header extends java/lang/Object nestMembers java/lang/ref/Cleaner$Cleanable flags 31
+innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609
+
+class name java/lang/ref/Cleaner$Cleanable
+header extends java/lang/Object nestHost java/lang/ref/Cleaner flags 601
+innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609
+
+class name java/lang/ref/PhantomReference
+header extends java/lang/ref/Reference flags 21 signature <T:Ljava/lang/Object;>Ljava/lang/ref/Reference<TT;>;
+
+class name java/lang/ref/Reference
+-method name reachabilityFence descriptor (Ljava/lang/Object;)V
+method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 4
+method name reachabilityFence descriptor (Ljava/lang/Object;)V flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
+
+class name java/lang/ref/SoftReference
+header extends java/lang/ref/Reference flags 21 signature <T:Ljava/lang/Object;>Ljava/lang/ref/Reference<TT;>;
+
+class name java/lang/ref/WeakReference
+header extends java/lang/ref/Reference flags 21 signature <T:Ljava/lang/Object;>Ljava/lang/ref/Reference<TT;>;
+
+class name java/lang/reflect/AccessibleObject
+header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+-method name setAccessible descriptor (Z)V
+method name setAccessible descriptor (Z)V flags 1 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
+
+class name java/lang/reflect/AnnotatedArrayType
+header extends java/lang/Object implements java/lang/reflect/AnnotatedType flags 601
+
+class name java/lang/reflect/AnnotatedElement
+header extends java/lang/Object flags 601
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/reflect/AnnotatedParameterizedType
+header extends java/lang/Object implements java/lang/reflect/AnnotatedType flags 601
+
+class name java/lang/reflect/AnnotatedType
+header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 601
+
+class name java/lang/reflect/AnnotatedTypeVariable
+header extends java/lang/Object implements java/lang/reflect/AnnotatedType flags 601
+
+class name java/lang/reflect/AnnotatedWildcardType
+header extends java/lang/Object implements java/lang/reflect/AnnotatedType flags 601
+
+class name java/lang/reflect/Array
+header extends java/lang/Object flags 31
+
+class name java/lang/reflect/Constructor
+header extends java/lang/reflect/Executable flags 31 signature <T:Ljava/lang/Object;>Ljava/lang/reflect/Executable;
+
+class name java/lang/reflect/Executable
+header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/Member,java/lang/reflect/GenericDeclaration flags 421
+
+class name java/lang/reflect/Field
+header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/Member flags 31
+
+class name java/lang/reflect/GenericArrayType
+header extends java/lang/Object implements java/lang/reflect/Type flags 601
+
+class name java/lang/reflect/GenericDeclaration
+header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 601
+
+class name java/lang/reflect/GenericSignatureFormatError
+header extends java/lang/ClassFormatError flags 21
+
+class name java/lang/reflect/InaccessibleObjectException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/reflect/InvocationHandler
+header extends java/lang/Object flags 601
+
+class name java/lang/reflect/InvocationTargetException
+header extends java/lang/ReflectiveOperationException flags 21
+
+class name java/lang/reflect/MalformedParameterizedTypeException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/reflect/MalformedParametersException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/reflect/Member
+header extends java/lang/Object flags 601
+
+class name java/lang/reflect/Method
+header extends java/lang/reflect/Executable flags 31
+
+class name java/lang/reflect/Modifier
+header extends java/lang/Object flags 21
+
+class name java/lang/reflect/Parameter
+header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 31
+
+class name java/lang/reflect/ParameterizedType
+header extends java/lang/Object implements java/lang/reflect/Type flags 601
+
+class name java/lang/reflect/ReflectPermission
+header extends java/security/BasicPermission flags 31
+
+class name java/lang/reflect/Type
+header extends java/lang/Object flags 601
+
+class name java/lang/reflect/TypeVariable
+header extends java/lang/Object implements java/lang/reflect/Type,java/lang/reflect/AnnotatedElement flags 601 signature <D::Ljava/lang/reflect/GenericDeclaration;>Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/lang/reflect/AnnotatedElement;
+
+class name java/lang/reflect/UndeclaredThrowableException
+header extends java/lang/RuntimeException flags 21
+
+class name java/lang/reflect/WildcardType
+header extends java/lang/Object implements java/lang/reflect/Type flags 601
+
+class name java/math/MathContext
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/math/RoundingMode
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/math/RoundingMode;>;
+
+class name java/net/Authenticator
+header extends java/lang/Object nestMembers java/net/Authenticator$RequestorType flags 421
+innerclass innerClass java/net/Authenticator$RequestorType outerClass java/net/Authenticator innerClassName RequestorType flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/net/Authenticator$RequestorType
+header extends java/lang/Enum nestHost java/net/Authenticator flags 4031 signature Ljava/lang/Enum<Ljava/net/Authenticator$RequestorType;>;
+innerclass innerClass java/net/Authenticator$RequestorType outerClass java/net/Authenticator innerClassName RequestorType flags 4019
+
+class name java/net/BindException
+header extends java/net/SocketException flags 21
+
+class name java/net/CacheRequest
+header extends java/lang/Object flags 421
+
+class name java/net/CacheResponse
+header extends java/lang/Object flags 421
+
+class name java/net/ConnectException
+header extends java/net/SocketException flags 21
+
+class name java/net/ContentHandler
+header extends java/lang/Object flags 421
+
+class name java/net/ContentHandlerFactory
+header extends java/lang/Object flags 601
+
+class name java/net/CookieHandler
+header extends java/lang/Object flags 421
+
+class name java/net/CookieStore
+header extends java/lang/Object flags 601
+
+class name java/net/DatagramSocketImpl
+header extends java/lang/Object implements java/net/SocketOptions flags 421
+
+class name java/net/DatagramSocketImplFactory
+header extends java/lang/Object flags 601
+
+class name java/net/FileNameMap
+header extends java/lang/Object flags 601
+
+class name java/net/HttpRetryException
+header extends java/io/IOException flags 21
+
+class name java/net/HttpURLConnection
+header extends java/net/URLConnection flags 421
+
+class name java/net/Inet4Address
+header extends java/net/InetAddress flags 31
+
+class name java/net/InterfaceAddress
+header extends java/lang/Object flags 21
+
+class name java/net/JarURLConnection
+header extends java/net/URLConnection flags 421
+
+class name java/net/MalformedURLException
+header extends java/io/IOException flags 21
+
+class name java/net/MulticastSocket
+header extends java/net/DatagramSocket flags 21
+
+class name java/net/NetPermission
+header extends java/security/BasicPermission flags 31
+
+class name java/net/NoRouteToHostException
+header extends java/net/SocketException flags 21
+
+class name java/net/PasswordAuthentication
+header extends java/lang/Object flags 31
+
+class name java/net/PortUnreachableException
+header extends java/net/SocketException flags 21
+
+class name java/net/ProtocolException
+header extends java/io/IOException flags 21
+
+class name java/net/ProtocolFamily
+header extends java/lang/Object flags 601
+
+class name java/net/Proxy
+header extends java/lang/Object nestMembers java/net/Proxy$Type flags 21
+innerclass innerClass java/net/Proxy$Type outerClass java/net/Proxy innerClassName Type flags 4019
+
+class name java/net/Proxy$Type
+header extends java/lang/Enum nestHost java/net/Proxy flags 4031 signature Ljava/lang/Enum<Ljava/net/Proxy$Type;>;
+innerclass innerClass java/net/Proxy$Type outerClass java/net/Proxy innerClassName Type flags 4019
+
+class name java/net/ResponseCache
+header extends java/lang/Object flags 421
+
+class name java/net/SecureCacheResponse
+header extends java/net/CacheResponse flags 421
+
+class name java/net/SocketAddress
+header extends java/lang/Object implements java/io/Serializable flags 421
+
+class name java/net/SocketException
+header extends java/io/IOException flags 21
+
+class name java/net/SocketImpl
+header extends java/lang/Object implements java/net/SocketOptions flags 421
+
+class name java/net/SocketImplFactory
+header extends java/lang/Object flags 601
+
+class name java/net/SocketOption
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/net/SocketOptions
+header extends java/lang/Object flags 601
+
+class name java/net/SocketTimeoutException
+header extends java/io/InterruptedIOException flags 21
+
+class name java/net/StandardProtocolFamily
+header extends java/lang/Enum implements java/net/ProtocolFamily flags 4031 signature Ljava/lang/Enum<Ljava/net/StandardProtocolFamily;>;Ljava/net/ProtocolFamily;
+
+class name java/net/URISyntaxException
+header extends java/lang/Exception flags 21
+
+class name java/net/URLDecoder
+header extends java/lang/Object flags 21
+
+class name java/net/URLEncoder
+header extends java/lang/Object flags 21
+
+class name java/net/URLStreamHandler
+header extends java/lang/Object flags 421
+
+class name java/net/URLStreamHandlerFactory
+header extends java/lang/Object flags 601
+
+class name java/net/UnknownHostException
+header extends java/io/IOException flags 21
+
+class name java/net/UnknownServiceException
+header extends java/io/IOException flags 21
+
+class name java/net/spi/URLStreamHandlerProvider
+header extends java/lang/Object implements java/net/URLStreamHandlerFactory flags 421
+
+class name java/nio/BufferOverflowException
+header extends java/lang/RuntimeException flags 21
+
+class name java/nio/BufferUnderflowException
+header extends java/lang/RuntimeException flags 21
+
+class name java/nio/ByteBuffer
+header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/ByteBuffer;>;
+method name mismatch descriptor (Ljava/nio/ByteBuffer;)I flags 1
+
+class name java/nio/ByteOrder
+header extends java/lang/Object flags 31
+
+class name java/nio/CharBuffer
+header extends java/nio/Buffer implements java/lang/Comparable,java/lang/Appendable,java/lang/CharSequence,java/lang/Readable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/CharBuffer;>;Ljava/lang/Appendable;Ljava/lang/CharSequence;Ljava/lang/Readable;
+innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name mismatch descriptor (Ljava/nio/CharBuffer;)I flags 1
+
+class name java/nio/DoubleBuffer
+header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/DoubleBuffer;>;
+method name mismatch descriptor (Ljava/nio/DoubleBuffer;)I flags 1
+
+class name java/nio/FloatBuffer
+header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/FloatBuffer;>;
+method name mismatch descriptor (Ljava/nio/FloatBuffer;)I flags 1
+
+class name java/nio/IntBuffer
+header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/IntBuffer;>;
+method name mismatch descriptor (Ljava/nio/IntBuffer;)I flags 1
+
+class name java/nio/InvalidMarkException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/LongBuffer
+header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/LongBuffer;>;
+method name mismatch descriptor (Ljava/nio/LongBuffer;)I flags 1
+
+class name java/nio/MappedByteBuffer
+header extends java/nio/ByteBuffer flags 421
+
+class name java/nio/ReadOnlyBufferException
+header extends java/lang/UnsupportedOperationException flags 21
+
+class name java/nio/ShortBuffer
+header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/ShortBuffer;>;
+method name mismatch descriptor (Ljava/nio/ShortBuffer;)I flags 1
+
+class name java/nio/channels/AcceptPendingException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/AlreadyBoundException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/AlreadyConnectedException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/AsynchronousByteChannel
+header extends java/lang/Object implements java/nio/channels/AsynchronousChannel flags 601
+
+class name java/nio/channels/AsynchronousChannel
+header extends java/lang/Object implements java/nio/channels/Channel flags 601
+
+class name java/nio/channels/AsynchronousChannelGroup
+header extends java/lang/Object flags 421
+
+class name java/nio/channels/AsynchronousCloseException
+header extends java/nio/channels/ClosedChannelException flags 21
+
+class name java/nio/channels/AsynchronousFileChannel
+header extends java/lang/Object implements java/nio/channels/AsynchronousChannel flags 421
+
+class name java/nio/channels/AsynchronousServerSocketChannel
+header extends java/lang/Object implements java/nio/channels/AsynchronousChannel,java/nio/channels/NetworkChannel flags 421
+
+class name java/nio/channels/AsynchronousSocketChannel
+header extends java/lang/Object implements java/nio/channels/AsynchronousByteChannel,java/nio/channels/NetworkChannel flags 421
+
+class name java/nio/channels/ByteChannel
+header extends java/lang/Object implements java/nio/channels/ReadableByteChannel,java/nio/channels/WritableByteChannel flags 601
+
+class name java/nio/channels/CancelledKeyException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/Channel
+header extends java/lang/Object implements java/io/Closeable flags 601
+
+class name java/nio/channels/ClosedByInterruptException
+header extends java/nio/channels/AsynchronousCloseException flags 21
+
+class name java/nio/channels/ClosedChannelException
+header extends java/io/IOException flags 21
+
+class name java/nio/channels/ClosedSelectorException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/CompletionHandler
+header extends java/lang/Object flags 601 signature <V:Ljava/lang/Object;A:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/nio/channels/ConnectionPendingException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/DatagramChannel
+header extends java/nio/channels/spi/AbstractSelectableChannel implements java/nio/channels/ByteChannel,java/nio/channels/ScatteringByteChannel,java/nio/channels/GatheringByteChannel,java/nio/channels/MulticastChannel flags 421
+
+class name java/nio/channels/FileChannel
+header extends java/nio/channels/spi/AbstractInterruptibleChannel implements java/nio/channels/SeekableByteChannel,java/nio/channels/GatheringByteChannel,java/nio/channels/ScatteringByteChannel nestMembers java/nio/channels/FileChannel$MapMode flags 421
+innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9
+
+class name java/nio/channels/FileChannel$MapMode
+header extends java/lang/Object nestHost java/nio/channels/FileChannel flags 21
+innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9
+
+class name java/nio/channels/FileLock
+header extends java/lang/Object implements java/lang/AutoCloseable flags 421
+
+class name java/nio/channels/FileLockInterruptionException
+header extends java/io/IOException flags 21
+
+class name java/nio/channels/GatheringByteChannel
+header extends java/lang/Object implements java/nio/channels/WritableByteChannel flags 601
+
+class name java/nio/channels/IllegalBlockingModeException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/IllegalChannelGroupException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/nio/channels/IllegalSelectorException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/nio/channels/InterruptedByTimeoutException
+header extends java/io/IOException flags 21
+
+class name java/nio/channels/InterruptibleChannel
+header extends java/lang/Object implements java/nio/channels/Channel flags 601
+
+class name java/nio/channels/MembershipKey
+header extends java/lang/Object flags 421
+
+class name java/nio/channels/MulticastChannel
+header extends java/lang/Object implements java/nio/channels/NetworkChannel flags 601
+
+class name java/nio/channels/NetworkChannel
+header extends java/lang/Object implements java/nio/channels/Channel flags 601
+
+class name java/nio/channels/NoConnectionPendingException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/NonReadableChannelException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/NonWritableChannelException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/NotYetBoundException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/NotYetConnectedException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/OverlappingFileLockException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/Pipe
+header extends java/lang/Object nestMembers java/nio/channels/Pipe$SinkChannel,java/nio/channels/Pipe$SourceChannel flags 421
+innerclass innerClass java/nio/channels/Pipe$SinkChannel outerClass java/nio/channels/Pipe innerClassName SinkChannel flags 409
+innerclass innerClass java/nio/channels/Pipe$SourceChannel outerClass java/nio/channels/Pipe innerClassName SourceChannel flags 409
+
+class name java/nio/channels/Pipe$SinkChannel
+header extends java/nio/channels/spi/AbstractSelectableChannel implements java/nio/channels/WritableByteChannel,java/nio/channels/GatheringByteChannel nestHost java/nio/channels/Pipe flags 421
+innerclass innerClass java/nio/channels/Pipe$SinkChannel outerClass java/nio/channels/Pipe innerClassName SinkChannel flags 409
+
+class name java/nio/channels/Pipe$SourceChannel
+header extends java/nio/channels/spi/AbstractSelectableChannel implements java/nio/channels/ReadableByteChannel,java/nio/channels/ScatteringByteChannel nestHost java/nio/channels/Pipe flags 421
+innerclass innerClass java/nio/channels/Pipe$SourceChannel outerClass java/nio/channels/Pipe innerClassName SourceChannel flags 409
+
+class name java/nio/channels/ReadPendingException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/ReadableByteChannel
+header extends java/lang/Object implements java/nio/channels/Channel flags 601
+
+class name java/nio/channels/ScatteringByteChannel
+header extends java/lang/Object implements java/nio/channels/ReadableByteChannel flags 601
+
+class name java/nio/channels/SeekableByteChannel
+header extends java/lang/Object implements java/nio/channels/ByteChannel flags 601
+
+class name java/nio/channels/SelectableChannel
+header extends java/nio/channels/spi/AbstractInterruptibleChannel implements java/nio/channels/Channel flags 421
+
+class name java/nio/channels/SelectionKey
+header extends java/lang/Object flags 421
+method name interestOpsOr descriptor (I)I flags 1
+method name interestOpsAnd descriptor (I)I flags 1
+
+class name java/nio/channels/Selector
+header extends java/lang/Object implements java/io/Closeable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name select descriptor (Ljava/util/function/Consumer;J)I thrownTypes java/io/IOException flags 1 signature (Ljava/util/function/Consumer<Ljava/nio/channels/SelectionKey;>;J)I
+method name select descriptor (Ljava/util/function/Consumer;)I thrownTypes java/io/IOException flags 1 signature (Ljava/util/function/Consumer<Ljava/nio/channels/SelectionKey;>;)I
+method name selectNow descriptor (Ljava/util/function/Consumer;)I thrownTypes java/io/IOException flags 1 signature (Ljava/util/function/Consumer<Ljava/nio/channels/SelectionKey;>;)I
+
+class name java/nio/channels/ServerSocketChannel
+header extends java/nio/channels/spi/AbstractSelectableChannel implements java/nio/channels/NetworkChannel flags 421
+
+class name java/nio/channels/ShutdownChannelGroupException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/SocketChannel
+header extends java/nio/channels/spi/AbstractSelectableChannel implements java/nio/channels/ByteChannel,java/nio/channels/ScatteringByteChannel,java/nio/channels/GatheringByteChannel,java/nio/channels/NetworkChannel flags 421
+
+class name java/nio/channels/UnresolvedAddressException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/nio/channels/UnsupportedAddressTypeException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/nio/channels/WritableByteChannel
+header extends java/lang/Object implements java/nio/channels/Channel flags 601
+
+class name java/nio/channels/WritePendingException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/channels/spi/AbstractSelectableChannel
+header extends java/nio/channels/SelectableChannel flags 421
+
+class name java/nio/channels/spi/AbstractSelectionKey
+header extends java/nio/channels/SelectionKey flags 421
+
+class name java/nio/charset/CharacterCodingException
+header extends java/io/IOException flags 21
+
+class name java/nio/charset/CharsetDecoder
+header extends java/lang/Object flags 421
+
+class name java/nio/charset/CharsetEncoder
+header extends java/lang/Object flags 421
+
+class name java/nio/charset/CoderMalfunctionError
+header extends java/lang/Error flags 21
+
+class name java/nio/charset/CoderResult
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/nio/charset/CodingErrorAction
+header extends java/lang/Object flags 21
+
+class name java/nio/charset/IllegalCharsetNameException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/nio/charset/MalformedInputException
+header extends java/nio/charset/CharacterCodingException flags 21
+
+class name java/nio/charset/StandardCharsets
+header extends java/lang/Object flags 31
+
+class name java/nio/charset/UnmappableCharacterException
+header extends java/nio/charset/CharacterCodingException flags 21
+
+class name java/nio/charset/UnsupportedCharsetException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/nio/charset/spi/CharsetProvider
+header extends java/lang/Object flags 421
+
+class name java/nio/file/AccessDeniedException
+header extends java/nio/file/FileSystemException flags 21
+
+class name java/nio/file/AccessMode
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/AccessMode;>;
+
+class name java/nio/file/AtomicMoveNotSupportedException
+header extends java/nio/file/FileSystemException flags 21
+
+class name java/nio/file/ClosedDirectoryStreamException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/file/ClosedFileSystemException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/file/ClosedWatchServiceException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/nio/file/CopyOption
+header extends java/lang/Object flags 601
+
+class name java/nio/file/DirectoryIteratorException
+header extends java/util/ConcurrentModificationException flags 31
+
+class name java/nio/file/DirectoryNotEmptyException
+header extends java/nio/file/FileSystemException flags 21
+
+class name java/nio/file/DirectoryStream
+header extends java/lang/Object implements java/io/Closeable,java/lang/Iterable nestMembers java/nio/file/DirectoryStream$Filter flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Closeable;Ljava/lang/Iterable<TT;>;
+innerclass innerClass java/nio/file/DirectoryStream$Filter outerClass java/nio/file/DirectoryStream innerClassName Filter flags 609
+
+class name java/nio/file/DirectoryStream$Filter
+header extends java/lang/Object nestHost java/nio/file/DirectoryStream flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/nio/file/DirectoryStream$Filter outerClass java/nio/file/DirectoryStream innerClassName Filter flags 609
+
+class name java/nio/file/FileAlreadyExistsException
+header extends java/nio/file/FileSystemException flags 21
+
+class name java/nio/file/FileStore
+header extends java/lang/Object flags 421
+
+class name java/nio/file/FileSystem
+header extends java/lang/Object implements java/io/Closeable flags 421
+
+class name java/nio/file/FileSystemAlreadyExistsException
+header extends java/lang/RuntimeException flags 21
+
+class name java/nio/file/FileSystemException
+header extends java/io/IOException flags 21
+
+class name java/nio/file/FileSystemLoopException
+header extends java/nio/file/FileSystemException flags 21
+
+class name java/nio/file/FileSystemNotFoundException
+header extends java/lang/RuntimeException flags 21
+
+class name java/nio/file/FileVisitOption
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/FileVisitOption;>;
+
+class name java/nio/file/FileVisitResult
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/FileVisitResult;>;
+
+class name java/nio/file/FileVisitor
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/nio/file/Files
+method name readString descriptor (Ljava/nio/file/Path;)Ljava/lang/String; thrownTypes java/io/IOException flags 9
+method name readString descriptor (Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/lang/String; thrownTypes java/io/IOException flags 9
+method name writeString descriptor (Ljava/nio/file/Path;Ljava/lang/CharSequence;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path; thrownTypes java/io/IOException flags 89
+method name writeString descriptor (Ljava/nio/file/Path;Ljava/lang/CharSequence;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path; thrownTypes java/io/IOException flags 89
+
+class name java/nio/file/InvalidPathException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/nio/file/LinkOption
+header extends java/lang/Enum implements java/nio/file/OpenOption,java/nio/file/CopyOption flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/LinkOption;>;Ljava/nio/file/OpenOption;Ljava/nio/file/CopyOption;
+
+class name java/nio/file/LinkPermission
+header extends java/security/BasicPermission flags 31
+
+class name java/nio/file/NoSuchFileException
+header extends java/nio/file/FileSystemException flags 21
+
+class name java/nio/file/NotDirectoryException
+header extends java/nio/file/FileSystemException flags 21
+
+class name java/nio/file/NotLinkException
+header extends java/nio/file/FileSystemException flags 21
+
+class name java/nio/file/OpenOption
+header extends java/lang/Object flags 601
+
+class name java/nio/file/Path
+method name of descriptor (Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path; flags 89
+method name of descriptor (Ljava/net/URI;)Ljava/nio/file/Path; flags 9
+
+class name java/nio/file/PathMatcher
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/nio/file/Paths
+header extends java/lang/Object flags 31
+
+class name java/nio/file/ProviderMismatchException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/nio/file/ProviderNotFoundException
+header extends java/lang/RuntimeException flags 21
+
+class name java/nio/file/ReadOnlyFileSystemException
+header extends java/lang/UnsupportedOperationException flags 21
+
+class name java/nio/file/SecureDirectoryStream
+header extends java/lang/Object implements java/nio/file/DirectoryStream flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/nio/file/DirectoryStream<TT;>;
+
+class name java/nio/file/SimpleFileVisitor
+header extends java/lang/Object implements java/nio/file/FileVisitor flags 21 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/nio/file/FileVisitor<TT;>;
+
+class name java/nio/file/StandardCopyOption
+header extends java/lang/Enum implements java/nio/file/CopyOption flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/StandardCopyOption;>;Ljava/nio/file/CopyOption;
+
+class name java/nio/file/StandardOpenOption
+header extends java/lang/Enum implements java/nio/file/OpenOption flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/StandardOpenOption;>;Ljava/nio/file/OpenOption;
+
+class name java/nio/file/WatchEvent
+header extends java/lang/Object nestMembers java/nio/file/WatchEvent$Modifier,java/nio/file/WatchEvent$Kind flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609
+innerclass innerClass java/nio/file/WatchEvent$Kind outerClass java/nio/file/WatchEvent innerClassName Kind flags 609
+
+class name java/nio/file/WatchEvent$Kind
+header extends java/lang/Object nestHost java/nio/file/WatchEvent flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass java/nio/file/WatchEvent$Kind outerClass java/nio/file/WatchEvent innerClassName Kind flags 609
+
+class name java/nio/file/WatchEvent$Modifier
+header extends java/lang/Object nestHost java/nio/file/WatchEvent flags 601
+innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609
+
+class name java/nio/file/WatchKey
+header extends java/lang/Object flags 601
+
+class name java/nio/file/WatchService
+header extends java/lang/Object implements java/io/Closeable flags 601
+
+class name java/nio/file/Watchable
+header extends java/lang/Object flags 601
+innerclass innerClass java/nio/file/WatchEvent$Kind outerClass java/nio/file/WatchEvent innerClassName Kind flags 609
+innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609
+
+class name java/nio/file/attribute/AclEntry
+header extends java/lang/Object nestMembers java/nio/file/attribute/AclEntry$Builder flags 31
+innerclass innerClass java/nio/file/attribute/AclEntry$Builder outerClass java/nio/file/attribute/AclEntry innerClassName Builder flags 19
+
+class name java/nio/file/attribute/AclEntry$Builder
+header extends java/lang/Object nestHost java/nio/file/attribute/AclEntry flags 31
+innerclass innerClass java/nio/file/attribute/AclEntry$Builder outerClass java/nio/file/attribute/AclEntry innerClassName Builder flags 19
+
+class name java/nio/file/attribute/AclEntryFlag
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/attribute/AclEntryFlag;>;
+
+class name java/nio/file/attribute/AclEntryPermission
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/attribute/AclEntryPermission;>;
+
+class name java/nio/file/attribute/AclEntryType
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/attribute/AclEntryType;>;
+
+class name java/nio/file/attribute/AclFileAttributeView
+header extends java/lang/Object implements java/nio/file/attribute/FileOwnerAttributeView flags 601
+
+class name java/nio/file/attribute/AttributeView
+header extends java/lang/Object flags 601
+
+class name java/nio/file/attribute/BasicFileAttributeView
+header extends java/lang/Object implements java/nio/file/attribute/FileAttributeView flags 601
+
+class name java/nio/file/attribute/BasicFileAttributes
+header extends java/lang/Object flags 601
+
+class name java/nio/file/attribute/DosFileAttributeView
+header extends java/lang/Object implements java/nio/file/attribute/BasicFileAttributeView flags 601
+
+class name java/nio/file/attribute/DosFileAttributes
+header extends java/lang/Object implements java/nio/file/attribute/BasicFileAttributes flags 601
+
+class name java/nio/file/attribute/FileAttribute
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/nio/file/attribute/FileAttributeView
+header extends java/lang/Object implements java/nio/file/attribute/AttributeView flags 601
+
+class name java/nio/file/attribute/FileOwnerAttributeView
+header extends java/lang/Object implements java/nio/file/attribute/FileAttributeView flags 601
+
+class name java/nio/file/attribute/FileStoreAttributeView
+header extends java/lang/Object implements java/nio/file/attribute/AttributeView flags 601
+
+class name java/nio/file/attribute/GroupPrincipal
+header extends java/lang/Object implements java/nio/file/attribute/UserPrincipal flags 601
+
+class name java/nio/file/attribute/PosixFileAttributeView
+header extends java/lang/Object implements java/nio/file/attribute/BasicFileAttributeView,java/nio/file/attribute/FileOwnerAttributeView flags 601
+
+class name java/nio/file/attribute/PosixFileAttributes
+header extends java/lang/Object implements java/nio/file/attribute/BasicFileAttributes flags 601
+
+class name java/nio/file/attribute/PosixFilePermission
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/nio/file/attribute/PosixFilePermission;>;
+
+class name java/nio/file/attribute/UserDefinedFileAttributeView
+header extends java/lang/Object implements java/nio/file/attribute/FileAttributeView flags 601
+
+class name java/nio/file/attribute/UserPrincipal
+header extends java/lang/Object implements java/security/Principal flags 601
+
+class name java/nio/file/attribute/UserPrincipalLookupService
+header extends java/lang/Object flags 421
+
+class name java/nio/file/attribute/UserPrincipalNotFoundException
+header extends java/io/IOException flags 21
+
+class name java/nio/file/spi/FileTypeDetector
+header extends java/lang/Object flags 421
+
+class name java/security/AccessControlException
+header extends java/lang/SecurityException flags 21
+
+class name java/security/AlgorithmConstraints
+header extends java/lang/Object flags 601
+
+class name java/security/AlgorithmParameterGenerator
+header extends java/lang/Object flags 21
+
+class name java/security/AlgorithmParameterGeneratorSpi
+header extends java/lang/Object flags 421
+
+class name java/security/AlgorithmParameters
+header extends java/lang/Object flags 21
+
+class name java/security/AlgorithmParametersSpi
+header extends java/lang/Object flags 421
+
+class name java/security/AllPermission
+header extends java/security/Permission flags 31
+
+class name java/security/AuthProvider
+header extends java/security/Provider flags 421
+
+class name java/security/BasicPermission
+header extends java/security/Permission implements java/io/Serializable flags 421
+
+class name java/security/Certificate
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
+
+class name java/security/CodeSigner
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/security/CodeSource
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name java/security/CryptoPrimitive
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/security/CryptoPrimitive;>;
+
+class name java/security/DigestException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/DigestInputStream
+header extends java/io/FilterInputStream flags 21
+
+class name java/security/DigestOutputStream
+header extends java/io/FilterOutputStream flags 21
+
+class name java/security/DomainCombiner
+header extends java/lang/Object flags 601
+
+class name java/security/DomainLoadStoreParameter
+header extends java/lang/Object implements java/security/KeyStore$LoadStoreParameter flags 31
+innerclass innerClass java/security/KeyStore$ProtectionParameter outerClass java/security/KeyStore innerClassName ProtectionParameter flags 609
+innerclass innerClass java/security/KeyStore$LoadStoreParameter outerClass java/security/KeyStore innerClassName LoadStoreParameter flags 609
+
+class name java/security/DrbgParameters
+header extends java/lang/Object nestMembers java/security/DrbgParameters$Reseed,java/security/DrbgParameters$NextBytes,java/security/DrbgParameters$Instantiation,java/security/DrbgParameters$Capability flags 21
+innerclass innerClass java/security/DrbgParameters$Reseed outerClass java/security/DrbgParameters innerClassName Reseed flags 19
+innerclass innerClass java/security/DrbgParameters$NextBytes outerClass java/security/DrbgParameters innerClassName NextBytes flags 19
+innerclass innerClass java/security/DrbgParameters$Instantiation outerClass java/security/DrbgParameters innerClassName Instantiation flags 19
+innerclass innerClass java/security/DrbgParameters$Capability outerClass java/security/DrbgParameters innerClassName Capability flags 4019
+
+class name java/security/DrbgParameters$Capability
+header extends java/lang/Enum nestHost java/security/DrbgParameters flags 4031 signature Ljava/lang/Enum<Ljava/security/DrbgParameters$Capability;>;
+innerclass innerClass java/security/DrbgParameters$Capability outerClass java/security/DrbgParameters innerClassName Capability flags 4019
+
+class name java/security/DrbgParameters$Instantiation
+header extends java/lang/Object implements java/security/SecureRandomParameters nestHost java/security/DrbgParameters flags 31
+innerclass innerClass java/security/DrbgParameters$Capability outerClass java/security/DrbgParameters innerClassName Capability flags 4019
+innerclass innerClass java/security/DrbgParameters$Instantiation outerClass java/security/DrbgParameters innerClassName Instantiation flags 19
+
+class name java/security/DrbgParameters$NextBytes
+header extends java/lang/Object implements java/security/SecureRandomParameters nestHost java/security/DrbgParameters flags 31
+innerclass innerClass java/security/DrbgParameters$NextBytes outerClass java/security/DrbgParameters innerClassName NextBytes flags 19
+
+class name java/security/DrbgParameters$Reseed
+header extends java/lang/Object implements java/security/SecureRandomParameters nestHost java/security/DrbgParameters flags 31
+innerclass innerClass java/security/DrbgParameters$Reseed outerClass java/security/DrbgParameters innerClassName Reseed flags 19
+
+class name java/security/GeneralSecurityException
+header extends java/lang/Exception flags 21
+
+class name java/security/Guard
+header extends java/lang/Object flags 601
+
+class name java/security/GuardedObject
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name java/security/Identity
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
+
+class name java/security/InvalidAlgorithmParameterException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/InvalidKeyException
+header extends java/security/KeyException flags 21
+
+class name java/security/InvalidParameterException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/security/Key
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name java/security/KeyException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/KeyFactory
+header extends java/lang/Object flags 21
+innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9
+
+class name java/security/KeyFactorySpi
+header extends java/lang/Object flags 421
+
+class name java/security/KeyManagementException
+header extends java/security/KeyException flags 21
+
+class name java/security/KeyPair
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/security/KeyPairGeneratorSpi
+header extends java/lang/Object flags 421
+
+class name java/security/KeyRep
+header extends java/lang/Object implements java/io/Serializable nestMembers java/security/KeyRep$Type flags 21
+innerclass innerClass java/security/KeyRep$Type outerClass java/security/KeyRep innerClassName Type flags 4019
+
+class name java/security/KeyRep$Type
+header extends java/lang/Enum nestHost java/security/KeyRep flags 4031 signature Ljava/lang/Enum<Ljava/security/KeyRep$Type;>;
+innerclass innerClass java/security/KeyRep$Type outerClass java/security/KeyRep innerClassName Type flags 4019
+
+class name java/security/KeyStore
+header extends java/lang/Object nestMembers java/security/KeyStore$Builder,java/security/KeyStore$TrustedCertificateEntry,java/security/KeyStore$SecretKeyEntry,java/security/KeyStore$PrivateKeyEntry,java/security/KeyStore$Entry,java/security/KeyStore$Entry$Attribute,java/security/KeyStore$CallbackHandlerProtection,java/security/KeyStore$PasswordProtection,java/security/KeyStore$ProtectionParameter,java/security/KeyStore$LoadStoreParameter flags 21
+innerclass innerClass java/security/KeyStore$Builder outerClass java/security/KeyStore innerClassName Builder flags 409
+innerclass innerClass java/security/KeyStore$TrustedCertificateEntry outerClass java/security/KeyStore innerClassName TrustedCertificateEntry flags 19
+innerclass innerClass java/security/KeyStore$SecretKeyEntry outerClass java/security/KeyStore innerClassName SecretKeyEntry flags 19
+innerclass innerClass java/security/KeyStore$PrivateKeyEntry outerClass java/security/KeyStore innerClassName PrivateKeyEntry flags 19
+innerclass innerClass java/security/KeyStore$Entry outerClass java/security/KeyStore innerClassName Entry flags 609
+innerclass innerClass java/security/KeyStore$CallbackHandlerProtection outerClass java/security/KeyStore innerClassName CallbackHandlerProtection flags 9
+innerclass innerClass java/security/KeyStore$PasswordProtection outerClass java/security/KeyStore innerClassName PasswordProtection flags 9
+innerclass innerClass java/security/KeyStore$ProtectionParameter outerClass java/security/KeyStore innerClassName ProtectionParameter flags 609
+innerclass innerClass java/security/KeyStore$LoadStoreParameter outerClass java/security/KeyStore innerClassName LoadStoreParameter flags 609
+innerclass innerClass java/security/KeyStore$Entry$Attribute outerClass java/security/KeyStore$Entry innerClassName Attribute flags 609
+
+class name java/security/KeyStore$Builder
+header extends java/lang/Object nestHost java/security/KeyStore flags 421
+innerclass innerClass java/security/KeyStore$Builder outerClass java/security/KeyStore innerClassName Builder flags 409
+innerclass innerClass java/security/KeyStore$ProtectionParameter outerClass java/security/KeyStore innerClassName ProtectionParameter flags 609
+innerclass innerClass java/security/KeyStore$PasswordProtection outerClass java/security/KeyStore innerClassName PasswordProtection flags 9
+innerclass innerClass java/security/KeyStore$CallbackHandlerProtection outerClass java/security/KeyStore innerClassName CallbackHandlerProtection flags 9
+
+class name java/security/KeyStore$CallbackHandlerProtection
+header extends java/lang/Object implements java/security/KeyStore$ProtectionParameter nestHost java/security/KeyStore flags 21
+innerclass innerClass java/security/KeyStore$CallbackHandlerProtection outerClass java/security/KeyStore innerClassName CallbackHandlerProtection flags 9
+innerclass innerClass java/security/KeyStore$ProtectionParameter outerClass java/security/KeyStore innerClassName ProtectionParameter flags 609
+
+class name java/security/KeyStore$Entry
+header extends java/lang/Object nestHost java/security/KeyStore flags 601
+innerclass innerClass java/security/KeyStore$Entry outerClass java/security/KeyStore innerClassName Entry flags 609
+innerclass innerClass java/security/KeyStore$Entry$Attribute outerClass java/security/KeyStore$Entry innerClassName Attribute flags 609
+
+class name java/security/KeyStore$Entry$Attribute
+header extends java/lang/Object nestHost java/security/KeyStore flags 601
+innerclass innerClass java/security/KeyStore$Entry outerClass java/security/KeyStore innerClassName Entry flags 609
+innerclass innerClass java/security/KeyStore$Entry$Attribute outerClass java/security/KeyStore$Entry innerClassName Attribute flags 609
+
+class name java/security/KeyStore$LoadStoreParameter
+header extends java/lang/Object nestHost java/security/KeyStore flags 601
+innerclass innerClass java/security/KeyStore$ProtectionParameter outerClass java/security/KeyStore innerClassName ProtectionParameter flags 609
+innerclass innerClass java/security/KeyStore$LoadStoreParameter outerClass java/security/KeyStore innerClassName LoadStoreParameter flags 609
+
+class name java/security/KeyStore$PasswordProtection
+header extends java/lang/Object implements java/security/KeyStore$ProtectionParameter,javax/security/auth/Destroyable nestHost java/security/KeyStore flags 21
+innerclass innerClass java/security/KeyStore$PasswordProtection outerClass java/security/KeyStore innerClassName PasswordProtection flags 9
+innerclass innerClass java/security/KeyStore$ProtectionParameter outerClass java/security/KeyStore innerClassName ProtectionParameter flags 609
+
+class name java/security/KeyStore$PrivateKeyEntry
+header extends java/lang/Object implements java/security/KeyStore$Entry nestHost java/security/KeyStore flags 31
+innerclass innerClass java/security/KeyStore$Entry outerClass java/security/KeyStore innerClassName Entry flags 609
+innerclass innerClass java/security/KeyStore$Entry$Attribute outerClass java/security/KeyStore$Entry innerClassName Attribute flags 609
+innerclass innerClass java/security/KeyStore$PrivateKeyEntry outerClass java/security/KeyStore innerClassName PrivateKeyEntry flags 19
+
+class name java/security/KeyStore$ProtectionParameter
+header extends java/lang/Object nestHost java/security/KeyStore flags 601
+innerclass innerClass java/security/KeyStore$ProtectionParameter outerClass java/security/KeyStore innerClassName ProtectionParameter flags 609
+
+class name java/security/KeyStore$SecretKeyEntry
+header extends java/lang/Object implements java/security/KeyStore$Entry nestHost java/security/KeyStore flags 31
+innerclass innerClass java/security/KeyStore$Entry outerClass java/security/KeyStore innerClassName Entry flags 609
+innerclass innerClass java/security/KeyStore$Entry$Attribute outerClass java/security/KeyStore$Entry innerClassName Attribute flags 609
+innerclass innerClass java/security/KeyStore$SecretKeyEntry outerClass java/security/KeyStore innerClassName SecretKeyEntry flags 19
+
+class name java/security/KeyStore$TrustedCertificateEntry
+header extends java/lang/Object implements java/security/KeyStore$Entry nestHost java/security/KeyStore flags 31
+innerclass innerClass java/security/KeyStore$Entry outerClass java/security/KeyStore innerClassName Entry flags 609
+innerclass innerClass java/security/KeyStore$Entry$Attribute outerClass java/security/KeyStore$Entry innerClassName Attribute flags 609
+innerclass innerClass java/security/KeyStore$TrustedCertificateEntry outerClass java/security/KeyStore innerClassName TrustedCertificateEntry flags 19
+
+class name java/security/KeyStoreException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/KeyStoreSpi
+header extends java/lang/Object flags 421
+innerclass innerClass java/security/KeyStore$LoadStoreParameter outerClass java/security/KeyStore innerClassName LoadStoreParameter flags 609
+innerclass innerClass java/security/KeyStore$ProtectionParameter outerClass java/security/KeyStore innerClassName ProtectionParameter flags 609
+innerclass innerClass java/security/KeyStore$Entry outerClass java/security/KeyStore innerClassName Entry flags 609
+innerclass innerClass java/security/KeyStore$PasswordProtection outerClass java/security/KeyStore innerClassName PasswordProtection flags 9
+innerclass innerClass java/security/KeyStore$TrustedCertificateEntry outerClass java/security/KeyStore innerClassName TrustedCertificateEntry flags 19
+innerclass innerClass java/security/KeyStore$CallbackHandlerProtection outerClass java/security/KeyStore innerClassName CallbackHandlerProtection flags 9
+innerclass innerClass java/security/KeyStore$PrivateKeyEntry outerClass java/security/KeyStore innerClassName PrivateKeyEntry flags 19
+innerclass innerClass java/security/KeyStore$SecretKeyEntry outerClass java/security/KeyStore innerClassName SecretKeyEntry flags 19
+
+class name java/security/MessageDigestSpi
+header extends java/lang/Object flags 421
+
+class name java/security/NoSuchAlgorithmException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/NoSuchProviderException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/PKCS12Attribute
+header extends java/lang/Object implements java/security/KeyStore$Entry$Attribute flags 31
+innerclass innerClass java/security/KeyStore$Entry outerClass java/security/KeyStore innerClassName Entry flags 609
+innerclass innerClass java/security/KeyStore$Entry$Attribute outerClass java/security/KeyStore$Entry innerClassName Attribute flags 609
+
+class name java/security/Permission
+header extends java/lang/Object implements java/security/Guard,java/io/Serializable flags 421
+
+class name java/security/PermissionCollection
+header extends java/lang/Object implements java/io/Serializable flags 421
+
+class name java/security/Policy
+header extends java/lang/Object nestMembers java/security/Policy$Parameters flags 421
+innerclass innerClass java/security/Policy$Parameters outerClass java/security/Policy innerClassName Parameters flags 609
+
+class name java/security/Policy$Parameters
+header extends java/lang/Object nestHost java/security/Policy flags 601
+innerclass innerClass java/security/Policy$Parameters outerClass java/security/Policy innerClassName Parameters flags 609
+
+class name java/security/PolicySpi
+header extends java/lang/Object flags 421
+
+class name java/security/Principal
+header extends java/lang/Object flags 601
+
+class name java/security/PrivateKey
+header extends java/lang/Object implements java/security/Key,javax/security/auth/Destroyable flags 601
+
+class name java/security/PrivilegedAction
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/security/PrivilegedActionException
+header extends java/lang/Exception flags 21
+
+class name java/security/PrivilegedExceptionAction
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/security/Provider
+header extends java/util/Properties nestMembers java/security/Provider$Service flags 421
+innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/security/Provider$Service
+header extends java/lang/Object nestHost java/security/Provider flags 21
+innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/security/ProviderException
+header extends java/lang/RuntimeException flags 21
+
+class name java/security/PublicKey
+header extends java/lang/Object implements java/security/Key flags 601
+
+class name java/security/SecureRandomParameters
+header extends java/lang/Object flags 601
+
+class name java/security/SecureRandomSpi
+header extends java/lang/Object implements java/io/Serializable flags 421
+
+class name java/security/SecurityPermission
+header extends java/security/BasicPermission flags 31
+
+class name java/security/SignatureException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/SignatureSpi
+header extends java/lang/Object flags 421
+
+class name java/security/SignedObject
+header extends java/lang/Object implements java/io/Serializable flags 31
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+
+class name java/security/Timestamp
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/security/URIParameter
+header extends java/lang/Object implements java/security/Policy$Parameters,javax/security/auth/login/Configuration$Parameters flags 21
+innerclass innerClass java/security/Policy$Parameters outerClass java/security/Policy innerClassName Parameters flags 609
+innerclass innerClass javax/security/auth/login/Configuration$Parameters outerClass javax/security/auth/login/Configuration innerClassName Parameters flags 609
+
+class name java/security/UnrecoverableEntryException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/UnrecoverableKeyException
+header extends java/security/UnrecoverableEntryException flags 21
+
+class name java/security/UnresolvedPermission
+header extends java/security/Permission implements java/io/Serializable flags 31
+
+class name java/security/acl/Acl
+header extends java/lang/Object implements java/security/acl/Owner flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name java/security/acl/AclEntry
+header extends java/lang/Object implements java/lang/Cloneable flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name java/security/acl/AclNotFoundException
+header extends java/lang/Exception flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name java/security/acl/Group
+header extends java/lang/Object implements java/security/Principal flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name java/security/acl/LastOwnerException
+header extends java/lang/Exception flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name java/security/acl/NotOwnerException
+header extends java/lang/Exception flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name java/security/acl/Owner
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name java/security/acl/Permission
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name java/security/cert/CRL
+header extends java/lang/Object flags 421
+
+class name java/security/cert/CRLException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/cert/CRLReason
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/security/cert/CRLReason;>;
+
+class name java/security/cert/CRLSelector
+header extends java/lang/Object implements java/lang/Cloneable flags 601
+
+class name java/security/cert/CertPath
+header extends java/lang/Object implements java/io/Serializable nestMembers java/security/cert/CertPath$CertPathRep flags 421
+innerclass innerClass java/security/cert/CertPath$CertPathRep outerClass java/security/cert/CertPath innerClassName CertPathRep flags c
+
+class name java/security/cert/CertPath$CertPathRep
+header extends java/lang/Object implements java/io/Serializable nestHost java/security/cert/CertPath flags 21
+innerclass innerClass java/security/cert/CertPath$CertPathRep outerClass java/security/cert/CertPath innerClassName CertPathRep flags c
+
+class name java/security/cert/CertPathBuilderException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/cert/CertPathBuilderResult
+header extends java/lang/Object implements java/lang/Cloneable flags 601
+
+class name java/security/cert/CertPathBuilderSpi
+header extends java/lang/Object flags 421
+
+class name java/security/cert/CertPathChecker
+header extends java/lang/Object flags 601
+
+class name java/security/cert/CertPathParameters
+header extends java/lang/Object implements java/lang/Cloneable flags 601
+
+class name java/security/cert/CertPathValidatorException
+header extends java/security/GeneralSecurityException nestMembers java/security/cert/CertPathValidatorException$BasicReason,java/security/cert/CertPathValidatorException$Reason flags 21
+innerclass innerClass java/security/cert/CertPathValidatorException$BasicReason outerClass java/security/cert/CertPathValidatorException innerClassName BasicReason flags 4019
+innerclass innerClass java/security/cert/CertPathValidatorException$Reason outerClass java/security/cert/CertPathValidatorException innerClassName Reason flags 609
+
+class name java/security/cert/CertPathValidatorException$BasicReason
+header extends java/lang/Enum implements java/security/cert/CertPathValidatorException$Reason nestHost java/security/cert/CertPathValidatorException flags 4031 signature Ljava/lang/Enum<Ljava/security/cert/CertPathValidatorException$BasicReason;>;Ljava/security/cert/CertPathValidatorException$Reason;
+innerclass innerClass java/security/cert/CertPathValidatorException$BasicReason outerClass java/security/cert/CertPathValidatorException innerClassName BasicReason flags 4019
+innerclass innerClass java/security/cert/CertPathValidatorException$Reason outerClass java/security/cert/CertPathValidatorException innerClassName Reason flags 609
+
+class name java/security/cert/CertPathValidatorException$Reason
+header extends java/lang/Object implements java/io/Serializable nestHost java/security/cert/CertPathValidatorException flags 601
+innerclass innerClass java/security/cert/CertPathValidatorException$Reason outerClass java/security/cert/CertPathValidatorException innerClassName Reason flags 609
+
+class name java/security/cert/CertPathValidatorResult
+header extends java/lang/Object implements java/lang/Cloneable flags 601
+
+class name java/security/cert/CertPathValidatorSpi
+header extends java/lang/Object flags 421
+
+class name java/security/cert/CertSelector
+header extends java/lang/Object implements java/lang/Cloneable flags 601
+
+class name java/security/cert/CertStoreException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/cert/CertStoreParameters
+header extends java/lang/Object implements java/lang/Cloneable flags 601
+
+class name java/security/cert/CertStoreSpi
+header extends java/lang/Object flags 421
+
+class name java/security/cert/Certificate
+header extends java/lang/Object implements java/io/Serializable nestMembers java/security/cert/Certificate$CertificateRep flags 421
+innerclass innerClass java/security/cert/Certificate$CertificateRep outerClass java/security/cert/Certificate innerClassName CertificateRep flags c
+
+class name java/security/cert/Certificate$CertificateRep
+header extends java/lang/Object implements java/io/Serializable nestHost java/security/cert/Certificate flags 21
+innerclass innerClass java/security/cert/Certificate$CertificateRep outerClass java/security/cert/Certificate innerClassName CertificateRep flags c
+
+class name java/security/cert/CertificateEncodingException
+header extends java/security/cert/CertificateException flags 21
+
+class name java/security/cert/CertificateException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/cert/CertificateExpiredException
+header extends java/security/cert/CertificateException flags 21
+
+class name java/security/cert/CertificateFactory
+header extends java/lang/Object flags 21
+
+class name java/security/cert/CertificateFactorySpi
+header extends java/lang/Object flags 421
+
+class name java/security/cert/CertificateNotYetValidException
+header extends java/security/cert/CertificateException flags 21
+
+class name java/security/cert/CertificateParsingException
+header extends java/security/cert/CertificateException flags 21
+
+class name java/security/cert/CertificateRevokedException
+header extends java/security/cert/CertificateException flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/security/cert/CollectionCertStoreParameters
+header extends java/lang/Object implements java/security/cert/CertStoreParameters flags 21
+
+class name java/security/cert/Extension
+header extends java/lang/Object flags 601
+
+class name java/security/cert/LDAPCertStoreParameters
+header extends java/lang/Object implements java/security/cert/CertStoreParameters flags 21
+
+class name java/security/cert/PKIXBuilderParameters
+header extends java/security/cert/PKIXParameters flags 21
+
+class name java/security/cert/PKIXCertPathBuilderResult
+header extends java/security/cert/PKIXCertPathValidatorResult implements java/security/cert/CertPathBuilderResult flags 21
+
+class name java/security/cert/PKIXCertPathChecker
+header extends java/lang/Object implements java/security/cert/CertPathChecker,java/lang/Cloneable flags 421
+
+class name java/security/cert/PKIXCertPathValidatorResult
+header extends java/lang/Object implements java/security/cert/CertPathValidatorResult flags 21
+
+class name java/security/cert/PKIXParameters
+header extends java/lang/Object implements java/security/cert/CertPathParameters flags 21
+
+class name java/security/cert/PKIXReason
+header extends java/lang/Enum implements java/security/cert/CertPathValidatorException$Reason flags 4031 signature Ljava/lang/Enum<Ljava/security/cert/PKIXReason;>;Ljava/security/cert/CertPathValidatorException$Reason;
+innerclass innerClass java/security/cert/CertPathValidatorException$Reason outerClass java/security/cert/CertPathValidatorException innerClassName Reason flags 609
+
+class name java/security/cert/PKIXRevocationChecker
+header extends java/security/cert/PKIXCertPathChecker nestMembers java/security/cert/PKIXRevocationChecker$Option flags 421
+innerclass innerClass java/security/cert/PKIXRevocationChecker$Option outerClass java/security/cert/PKIXRevocationChecker innerClassName Option flags 4019
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/security/cert/PKIXRevocationChecker$Option
+header extends java/lang/Enum nestHost java/security/cert/PKIXRevocationChecker flags 4031 signature Ljava/lang/Enum<Ljava/security/cert/PKIXRevocationChecker$Option;>;
+innerclass innerClass java/security/cert/PKIXRevocationChecker$Option outerClass java/security/cert/PKIXRevocationChecker innerClassName Option flags 4019
+
+class name java/security/cert/PolicyNode
+header extends java/lang/Object flags 601
+
+class name java/security/cert/PolicyQualifierInfo
+header extends java/lang/Object flags 21
+
+class name java/security/cert/TrustAnchor
+header extends java/lang/Object flags 21
+
+class name java/security/cert/URICertStoreParameters
+header extends java/lang/Object implements java/security/cert/CertStoreParameters flags 31
+
+class name java/security/cert/X509CRL
+header extends java/security/cert/CRL implements java/security/cert/X509Extension flags 421
+
+class name java/security/cert/X509CRLEntry
+header extends java/lang/Object implements java/security/cert/X509Extension flags 421
+
+class name java/security/cert/X509CRLSelector
+header extends java/lang/Object implements java/security/cert/CRLSelector flags 21
+
+class name java/security/cert/X509CertSelector
+header extends java/lang/Object implements java/security/cert/CertSelector flags 21
+
+class name java/security/cert/X509Certificate
+header extends java/security/cert/Certificate implements java/security/cert/X509Extension flags 421
+
+class name java/security/cert/X509Extension
+header extends java/lang/Object flags 601
+
+class name java/security/interfaces/DSAKey
+header extends java/lang/Object flags 601
+
+class name java/security/interfaces/DSAKeyPairGenerator
+header extends java/lang/Object flags 601
+
+class name java/security/interfaces/DSAParams
+header extends java/lang/Object flags 601
+
+class name java/security/interfaces/DSAPrivateKey
+header extends java/lang/Object implements java/security/interfaces/DSAKey,java/security/PrivateKey flags 601
+
+class name java/security/interfaces/DSAPublicKey
+header extends java/lang/Object implements java/security/interfaces/DSAKey,java/security/PublicKey flags 601
+
+class name java/security/interfaces/ECKey
+header extends java/lang/Object flags 601
+
+class name java/security/interfaces/ECPrivateKey
+header extends java/lang/Object implements java/security/PrivateKey,java/security/interfaces/ECKey flags 601
+
+class name java/security/interfaces/ECPublicKey
+header extends java/lang/Object implements java/security/PublicKey,java/security/interfaces/ECKey flags 601
+
+class name java/security/interfaces/RSAKey
+header extends java/lang/Object flags 601
+method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
+
+class name java/security/interfaces/RSAMultiPrimePrivateCrtKey
+header extends java/lang/Object implements java/security/interfaces/RSAPrivateKey flags 601
+
+class name java/security/interfaces/RSAPrivateCrtKey
+header extends java/lang/Object implements java/security/interfaces/RSAPrivateKey flags 601
+
+class name java/security/interfaces/RSAPrivateKey
+header extends java/lang/Object implements java/security/PrivateKey,java/security/interfaces/RSAKey flags 601
+
+class name java/security/interfaces/RSAPublicKey
+header extends java/lang/Object implements java/security/PublicKey,java/security/interfaces/RSAKey flags 601
+
+class name java/security/interfaces/XECKey
+header extends java/lang/Object flags 601
+method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 401
+
+class name java/security/interfaces/XECPrivateKey
+header extends java/lang/Object implements java/security/interfaces/XECKey,java/security/PrivateKey flags 601
+method name getScalar descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<[B>;
+
+class name java/security/interfaces/XECPublicKey
+header extends java/lang/Object implements java/security/interfaces/XECKey,java/security/PublicKey flags 601
+method name getU descriptor ()Ljava/math/BigInteger; flags 401
+
+class name java/security/spec/AlgorithmParameterSpec
+header extends java/lang/Object flags 601
+
+class name java/security/spec/DSAGenParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 31
+
+class name java/security/spec/DSAParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec,java/security/interfaces/DSAParams flags 21
+
+class name java/security/spec/DSAPrivateKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+
+class name java/security/spec/DSAPublicKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+
+class name java/security/spec/ECField
+header extends java/lang/Object flags 601
+
+class name java/security/spec/ECFieldF2m
+header extends java/lang/Object implements java/security/spec/ECField flags 21
+
+class name java/security/spec/ECFieldFp
+header extends java/lang/Object implements java/security/spec/ECField flags 21
+
+class name java/security/spec/ECGenParameterSpec
+header extends java/security/spec/NamedParameterSpec flags 21
+-method name getName descriptor ()Ljava/lang/String;
+
+class name java/security/spec/ECParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+
+class name java/security/spec/ECPoint
+header extends java/lang/Object flags 21
+
+class name java/security/spec/ECPrivateKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+
+class name java/security/spec/ECPublicKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+
+class name java/security/spec/EllipticCurve
+header extends java/lang/Object flags 21
+
+class name java/security/spec/EncodedKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 421
+
+class name java/security/spec/InvalidKeySpecException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/spec/InvalidParameterSpecException
+header extends java/security/GeneralSecurityException flags 21
+
+class name java/security/spec/KeySpec
+header extends java/lang/Object flags 601
+
+class name java/security/spec/MGF1ParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
+field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
+
+class name java/security/spec/NamedParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+field name X25519 descriptor Ljava/security/spec/NamedParameterSpec; flags 19
+field name X448 descriptor Ljava/security/spec/NamedParameterSpec; flags 19
+method name <init> descriptor (Ljava/lang/String;)V flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+
+class name java/security/spec/PKCS8EncodedKeySpec
+header extends java/security/spec/EncodedKeySpec flags 21
+
+class name java/security/spec/PSSParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
+
+class name java/security/spec/RSAKeyGenParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+method name <init> descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
+method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
+
+class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec
+header extends java/security/spec/RSAPrivateKeySpec flags 21
+method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
+
+class name java/security/spec/RSAOtherPrimeInfo
+header extends java/lang/Object flags 21
+
+class name java/security/spec/RSAPrivateCrtKeySpec
+header extends java/security/spec/RSAPrivateKeySpec flags 21
+method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
+
+class name java/security/spec/RSAPrivateKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
+method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
+
+class name java/security/spec/RSAPublicKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
+method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
+
+class name java/security/spec/X509EncodedKeySpec
+header extends java/security/spec/EncodedKeySpec flags 21
+
+class name java/security/spec/XECPrivateKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+method name <init> descriptor (Ljava/security/spec/AlgorithmParameterSpec;[B)V flags 1
+method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
+method name getScalar descriptor ()[B flags 1
+
+class name java/security/spec/XECPublicKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+method name <init> descriptor (Ljava/security/spec/AlgorithmParameterSpec;Ljava/math/BigInteger;)V flags 1
+method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
+method name getU descriptor ()Ljava/math/BigInteger; flags 1
+
+class name java/text/Annotation
+header extends java/lang/Object flags 21
+
+class name java/text/AttributedCharacterIterator
+header extends java/lang/Object implements java/text/CharacterIterator nestMembers java/text/AttributedCharacterIterator$Attribute flags 601
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+
+class name java/text/AttributedCharacterIterator$Attribute
+header extends java/lang/Object implements java/io/Serializable nestHost java/text/AttributedCharacterIterator flags 21
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+
+class name java/text/Bidi
+header extends java/lang/Object flags 31
+
+class name java/text/CharacterIterator
+header extends java/lang/Object implements java/lang/Cloneable flags 601
+
+class name java/text/ChoiceFormat
+header extends java/text/NumberFormat flags 21
+
+class name java/text/CollationElementIterator
+header extends java/lang/Object flags 31
+
+class name java/text/CollationKey
+header extends java/lang/Object implements java/lang/Comparable flags 421 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/text/CollationKey;>;
+
+class name java/text/Collator
+header extends java/lang/Object implements java/util/Comparator,java/lang/Cloneable flags 421 signature Ljava/lang/Object;Ljava/util/Comparator<Ljava/lang/Object;>;Ljava/lang/Cloneable;
+
+class name java/text/DateFormat
+header extends java/text/Format nestMembers java/text/DateFormat$Field flags 421
+innerclass innerClass java/text/DateFormat$Field outerClass java/text/DateFormat innerClassName Field flags 9
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/text/DateFormat$Field
+header extends java/text/Format$Field nestHost java/text/DateFormat flags 21
+innerclass innerClass java/text/DateFormat$Field outerClass java/text/DateFormat innerClassName Field flags 9
+innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9
+
+class name java/text/DateFormatSymbols
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/text/DecimalFormatSymbols
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/text/Format
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable nestMembers java/text/Format$Field flags 421
+innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+
+class name java/text/Format$Field
+header extends java/text/AttributedCharacterIterator$Attribute nestHost java/text/Format flags 21
+innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+
+class name java/text/MessageFormat
+header extends java/text/Format nestMembers java/text/MessageFormat$Field flags 21
+innerclass innerClass java/text/MessageFormat$Field outerClass java/text/MessageFormat innerClassName Field flags 9
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9
+
+class name java/text/MessageFormat$Field
+header extends java/text/Format$Field nestHost java/text/MessageFormat flags 21
+innerclass innerClass java/text/MessageFormat$Field outerClass java/text/MessageFormat innerClassName Field flags 9
+innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9
+
+class name java/text/Normalizer
+header extends java/lang/Object nestMembers java/text/Normalizer$Form flags 31
+innerclass innerClass java/text/Normalizer$Form outerClass java/text/Normalizer innerClassName Form flags 4019
+
+class name java/text/Normalizer$Form
+header extends java/lang/Enum nestHost java/text/Normalizer flags 4031 signature Ljava/lang/Enum<Ljava/text/Normalizer$Form;>;
+innerclass innerClass java/text/Normalizer$Form outerClass java/text/Normalizer innerClassName Form flags 4019
+
+class name java/text/NumberFormat
+header extends java/text/Format nestMembers java/text/NumberFormat$Field flags 421
+innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/text/NumberFormat$Field
+header extends java/text/Format$Field nestHost java/text/NumberFormat flags 21
+innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9
+innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9
+
+class name java/text/ParseException
+header extends java/lang/Exception flags 21
+
+class name java/text/ParsePosition
+header extends java/lang/Object flags 21
+
+class name java/text/RuleBasedCollator
+header extends java/text/Collator flags 21
+innerclass innerClass java/text/Normalizer$Form outerClass java/text/Normalizer innerClassName Form flags 4019
+
+class name java/text/SimpleDateFormat
+header extends java/text/DateFormat flags 21
+innerclass innerClass java/text/DateFormat$Field outerClass java/text/DateFormat innerClassName Field flags 9
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9
+
+class name java/text/StringCharacterIterator
+header extends java/lang/Object implements java/text/CharacterIterator flags 31
+
+class name java/text/spi/BreakIteratorProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/text/spi/CollatorProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/text/spi/DateFormatProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/text/spi/DateFormatSymbolsProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/text/spi/DecimalFormatSymbolsProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/text/spi/NumberFormatProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/time/DateTimeException
+header extends java/lang/RuntimeException flags 21
+
+class name java/time/DayOfWeek
+header extends java/lang/Enum implements java/time/temporal/TemporalAccessor,java/time/temporal/TemporalAdjuster flags 4031 signature Ljava/lang/Enum<Ljava/time/DayOfWeek;>;Ljava/time/temporal/TemporalAccessor;Ljava/time/temporal/TemporalAdjuster;
+
+class name java/time/Period
+header extends java/lang/Object implements java/time/chrono/ChronoPeriod,java/io/Serializable flags 31
+
+class name java/time/ZoneOffset
+header extends java/time/ZoneId implements java/time/temporal/TemporalAccessor,java/time/temporal/TemporalAdjuster,java/lang/Comparable,java/io/Serializable flags 31 signature Ljava/time/ZoneId;Ljava/time/temporal/TemporalAccessor;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable<Ljava/time/ZoneOffset;>;Ljava/io/Serializable;
+
+class name java/time/chrono/AbstractChronology
+header extends java/lang/Object implements java/time/chrono/Chronology flags 421
+
+class name java/time/chrono/ChronoLocalDate
+header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable<Ljava/time/chrono/ChronoLocalDate;>;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/time/chrono/ChronoLocalDateTime
+header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature <D::Ljava/time/chrono/ChronoLocalDate;>Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable<Ljava/time/chrono/ChronoLocalDateTime<*>;>;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/time/chrono/ChronoPeriod
+header extends java/lang/Object implements java/time/temporal/TemporalAmount flags 601
+
+class name java/time/chrono/Era
+header extends java/lang/Object implements java/time/temporal/TemporalAccessor,java/time/temporal/TemporalAdjuster flags 601
+
+class name java/time/chrono/HijrahEra
+header extends java/lang/Enum implements java/time/chrono/Era flags 4031 signature Ljava/lang/Enum<Ljava/time/chrono/HijrahEra;>;Ljava/time/chrono/Era;
+
+class name java/time/chrono/IsoChronology
+header extends java/time/chrono/AbstractChronology implements java/io/Serializable flags 31
+
+class name java/time/chrono/IsoEra
+header extends java/lang/Enum implements java/time/chrono/Era flags 4031 signature Ljava/lang/Enum<Ljava/time/chrono/IsoEra;>;Ljava/time/chrono/Era;
+
+class name java/time/chrono/JapaneseEra
+header extends java/lang/Object implements java/time/chrono/Era,java/io/Serializable flags 31
+
+class name java/time/chrono/MinguoEra
+header extends java/lang/Enum implements java/time/chrono/Era flags 4031 signature Ljava/lang/Enum<Ljava/time/chrono/MinguoEra;>;Ljava/time/chrono/Era;
+
+class name java/time/chrono/ThaiBuddhistEra
+header extends java/lang/Enum implements java/time/chrono/Era flags 4031 signature Ljava/lang/Enum<Ljava/time/chrono/ThaiBuddhistEra;>;Ljava/time/chrono/Era;
+
+class name java/time/format/DateTimeParseException
+header extends java/time/DateTimeException flags 21
+
+class name java/time/format/DecimalStyle
+header extends java/lang/Object flags 31
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/time/format/FormatStyle
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/time/format/FormatStyle;>;
+
+class name java/time/format/ResolverStyle
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/time/format/ResolverStyle;>;
+
+class name java/time/format/SignStyle
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/time/format/SignStyle;>;
+
+class name java/time/format/TextStyle
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/time/format/TextStyle;>;
+
+class name java/time/temporal/ChronoField
+header extends java/lang/Enum implements java/time/temporal/TemporalField flags 4031 signature Ljava/lang/Enum<Ljava/time/temporal/ChronoField;>;Ljava/time/temporal/TemporalField;
+
+class name java/time/temporal/ChronoUnit
+header extends java/lang/Enum implements java/time/temporal/TemporalUnit flags 4031 signature Ljava/lang/Enum<Ljava/time/temporal/ChronoUnit;>;Ljava/time/temporal/TemporalUnit;
+
+class name java/time/temporal/Temporal
+header extends java/lang/Object implements java/time/temporal/TemporalAccessor flags 601
+
+class name java/time/temporal/TemporalAccessor
+header extends java/lang/Object flags 601
+
+class name java/time/temporal/TemporalAdjuster
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/time/temporal/TemporalAdjusters
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/time/temporal/TemporalAmount
+header extends java/lang/Object flags 601
+
+class name java/time/temporal/TemporalField
+header extends java/lang/Object flags 601
+
+class name java/time/temporal/TemporalQuery
+header extends java/lang/Object flags 601 signature <R:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/time/temporal/TemporalUnit
+header extends java/lang/Object flags 601
+
+class name java/time/temporal/UnsupportedTemporalTypeException
+header extends java/time/DateTimeException flags 21
+
+class name java/time/temporal/ValueRange
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/time/zone/ZoneOffsetTransition
+header extends java/lang/Object implements java/lang/Comparable,java/io/Serializable flags 31 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/time/zone/ZoneOffsetTransition;>;Ljava/io/Serializable;
+
+class name java/time/zone/ZoneOffsetTransitionRule
+header extends java/lang/Object implements java/io/Serializable nestMembers java/time/zone/ZoneOffsetTransitionRule$TimeDefinition flags 31
+innerclass innerClass java/time/zone/ZoneOffsetTransitionRule$TimeDefinition outerClass java/time/zone/ZoneOffsetTransitionRule innerClassName TimeDefinition flags 4019
+
+class name java/time/zone/ZoneOffsetTransitionRule$TimeDefinition
+header extends java/lang/Enum nestHost java/time/zone/ZoneOffsetTransitionRule flags 4031 signature Ljava/lang/Enum<Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;>;
+innerclass innerClass java/time/zone/ZoneOffsetTransitionRule$TimeDefinition outerClass java/time/zone/ZoneOffsetTransitionRule innerClassName TimeDefinition flags 4019
+
+class name java/time/zone/ZoneRules
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/time/zone/ZoneRulesException
+header extends java/time/DateTimeException flags 21
+
+class name java/util/AbstractCollection
+header extends java/lang/Object implements java/util/Collection flags 421 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;
+
+class name java/util/AbstractMap
+header extends java/lang/Object implements java/util/Map nestMembers java/util/AbstractMap$SimpleImmutableEntry,java/util/AbstractMap$SimpleEntry flags 421 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TK;TV;>;
+innerclass innerClass java/util/AbstractMap$SimpleImmutableEntry outerClass java/util/AbstractMap innerClassName SimpleImmutableEntry flags 9
+innerclass innerClass java/util/AbstractMap$SimpleEntry outerClass java/util/AbstractMap innerClassName SimpleEntry flags 9
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/util/AbstractMap$SimpleEntry
+header extends java/lang/Object implements java/util/Map$Entry,java/io/Serializable nestHost java/util/AbstractMap flags 21 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map$Entry<TK;TV;>;Ljava/io/Serializable;
+innerclass innerClass java/util/AbstractMap$SimpleEntry outerClass java/util/AbstractMap innerClassName SimpleEntry flags 9
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/util/AbstractMap$SimpleImmutableEntry
+header extends java/lang/Object implements java/util/Map$Entry,java/io/Serializable nestHost java/util/AbstractMap flags 21 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map$Entry<TK;TV;>;Ljava/io/Serializable;
+innerclass innerClass java/util/AbstractMap$SimpleImmutableEntry outerClass java/util/AbstractMap innerClassName SimpleImmutableEntry flags 9
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/util/AbstractQueue
+header extends java/util/AbstractCollection implements java/util/Queue flags 421 signature <E:Ljava/lang/Object;>Ljava/util/AbstractCollection<TE;>;Ljava/util/Queue<TE;>;
+
+class name java/util/AbstractSequentialList
+header extends java/util/AbstractList flags 421 signature <E:Ljava/lang/Object;>Ljava/util/AbstractList<TE;>;
+
+class name java/util/AbstractSet
+header extends java/util/AbstractCollection implements java/util/Set flags 421 signature <E:Ljava/lang/Object;>Ljava/util/AbstractCollection<TE;>;Ljava/util/Set<TE;>;
+
+class name java/util/ArrayList
+method name equals descriptor (Ljava/lang/Object;)Z flags 1
+method name hashCode descriptor ()I flags 1
+
+class name java/util/Base64
+header extends java/lang/Object nestMembers java/util/Base64$Decoder,java/util/Base64$Encoder flags 21
+innerclass innerClass java/util/Base64$Decoder outerClass java/util/Base64 innerClassName Decoder flags 9
+innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9
+
+class name java/util/Base64$Decoder
+header extends java/lang/Object nestHost java/util/Base64 flags 21
+innerclass innerClass java/util/Base64$Decoder outerClass java/util/Base64 innerClassName Decoder flags 9
+innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9
+
+class name java/util/Base64$Encoder
+header extends java/lang/Object nestHost java/util/Base64 flags 21
+innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9
+
+class name java/util/Calendar
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable,java/lang/Comparable nestMembers java/util/Calendar$Builder flags 421 signature Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Cloneable;Ljava/lang/Comparable<Ljava/util/Calendar;>;
+innerclass innerClass java/util/Calendar$Builder outerClass java/util/Calendar innerClassName Builder flags 9
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/Calendar$Builder
+header extends java/lang/Object nestHost java/util/Calendar flags 21
+innerclass innerClass java/util/Calendar$Builder outerClass java/util/Calendar innerClassName Builder flags 9
+
+class name java/util/Collection
+header extends java/lang/Object implements java/lang/Iterable flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/lang/Iterable<TE;>;
+method name toArray descriptor (Ljava/util/function/IntFunction;)[Ljava/lang/Object; flags 1 signature <T:Ljava/lang/Object;>(Ljava/util/function/IntFunction<[TT;>;)[TT;
+
+class name java/util/Comparator
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/ConcurrentModificationException
+header extends java/lang/RuntimeException flags 21
+
+class name java/util/Currency
+header extends java/lang/Object implements java/io/Serializable flags 31
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/Date
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable,java/lang/Comparable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Cloneable;Ljava/lang/Comparable<Ljava/util/Date;>;
+
+class name java/util/Deque
+header extends java/lang/Object implements java/util/Queue flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Queue<TE;>;
+
+class name java/util/Dictionary
+header extends java/lang/Object flags 421 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/util/DoubleSummaryStatistics
+header extends java/lang/Object implements java/util/function/DoubleConsumer flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/DuplicateFormatFlagsException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/EmptyStackException
+header extends java/lang/RuntimeException flags 21
+
+class name java/util/EventListener
+header extends java/lang/Object flags 601
+
+class name java/util/EventListenerProxy
+header extends java/lang/Object implements java/util/EventListener flags 421 signature <T::Ljava/util/EventListener;>Ljava/lang/Object;Ljava/util/EventListener;
+
+class name java/util/EventObject
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name java/util/FormatFlagsConversionMismatchException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/Formattable
+header extends java/lang/Object flags 601
+
+class name java/util/FormattableFlags
+header extends java/lang/Object flags 21
+
+class name java/util/Formatter
+header extends java/lang/Object implements java/io/Closeable,java/io/Flushable nestMembers java/util/Formatter$BigDecimalLayoutForm flags 31
+innerclass innerClass java/util/Formatter$BigDecimalLayoutForm outerClass java/util/Formatter innerClassName BigDecimalLayoutForm flags 4019
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/util/Formatter$BigDecimalLayoutForm
+header extends java/lang/Enum nestHost java/util/Formatter flags 4031 signature Ljava/lang/Enum<Ljava/util/Formatter$BigDecimalLayoutForm;>;
+innerclass innerClass java/util/Formatter$BigDecimalLayoutForm outerClass java/util/Formatter innerClassName BigDecimalLayoutForm flags 4019
+
+class name java/util/FormatterClosedException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/util/GregorianCalendar
+header extends java/util/Calendar flags 21
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/util/HashSet
+header extends java/util/AbstractSet implements java/util/Set,java/lang/Cloneable,java/io/Serializable flags 21 signature <E:Ljava/lang/Object;>Ljava/util/AbstractSet<TE;>;Ljava/util/Set<TE;>;Ljava/lang/Cloneable;Ljava/io/Serializable;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/util/IllegalFormatCodePointException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/IllegalFormatConversionException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/IllegalFormatException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/util/IllegalFormatFlagsException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/IllegalFormatPrecisionException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/IllegalFormatWidthException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/IllformedLocaleException
+header extends java/lang/RuntimeException flags 21
+
+class name java/util/InputMismatchException
+header extends java/util/NoSuchElementException flags 21
+
+class name java/util/IntSummaryStatistics
+header extends java/lang/Object implements java/util/function/IntConsumer flags 21
+
+class name java/util/InvalidPropertiesFormatException
+header extends java/io/IOException flags 21
+
+class name java/util/Iterator
+header extends java/lang/Object flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/util/LinkedHashSet
+header extends java/util/HashSet implements java/util/Set,java/lang/Cloneable,java/io/Serializable flags 21 signature <E:Ljava/lang/Object;>Ljava/util/HashSet<TE;>;Ljava/util/Set<TE;>;Ljava/lang/Cloneable;Ljava/io/Serializable;
+
+class name java/util/List
+header extends java/lang/Object implements java/util/Collection flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;
+
+class name java/util/ListIterator
+header extends java/lang/Object implements java/util/Iterator flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Iterator<TE;>;
+
+class name java/util/ListResourceBundle
+header extends java/util/ResourceBundle flags 421
+
+class name java/util/Locale
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable nestMembers java/util/Locale$LanguageRange,java/util/Locale$FilteringMode,java/util/Locale$Builder,java/util/Locale$Category,java/util/Locale$IsoCountryCode flags 31
+innerclass innerClass java/util/Locale$LanguageRange outerClass java/util/Locale innerClassName LanguageRange flags 19
+innerclass innerClass java/util/Locale$FilteringMode outerClass java/util/Locale innerClassName FilteringMode flags 4019
+innerclass innerClass java/util/Locale$Builder outerClass java/util/Locale innerClassName Builder flags 19
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+innerclass innerClass java/util/Locale$IsoCountryCode outerClass java/util/Locale innerClassName IsoCountryCode flags 4409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/Locale$Builder
+header extends java/lang/Object nestHost java/util/Locale flags 31
+innerclass innerClass java/util/Locale$Builder outerClass java/util/Locale innerClassName Builder flags 19
+
+class name java/util/Locale$Category
+header extends java/lang/Enum nestHost java/util/Locale flags 4031 signature Ljava/lang/Enum<Ljava/util/Locale$Category;>;
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/util/Locale$FilteringMode
+header extends java/lang/Enum nestHost java/util/Locale flags 4031 signature Ljava/lang/Enum<Ljava/util/Locale$FilteringMode;>;
+innerclass innerClass java/util/Locale$FilteringMode outerClass java/util/Locale innerClassName FilteringMode flags 4019
+
+class name java/util/Locale$IsoCountryCode
+header extends java/lang/Enum nestHost java/util/Locale flags 4421 signature Ljava/lang/Enum<Ljava/util/Locale$IsoCountryCode;>;
+innerclass innerClass java/util/Locale$IsoCountryCode outerClass java/util/Locale innerClassName IsoCountryCode flags 4409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/Locale$LanguageRange
+header extends java/lang/Object nestHost java/util/Locale flags 31
+innerclass innerClass java/util/Locale$LanguageRange outerClass java/util/Locale innerClassName LanguageRange flags 19
+
+class name java/util/LongSummaryStatistics
+header extends java/lang/Object implements java/util/function/LongConsumer,java/util/function/IntConsumer flags 21
+
+class name java/util/Map
+header extends java/lang/Object nestMembers java/util/Map$Entry flags 601 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/util/Map$Entry
+header extends java/lang/Object nestHost java/util/Map flags 601 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/MissingFormatArgumentException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/MissingFormatWidthException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/MissingResourceException
+header extends java/lang/RuntimeException flags 21
+
+class name java/util/NavigableMap
+header extends java/lang/Object implements java/util/SortedMap flags 601 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/SortedMap<TK;TV;>;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/util/NavigableSet
+header extends java/lang/Object implements java/util/SortedSet flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/SortedSet<TE;>;
+
+class name java/util/NoSuchElementException
+header extends java/lang/RuntimeException flags 21
+
+class name java/util/Objects
+header extends java/lang/Object flags 31
+
+class name java/util/Observable
+header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name java/util/Observer
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name java/util/Optional
+header extends java/lang/Object flags 31 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+method name isEmpty descriptor ()Z flags 1
+
+class name java/util/OptionalDouble
+header extends java/lang/Object flags 31
+method name isEmpty descriptor ()Z flags 1
+
+class name java/util/OptionalInt
+header extends java/lang/Object flags 31
+method name isEmpty descriptor ()Z flags 1
+
+class name java/util/OptionalLong
+header extends java/lang/Object flags 31
+method name isEmpty descriptor ()Z flags 1
+
+class name java/util/PrimitiveIterator
+header extends java/lang/Object implements java/util/Iterator nestMembers java/util/PrimitiveIterator$OfDouble,java/util/PrimitiveIterator$OfLong,java/util/PrimitiveIterator$OfInt flags 601 signature <T:Ljava/lang/Object;T_CONS:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Iterator<TT;>;
+innerclass innerClass java/util/PrimitiveIterator$OfDouble outerClass java/util/PrimitiveIterator innerClassName OfDouble flags 609
+innerclass innerClass java/util/PrimitiveIterator$OfLong outerClass java/util/PrimitiveIterator innerClassName OfLong flags 609
+innerclass innerClass java/util/PrimitiveIterator$OfInt outerClass java/util/PrimitiveIterator innerClassName OfInt flags 609
+
+class name java/util/PrimitiveIterator$OfDouble
+header extends java/lang/Object implements java/util/PrimitiveIterator nestHost java/util/PrimitiveIterator flags 601 signature Ljava/lang/Object;Ljava/util/PrimitiveIterator<Ljava/lang/Double;Ljava/util/function/DoubleConsumer;>;
+innerclass innerClass java/util/PrimitiveIterator$OfDouble outerClass java/util/PrimitiveIterator innerClassName OfDouble flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/PrimitiveIterator$OfInt
+header extends java/lang/Object implements java/util/PrimitiveIterator nestHost java/util/PrimitiveIterator flags 601 signature Ljava/lang/Object;Ljava/util/PrimitiveIterator<Ljava/lang/Integer;Ljava/util/function/IntConsumer;>;
+innerclass innerClass java/util/PrimitiveIterator$OfInt outerClass java/util/PrimitiveIterator innerClassName OfInt flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/PrimitiveIterator$OfLong
+header extends java/lang/Object implements java/util/PrimitiveIterator nestHost java/util/PrimitiveIterator flags 601 signature Ljava/lang/Object;Ljava/util/PrimitiveIterator<Ljava/lang/Long;Ljava/util/function/LongConsumer;>;
+innerclass innerClass java/util/PrimitiveIterator$OfLong outerClass java/util/PrimitiveIterator innerClassName OfLong flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/PriorityQueue
+header extends java/util/AbstractQueue implements java/io/Serializable flags 21 signature <E:Ljava/lang/Object;>Ljava/util/AbstractQueue<TE;>;Ljava/io/Serializable;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name removeIf descriptor (Ljava/util/function/Predicate;)Z flags 1 signature (Ljava/util/function/Predicate<-TE;>;)Z
+method name removeAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z
+method name retainAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z
+method name forEach descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<-TE;>;)V
+
+class name java/util/Properties
+-field name defaults descriptor Ljava/util/Properties;
+field name defaults descriptor Ljava/util/Properties; flags 44
+
+class name java/util/PropertyPermission
+header extends java/security/BasicPermission flags 31
+
+class name java/util/PropertyResourceBundle
+header extends java/util/ResourceBundle flags 21
+
+class name java/util/Queue
+header extends java/lang/Object implements java/util/Collection flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;
+
+class name java/util/RandomAccess
+header extends java/lang/Object flags 601
+
+class name java/util/ResourceBundle
+header extends java/lang/Object nestMembers java/util/ResourceBundle$Control flags 421
+innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/ResourceBundle$Control
+header extends java/lang/Object nestHost java/util/ResourceBundle flags 21
+innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/ServiceConfigurationError
+header extends java/lang/Error flags 21
+
+class name java/util/ServiceLoader
+header extends java/lang/Object implements java/lang/Iterable nestMembers java/util/ServiceLoader$Provider flags 31 signature <S:Ljava/lang/Object;>Ljava/lang/Object;Ljava/lang/Iterable<TS;>;
+innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/ServiceLoader$Provider
+header extends java/lang/Object implements java/util/function/Supplier nestHost java/util/ServiceLoader flags 601 signature <S:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/function/Supplier<TS;>;
+innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609
+
+class name java/util/Set
+header extends java/lang/Object implements java/util/Collection flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;
+
+class name java/util/SortedMap
+header extends java/lang/Object implements java/util/Map flags 601 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TK;TV;>;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/util/Spliterator
+header extends java/lang/Object nestMembers java/util/Spliterator$OfDouble,java/util/Spliterator$OfLong,java/util/Spliterator$OfInt,java/util/Spliterator$OfPrimitive flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass java/util/Spliterator$OfDouble outerClass java/util/Spliterator innerClassName OfDouble flags 609
+innerclass innerClass java/util/Spliterator$OfLong outerClass java/util/Spliterator innerClassName OfLong flags 609
+innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609
+innerclass innerClass java/util/Spliterator$OfPrimitive outerClass java/util/Spliterator innerClassName OfPrimitive flags 609
+
+class name java/util/Spliterator$OfDouble
+header extends java/lang/Object implements java/util/Spliterator$OfPrimitive nestHost java/util/Spliterator flags 601 signature Ljava/lang/Object;Ljava/util/Spliterator$OfPrimitive<Ljava/lang/Double;Ljava/util/function/DoubleConsumer;Ljava/util/Spliterator$OfDouble;>;
+innerclass innerClass java/util/Spliterator$OfDouble outerClass java/util/Spliterator innerClassName OfDouble flags 609
+innerclass innerClass java/util/Spliterator$OfPrimitive outerClass java/util/Spliterator innerClassName OfPrimitive flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/Spliterator$OfInt
+header extends java/lang/Object implements java/util/Spliterator$OfPrimitive nestHost java/util/Spliterator flags 601 signature Ljava/lang/Object;Ljava/util/Spliterator$OfPrimitive<Ljava/lang/Integer;Ljava/util/function/IntConsumer;Ljava/util/Spliterator$OfInt;>;
+innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609
+innerclass innerClass java/util/Spliterator$OfPrimitive outerClass java/util/Spliterator innerClassName OfPrimitive flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/Spliterator$OfLong
+header extends java/lang/Object implements java/util/Spliterator$OfPrimitive nestHost java/util/Spliterator flags 601 signature Ljava/lang/Object;Ljava/util/Spliterator$OfPrimitive<Ljava/lang/Long;Ljava/util/function/LongConsumer;Ljava/util/Spliterator$OfLong;>;
+innerclass innerClass java/util/Spliterator$OfLong outerClass java/util/Spliterator innerClassName OfLong flags 609
+innerclass innerClass java/util/Spliterator$OfPrimitive outerClass java/util/Spliterator innerClassName OfPrimitive flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/Spliterator$OfPrimitive
+header extends java/lang/Object implements java/util/Spliterator nestHost java/util/Spliterator flags 601 signature <T:Ljava/lang/Object;T_CONS:Ljava/lang/Object;T_SPLITR::Ljava/util/Spliterator$OfPrimitive<TT;TT_CONS;TT_SPLITR;>;>Ljava/lang/Object;Ljava/util/Spliterator<TT;>;
+innerclass innerClass java/util/Spliterator$OfPrimitive outerClass java/util/Spliterator innerClassName OfPrimitive flags 609
+
+class name java/util/Spliterators
+header extends java/lang/Object nestMembers java/util/Spliterators$AbstractDoubleSpliterator,java/util/Spliterators$AbstractLongSpliterator,java/util/Spliterators$AbstractIntSpliterator,java/util/Spliterators$AbstractSpliterator flags 31
+innerclass innerClass java/util/Spliterators$AbstractDoubleSpliterator outerClass java/util/Spliterators innerClassName AbstractDoubleSpliterator flags 409
+innerclass innerClass java/util/Spliterators$AbstractLongSpliterator outerClass java/util/Spliterators innerClassName AbstractLongSpliterator flags 409
+innerclass innerClass java/util/Spliterators$AbstractIntSpliterator outerClass java/util/Spliterators innerClassName AbstractIntSpliterator flags 409
+innerclass innerClass java/util/Spliterators$AbstractSpliterator outerClass java/util/Spliterators innerClassName AbstractSpliterator flags 409
+innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609
+innerclass innerClass java/util/Spliterator$OfLong outerClass java/util/Spliterator innerClassName OfLong flags 609
+innerclass innerClass java/util/Spliterator$OfDouble outerClass java/util/Spliterator innerClassName OfDouble flags 609
+innerclass innerClass java/util/PrimitiveIterator$OfInt outerClass java/util/PrimitiveIterator innerClassName OfInt flags 609
+innerclass innerClass java/util/PrimitiveIterator$OfLong outerClass java/util/PrimitiveIterator innerClassName OfLong flags 609
+innerclass innerClass java/util/PrimitiveIterator$OfDouble outerClass java/util/PrimitiveIterator innerClassName OfDouble flags 609
+
+class name java/util/Spliterators$AbstractDoubleSpliterator
+header extends java/lang/Object implements java/util/Spliterator$OfDouble nestHost java/util/Spliterators flags 421
+innerclass innerClass java/util/Spliterators$AbstractDoubleSpliterator outerClass java/util/Spliterators innerClassName AbstractDoubleSpliterator flags 409
+innerclass innerClass java/util/Spliterator$OfDouble outerClass java/util/Spliterator innerClassName OfDouble flags 609
+innerclass innerClass java/util/Spliterator$OfPrimitive outerClass java/util/Spliterator innerClassName OfPrimitive flags 609
+innerclass innerClass java/util/Spliterators$AbstractSpliterator outerClass java/util/Spliterators innerClassName AbstractSpliterator flags 409
+
+class name java/util/Spliterators$AbstractIntSpliterator
+header extends java/lang/Object implements java/util/Spliterator$OfInt nestHost java/util/Spliterators flags 421
+innerclass innerClass java/util/Spliterators$AbstractIntSpliterator outerClass java/util/Spliterators innerClassName AbstractIntSpliterator flags 409
+innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609
+innerclass innerClass java/util/Spliterator$OfPrimitive outerClass java/util/Spliterator innerClassName OfPrimitive flags 609
+innerclass innerClass java/util/Spliterators$AbstractSpliterator outerClass java/util/Spliterators innerClassName AbstractSpliterator flags 409
+
+class name java/util/Spliterators$AbstractLongSpliterator
+header extends java/lang/Object implements java/util/Spliterator$OfLong nestHost java/util/Spliterators flags 421
+innerclass innerClass java/util/Spliterators$AbstractLongSpliterator outerClass java/util/Spliterators innerClassName AbstractLongSpliterator flags 409
+innerclass innerClass java/util/Spliterator$OfLong outerClass java/util/Spliterator innerClassName OfLong flags 609
+innerclass innerClass java/util/Spliterator$OfPrimitive outerClass java/util/Spliterator innerClassName OfPrimitive flags 609
+innerclass innerClass java/util/Spliterators$AbstractSpliterator outerClass java/util/Spliterators innerClassName AbstractSpliterator flags 409
+
+class name java/util/Spliterators$AbstractSpliterator
+header extends java/lang/Object implements java/util/Spliterator nestHost java/util/Spliterators flags 421 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Spliterator<TT;>;
+innerclass innerClass java/util/Spliterators$AbstractSpliterator outerClass java/util/Spliterators innerClassName AbstractSpliterator flags 409
+
+class name java/util/Stack
+header extends java/util/Vector flags 21 signature <E:Ljava/lang/Object;>Ljava/util/Vector<TE;>;
+
+class name java/util/StringJoiner
+header extends java/lang/Object flags 31
+
+class name java/util/StringTokenizer
+header extends java/lang/Object implements java/util/Enumeration flags 21 signature Ljava/lang/Object;Ljava/util/Enumeration<Ljava/lang/Object;>;
+
+class name java/util/TimeZone
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
+
+class name java/util/TimerTask
+header extends java/lang/Object implements java/lang/Runnable flags 421
+
+class name java/util/TooManyListenersException
+header extends java/lang/Exception flags 21
+
+class name java/util/TreeSet
+header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature <E:Ljava/lang/Object;>Ljava/util/AbstractSet<TE;>;Ljava/util/NavigableSet<TE;>;Ljava/lang/Cloneable;Ljava/io/Serializable;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/util/UnknownFormatConversionException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/UnknownFormatFlagsException
+header extends java/util/IllegalFormatException flags 21
+
+class name java/util/Vector
+header extends java/util/AbstractList implements java/util/List,java/util/RandomAccess,java/lang/Cloneable,java/io/Serializable flags 21 signature <E:Ljava/lang/Object;>Ljava/util/AbstractList<TE;>;Ljava/util/List<TE;>;Ljava/util/RandomAccess;Ljava/lang/Cloneable;Ljava/io/Serializable;
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/AbstractExecutorService
+header extends java/lang/Object implements java/util/concurrent/ExecutorService flags 421
+
+class name java/util/concurrent/BlockingDeque
+header extends java/lang/Object implements java/util/concurrent/BlockingQueue,java/util/Deque flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/BlockingQueue<TE;>;Ljava/util/Deque<TE;>;
+
+class name java/util/concurrent/BlockingQueue
+header extends java/lang/Object implements java/util/Queue flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Queue<TE;>;
+
+class name java/util/concurrent/BrokenBarrierException
+header extends java/lang/Exception flags 21
+
+class name java/util/concurrent/Callable
+header extends java/lang/Object flags 601 signature <V:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/concurrent/CancellationException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/util/concurrent/CompletableFuture
+header extends java/lang/Object implements java/util/concurrent/Future,java/util/concurrent/CompletionStage nestMembers java/util/concurrent/CompletableFuture$AsynchronousCompletionTask flags 21 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/Future<TT;>;Ljava/util/concurrent/CompletionStage<TT;>;
+innerclass innerClass java/util/concurrent/CompletableFuture$AsynchronousCompletionTask outerClass java/util/concurrent/CompletableFuture innerClassName AsynchronousCompletionTask flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+innerclass innerClass java/util/concurrent/ForkJoinPool$ManagedBlocker outerClass java/util/concurrent/ForkJoinPool innerClassName ManagedBlocker flags 609
+
+class name java/util/concurrent/CompletableFuture$AsynchronousCompletionTask
+header extends java/lang/Object nestHost java/util/concurrent/CompletableFuture flags 601
+innerclass innerClass java/util/concurrent/CompletableFuture$AsynchronousCompletionTask outerClass java/util/concurrent/CompletableFuture innerClassName AsynchronousCompletionTask flags 609
+
+class name java/util/concurrent/CompletionException
+header extends java/lang/RuntimeException flags 21
+
+class name java/util/concurrent/CompletionService
+header extends java/lang/Object flags 601 signature <V:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/util/concurrent/CompletionStage
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/util/concurrent/ConcurrentHashMap
+header extends java/util/AbstractMap implements java/util/concurrent/ConcurrentMap,java/io/Serializable nestMembers java/util/concurrent/ConcurrentHashMap$KeySetView,java/util/concurrent/ConcurrentHashMap$CollectionView flags 21 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/AbstractMap<TK;TV;>;Ljava/util/concurrent/ConcurrentMap<TK;TV;>;Ljava/io/Serializable;
+innerclass innerClass java/util/concurrent/ConcurrentHashMap$KeySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName KeySetView flags 9
+innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/util/AbstractMap$SimpleImmutableEntry outerClass java/util/AbstractMap innerClassName SimpleImmutableEntry flags 9
+
+class name java/util/concurrent/ConcurrentHashMap$CollectionView
+header extends java/lang/Object implements java/util/Collection,java/io/Serializable nestHost java/util/concurrent/ConcurrentHashMap flags 420 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;Ljava/io/Serializable;
+innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408
+
+class name java/util/concurrent/ConcurrentHashMap$KeySetView
+header extends java/util/concurrent/ConcurrentHashMap$CollectionView implements java/util/Set,java/io/Serializable nestHost java/util/concurrent/ConcurrentHashMap flags 21 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/concurrent/ConcurrentHashMap$CollectionView<TK;TV;TK;>;Ljava/util/Set<TK;>;Ljava/io/Serializable;
+innerclass innerClass java/util/concurrent/ConcurrentHashMap$KeySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName KeySetView flags 9
+innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408
+
+class name java/util/concurrent/ConcurrentMap
+header extends java/lang/Object implements java/util/Map flags 601 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TK;TV;>;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/ConcurrentNavigableMap
+header extends java/lang/Object implements java/util/concurrent/ConcurrentMap,java/util/NavigableMap flags 601 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/ConcurrentMap<TK;TV;>;Ljava/util/NavigableMap<TK;TV;>;
+
+class name java/util/concurrent/ConcurrentSkipListSet
+header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature <E:Ljava/lang/Object;>Ljava/util/AbstractSet<TE;>;Ljava/util/NavigableSet<TE;>;Ljava/lang/Cloneable;Ljava/io/Serializable;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/CopyOnWriteArraySet
+header extends java/util/AbstractSet implements java/io/Serializable flags 21 signature <E:Ljava/lang/Object;>Ljava/util/AbstractSet<TE;>;Ljava/io/Serializable;
+
+class name java/util/concurrent/CountedCompleter
+header extends java/util/concurrent/ForkJoinTask flags 421 signature <T:Ljava/lang/Object;>Ljava/util/concurrent/ForkJoinTask<TT;>;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/Delayed
+header extends java/lang/Object implements java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/util/concurrent/Delayed;>;
+
+class name java/util/concurrent/ExecutionException
+header extends java/lang/Exception flags 21
+
+class name java/util/concurrent/Executor
+header extends java/lang/Object flags 601
+
+class name java/util/concurrent/ExecutorService
+header extends java/lang/Object implements java/util/concurrent/Executor flags 601
+
+class name java/util/concurrent/Flow
+header extends java/lang/Object nestMembers java/util/concurrent/Flow$Processor,java/util/concurrent/Flow$Subscription,java/util/concurrent/Flow$Subscriber,java/util/concurrent/Flow$Publisher flags 31
+innerclass innerClass java/util/concurrent/Flow$Processor outerClass java/util/concurrent/Flow innerClassName Processor flags 609
+innerclass innerClass java/util/concurrent/Flow$Subscription outerClass java/util/concurrent/Flow innerClassName Subscription flags 609
+innerclass innerClass java/util/concurrent/Flow$Subscriber outerClass java/util/concurrent/Flow innerClassName Subscriber flags 609
+innerclass innerClass java/util/concurrent/Flow$Publisher outerClass java/util/concurrent/Flow innerClassName Publisher flags 609
+
+class name java/util/concurrent/Flow$Processor
+header extends java/lang/Object implements java/util/concurrent/Flow$Subscriber,java/util/concurrent/Flow$Publisher nestHost java/util/concurrent/Flow flags 601 signature <T:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/Flow$Subscriber<TT;>;Ljava/util/concurrent/Flow$Publisher<TR;>;
+innerclass innerClass java/util/concurrent/Flow$Subscriber outerClass java/util/concurrent/Flow innerClassName Subscriber flags 609
+innerclass innerClass java/util/concurrent/Flow$Publisher outerClass java/util/concurrent/Flow innerClassName Publisher flags 609
+innerclass innerClass java/util/concurrent/Flow$Processor outerClass java/util/concurrent/Flow innerClassName Processor flags 609
+
+class name java/util/concurrent/Flow$Publisher
+header extends java/lang/Object nestHost java/util/concurrent/Flow flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/util/concurrent/Flow$Subscriber outerClass java/util/concurrent/Flow innerClassName Subscriber flags 609
+innerclass innerClass java/util/concurrent/Flow$Publisher outerClass java/util/concurrent/Flow innerClassName Publisher flags 609
+
+class name java/util/concurrent/Flow$Subscriber
+header extends java/lang/Object nestHost java/util/concurrent/Flow flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass java/util/concurrent/Flow$Subscription outerClass java/util/concurrent/Flow innerClassName Subscription flags 609
+innerclass innerClass java/util/concurrent/Flow$Subscriber outerClass java/util/concurrent/Flow innerClassName Subscriber flags 609
+
+class name java/util/concurrent/Flow$Subscription
+header extends java/lang/Object nestHost java/util/concurrent/Flow flags 601
+innerclass innerClass java/util/concurrent/Flow$Subscription outerClass java/util/concurrent/Flow innerClassName Subscription flags 609
+
+class name java/util/concurrent/ForkJoinPool
+header extends java/util/concurrent/AbstractExecutorService nestMembers java/util/concurrent/ForkJoinPool$ManagedBlocker,java/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory flags 21
+innerclass innerClass java/util/concurrent/ForkJoinPool$ManagedBlocker outerClass java/util/concurrent/ForkJoinPool innerClassName ManagedBlocker flags 609
+innerclass innerClass java/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory outerClass java/util/concurrent/ForkJoinPool innerClassName ForkJoinWorkerThreadFactory flags 609
+innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609
+innerclass innerClass java/lang/Thread$State outerClass java/lang/Thread innerClassName State flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory
+header extends java/lang/Object nestHost java/util/concurrent/ForkJoinPool flags 601
+innerclass innerClass java/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory outerClass java/util/concurrent/ForkJoinPool innerClassName ForkJoinWorkerThreadFactory flags 609
+
+class name java/util/concurrent/ForkJoinPool$ManagedBlocker
+header extends java/lang/Object nestHost java/util/concurrent/ForkJoinPool flags 601
+innerclass innerClass java/util/concurrent/ForkJoinPool$ManagedBlocker outerClass java/util/concurrent/ForkJoinPool innerClassName ManagedBlocker flags 609
+
+class name java/util/concurrent/Future
+header extends java/lang/Object flags 601 signature <V:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name java/util/concurrent/PriorityBlockingQueue
+method name removeIf descriptor (Ljava/util/function/Predicate;)Z flags 1 signature (Ljava/util/function/Predicate<-TE;>;)Z
+method name removeAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z
+method name retainAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z
+method name forEach descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<-TE;>;)V
+
+class name java/util/concurrent/RecursiveAction
+header extends java/util/concurrent/ForkJoinTask flags 421 signature Ljava/util/concurrent/ForkJoinTask<Ljava/lang/Void;>;
+
+class name java/util/concurrent/RecursiveTask
+header extends java/util/concurrent/ForkJoinTask flags 421 signature <V:Ljava/lang/Object;>Ljava/util/concurrent/ForkJoinTask<TV;>;
+
+class name java/util/concurrent/RejectedExecutionException
+header extends java/lang/RuntimeException flags 21
+
+class name java/util/concurrent/RejectedExecutionHandler
+header extends java/lang/Object flags 601
+
+class name java/util/concurrent/RunnableFuture
+header extends java/lang/Object implements java/lang/Runnable,java/util/concurrent/Future flags 601 signature <V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/lang/Runnable;Ljava/util/concurrent/Future<TV;>;
+
+class name java/util/concurrent/RunnableScheduledFuture
+header extends java/lang/Object implements java/util/concurrent/RunnableFuture,java/util/concurrent/ScheduledFuture flags 601 signature <V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/RunnableFuture<TV;>;Ljava/util/concurrent/ScheduledFuture<TV;>;
+
+class name java/util/concurrent/ScheduledExecutorService
+header extends java/lang/Object implements java/util/concurrent/ExecutorService flags 601
+
+class name java/util/concurrent/ScheduledFuture
+header extends java/lang/Object implements java/util/concurrent/Delayed,java/util/concurrent/Future flags 601 signature <V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/Delayed;Ljava/util/concurrent/Future<TV;>;
+
+class name java/util/concurrent/ThreadFactory
+header extends java/lang/Object flags 601
+
+class name java/util/concurrent/ThreadPoolExecutor
+header extends java/util/concurrent/AbstractExecutorService nestMembers java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy,java/util/concurrent/ThreadPoolExecutor$DiscardPolicy,java/util/concurrent/ThreadPoolExecutor$AbortPolicy,java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy flags 21
+innerclass innerClass java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy outerClass java/util/concurrent/ThreadPoolExecutor innerClassName DiscardOldestPolicy flags 9
+innerclass innerClass java/util/concurrent/ThreadPoolExecutor$DiscardPolicy outerClass java/util/concurrent/ThreadPoolExecutor innerClassName DiscardPolicy flags 9
+innerclass innerClass java/util/concurrent/ThreadPoolExecutor$AbortPolicy outerClass java/util/concurrent/ThreadPoolExecutor innerClassName AbortPolicy flags 9
+innerclass innerClass java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy outerClass java/util/concurrent/ThreadPoolExecutor innerClassName CallerRunsPolicy flags 9
+
+class name java/util/concurrent/ThreadPoolExecutor$AbortPolicy
+header extends java/lang/Object implements java/util/concurrent/RejectedExecutionHandler nestHost java/util/concurrent/ThreadPoolExecutor flags 21
+innerclass innerClass java/util/concurrent/ThreadPoolExecutor$AbortPolicy outerClass java/util/concurrent/ThreadPoolExecutor innerClassName AbortPolicy flags 9
+
+class name java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy
+header extends java/lang/Object implements java/util/concurrent/RejectedExecutionHandler nestHost java/util/concurrent/ThreadPoolExecutor flags 21
+innerclass innerClass java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy outerClass java/util/concurrent/ThreadPoolExecutor innerClassName CallerRunsPolicy flags 9
+
+class name java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy
+header extends java/lang/Object implements java/util/concurrent/RejectedExecutionHandler nestHost java/util/concurrent/ThreadPoolExecutor flags 21
+innerclass innerClass java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy outerClass java/util/concurrent/ThreadPoolExecutor innerClassName DiscardOldestPolicy flags 9
+
+class name java/util/concurrent/ThreadPoolExecutor$DiscardPolicy
+header extends java/lang/Object implements java/util/concurrent/RejectedExecutionHandler nestHost java/util/concurrent/ThreadPoolExecutor flags 21
+innerclass innerClass java/util/concurrent/ThreadPoolExecutor$DiscardPolicy outerClass java/util/concurrent/ThreadPoolExecutor innerClassName DiscardPolicy flags 9
+
+class name java/util/concurrent/TimeUnit
+method name convert descriptor (Ljava/time/Duration;)J flags 1
+
+class name java/util/concurrent/TimeoutException
+header extends java/lang/Exception flags 21
+
+class name java/util/concurrent/TransferQueue
+header extends java/lang/Object implements java/util/concurrent/BlockingQueue flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/BlockingQueue<TE;>;
+
+class name java/util/concurrent/atomic/AtomicBoolean
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/atomic/AtomicInteger
+header extends java/lang/Number implements java/io/Serializable flags 21
+
+class name java/util/concurrent/atomic/AtomicIntegerArray
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name java/util/concurrent/atomic/AtomicLong
+header extends java/lang/Number implements java/io/Serializable flags 21
+
+class name java/util/concurrent/atomic/AtomicLongArray
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name java/util/concurrent/atomic/AtomicReference
+header extends java/lang/Object implements java/io/Serializable flags 21 signature <V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Serializable;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/atomic/AtomicReferenceArray
+header extends java/lang/Object implements java/io/Serializable flags 21 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Serializable;
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/locks/AbstractOwnableSynchronizer
+header extends java/lang/Object implements java/io/Serializable flags 421
+
+class name java/util/concurrent/locks/AbstractQueuedLongSynchronizer
+header extends java/util/concurrent/locks/AbstractOwnableSynchronizer implements java/io/Serializable nestMembers java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject flags 421
+innerclass innerClass java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedLongSynchronizer innerClassName ConditionObject flags 1
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject
+header extends java/lang/Object implements java/util/concurrent/locks/Condition,java/io/Serializable nestHost java/util/concurrent/locks/AbstractQueuedLongSynchronizer flags 21
+innerclass innerClass java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedLongSynchronizer innerClassName ConditionObject flags 1
+
+class name java/util/concurrent/locks/AbstractQueuedSynchronizer
+header extends java/util/concurrent/locks/AbstractOwnableSynchronizer implements java/io/Serializable nestMembers java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject flags 421
+innerclass innerClass java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedSynchronizer innerClassName ConditionObject flags 1
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
+header extends java/lang/Object implements java/util/concurrent/locks/Condition,java/io/Serializable nestHost java/util/concurrent/locks/AbstractQueuedSynchronizer flags 21
+innerclass innerClass java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedSynchronizer innerClassName ConditionObject flags 1
+
+class name java/util/concurrent/locks/Condition
+header extends java/lang/Object flags 601
+
+class name java/util/concurrent/locks/Lock
+header extends java/lang/Object flags 601
+
+class name java/util/concurrent/locks/LockSupport
+header extends java/lang/Object flags 21
+
+class name java/util/concurrent/locks/ReadWriteLock
+header extends java/lang/Object flags 601
+
+class name java/util/concurrent/locks/ReentrantReadWriteLock
+header extends java/lang/Object implements java/util/concurrent/locks/ReadWriteLock,java/io/Serializable nestMembers java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock,java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock flags 21
+innerclass innerClass java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock outerClass java/util/concurrent/locks/ReentrantReadWriteLock innerClassName WriteLock flags 9
+innerclass innerClass java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock outerClass java/util/concurrent/locks/ReentrantReadWriteLock innerClassName ReadLock flags 9
+innerclass innerClass java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedSynchronizer innerClassName ConditionObject flags 1
+
+class name java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock
+header extends java/lang/Object implements java/util/concurrent/locks/Lock,java/io/Serializable nestHost java/util/concurrent/locks/ReentrantReadWriteLock flags 21
+innerclass innerClass java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock outerClass java/util/concurrent/locks/ReentrantReadWriteLock innerClassName ReadLock flags 9
+
+class name java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock
+header extends java/lang/Object implements java/util/concurrent/locks/Lock,java/io/Serializable nestHost java/util/concurrent/locks/ReentrantReadWriteLock flags 21
+innerclass innerClass java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock outerClass java/util/concurrent/locks/ReentrantReadWriteLock innerClassName WriteLock flags 9
+innerclass innerClass java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedSynchronizer innerClassName ConditionObject flags 1
+
+class name java/util/function/BiConsumer
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;U:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/BiFunction
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;U:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/BiPredicate
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;U:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/BinaryOperator
+header extends java/lang/Object implements java/util/function/BiFunction flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/function/BiFunction<TT;TT;TT;>; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/BooleanSupplier
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/Consumer
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/DoubleBinaryOperator
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/DoubleConsumer
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/DoubleFunction
+header extends java/lang/Object flags 601 signature <R:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/DoublePredicate
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/DoubleSupplier
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/DoubleToIntFunction
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/DoubleToLongFunction
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/DoubleUnaryOperator
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/Function
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/IntBinaryOperator
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/IntConsumer
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/IntFunction
+header extends java/lang/Object flags 601 signature <R:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/IntPredicate
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/IntSupplier
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/IntToDoubleFunction
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/IntToLongFunction
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/IntUnaryOperator
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/LongBinaryOperator
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/LongConsumer
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/LongFunction
+header extends java/lang/Object flags 601 signature <R:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/LongPredicate
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/LongSupplier
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/LongToDoubleFunction
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/LongToIntFunction
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/LongUnaryOperator
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/function/ObjDoubleConsumer
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/ObjIntConsumer
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/ObjLongConsumer
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/Predicate
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name not descriptor (Ljava/util/function/Predicate;)Ljava/util/function/Predicate; flags 9 signature <T:Ljava/lang/Object;>(Ljava/util/function/Predicate<-TT;>;)Ljava/util/function/Predicate<TT;>;
+
+class name java/util/function/Supplier
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/ToDoubleBiFunction
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;U:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/ToDoubleFunction
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/ToIntBiFunction
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;U:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/ToIntFunction
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/ToLongBiFunction
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;U:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/ToLongFunction
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/function/UnaryOperator
+header extends java/lang/Object implements java/util/function/Function flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/function/Function<TT;TT;>; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/jar/Attributes
+header extends java/lang/Object implements java/util/Map,java/lang/Cloneable nestMembers java/util/jar/Attributes$Name flags 21 signature Ljava/lang/Object;Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;Ljava/lang/Cloneable;
+innerclass innerClass java/util/jar/Attributes$Name outerClass java/util/jar/Attributes innerClassName Name flags 9
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/util/jar/Attributes$Name
+header extends java/lang/Object nestHost java/util/jar/Attributes flags 21
+innerclass innerClass java/util/jar/Attributes$Name outerClass java/util/jar/Attributes innerClassName Name flags 9
+
+class name java/util/jar/JarEntry
+header extends java/util/zip/ZipEntry flags 21
+
+class name java/util/jar/JarException
+header extends java/util/zip/ZipException flags 21
+
+class name java/util/jar/JarInputStream
+header extends java/util/zip/ZipInputStream flags 21
+
+class name java/util/jar/JarOutputStream
+header extends java/util/zip/ZipOutputStream flags 21
+
+class name java/util/jar/Pack200
+header extends java/lang/Object nestMembers java/util/jar/Pack200$Unpacker,java/util/jar/Pack200$Packer flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/util/jar/Pack200$Unpacker outerClass java/util/jar/Pack200 innerClassName Unpacker flags 609
+innerclass innerClass java/util/jar/Pack200$Packer outerClass java/util/jar/Pack200 innerClassName Packer flags 609
+
+class name java/util/jar/Pack200$Packer
+header extends java/lang/Object nestHost java/util/jar/Pack200 flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/util/jar/Pack200$Packer outerClass java/util/jar/Pack200 innerClassName Packer flags 609
+
+class name java/util/jar/Pack200$Unpacker
+header extends java/lang/Object nestHost java/util/jar/Pack200 flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/util/jar/Pack200$Unpacker outerClass java/util/jar/Pack200 innerClassName Unpacker flags 609
+
+class name java/util/regex/MatchResult
+header extends java/lang/Object flags 601
+
+class name java/util/regex/Pattern
+method name asMatchPredicate descriptor ()Ljava/util/function/Predicate; flags 1 signature ()Ljava/util/function/Predicate<Ljava/lang/String;>;
+
+class name java/util/regex/PatternSyntaxException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name java/util/spi/AbstractResourceBundleProvider
+header extends java/lang/Object implements java/util/spi/ResourceBundleProvider flags 421
+innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/spi/CalendarDataProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/util/spi/CalendarNameProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/util/spi/CurrencyNameProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9
+
+class name java/util/spi/LocaleNameProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/util/spi/LocaleServiceProvider
+header extends java/lang/Object flags 421
+
+class name java/util/spi/ResourceBundleControlProvider
+header extends java/lang/Object flags 601
+innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9
+
+class name java/util/spi/ResourceBundleProvider
+header extends java/lang/Object flags 601
+
+class name java/util/spi/TimeZoneNameProvider
+header extends java/util/spi/LocaleServiceProvider flags 421
+
+class name java/util/spi/ToolProvider
+header extends java/lang/Object flags 601
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/stream/BaseStream
+header extends java/lang/Object implements java/lang/AutoCloseable flags 601 signature <T:Ljava/lang/Object;S::Ljava/util/stream/BaseStream<TT;TS;>;>Ljava/lang/Object;Ljava/lang/AutoCloseable;
+
+class name java/util/stream/Collector
+header extends java/lang/Object nestMembers java/util/stream/Collector$Characteristics flags 601 signature <T:Ljava/lang/Object;A:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass java/util/stream/Collector$Characteristics outerClass java/util/stream/Collector innerClassName Characteristics flags 4019
+
+class name java/util/stream/Collector$Characteristics
+header extends java/lang/Enum nestHost java/util/stream/Collector flags 4031 signature Ljava/lang/Enum<Ljava/util/stream/Collector$Characteristics;>;
+innerclass innerClass java/util/stream/Collector$Characteristics outerClass java/util/stream/Collector innerClassName Characteristics flags 4019
+
+class name java/util/stream/DoubleStream
+header extends java/lang/Object implements java/util/stream/BaseStream nestMembers java/util/stream/DoubleStream$Builder flags 601 signature Ljava/lang/Object;Ljava/util/stream/BaseStream<Ljava/lang/Double;Ljava/util/stream/DoubleStream;>;
+innerclass innerClass java/util/stream/DoubleStream$Builder outerClass java/util/stream/DoubleStream innerClassName Builder flags 609
+innerclass innerClass java/util/PrimitiveIterator$OfDouble outerClass java/util/PrimitiveIterator innerClassName OfDouble flags 609
+innerclass innerClass java/util/Spliterator$OfDouble outerClass java/util/Spliterator innerClassName OfDouble flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/stream/DoubleStream$Builder
+header extends java/lang/Object implements java/util/function/DoubleConsumer nestHost java/util/stream/DoubleStream flags 601
+innerclass innerClass java/util/stream/DoubleStream$Builder outerClass java/util/stream/DoubleStream innerClassName Builder flags 609
+
+class name java/util/stream/IntStream
+header extends java/lang/Object implements java/util/stream/BaseStream nestMembers java/util/stream/IntStream$Builder flags 601 signature Ljava/lang/Object;Ljava/util/stream/BaseStream<Ljava/lang/Integer;Ljava/util/stream/IntStream;>;
+innerclass innerClass java/util/stream/IntStream$Builder outerClass java/util/stream/IntStream innerClassName Builder flags 609
+innerclass innerClass java/util/PrimitiveIterator$OfInt outerClass java/util/PrimitiveIterator innerClassName OfInt flags 609
+innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/stream/IntStream$Builder
+header extends java/lang/Object implements java/util/function/IntConsumer nestHost java/util/stream/IntStream flags 601
+innerclass innerClass java/util/stream/IntStream$Builder outerClass java/util/stream/IntStream innerClassName Builder flags 609
+
+class name java/util/stream/LongStream
+header extends java/lang/Object implements java/util/stream/BaseStream nestMembers java/util/stream/LongStream$Builder flags 601 signature Ljava/lang/Object;Ljava/util/stream/BaseStream<Ljava/lang/Long;Ljava/util/stream/LongStream;>;
+innerclass innerClass java/util/stream/LongStream$Builder outerClass java/util/stream/LongStream innerClassName Builder flags 609
+innerclass innerClass java/util/PrimitiveIterator$OfLong outerClass java/util/PrimitiveIterator innerClassName OfLong flags 609
+innerclass innerClass java/util/Spliterator$OfLong outerClass java/util/Spliterator innerClassName OfLong flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/stream/LongStream$Builder
+header extends java/lang/Object implements java/util/function/LongConsumer nestHost java/util/stream/LongStream flags 601
+innerclass innerClass java/util/stream/LongStream$Builder outerClass java/util/stream/LongStream innerClassName Builder flags 609
+
+class name java/util/stream/Stream
+header extends java/lang/Object implements java/util/stream/BaseStream nestMembers java/util/stream/Stream$Builder flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/stream/BaseStream<TT;Ljava/util/stream/Stream<TT;>;>;
+innerclass innerClass java/util/stream/Stream$Builder outerClass java/util/stream/Stream innerClassName Builder flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/stream/Stream$Builder
+header extends java/lang/Object implements java/util/function/Consumer nestHost java/util/stream/Stream flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/function/Consumer<TT;>;
+innerclass innerClass java/util/stream/Stream$Builder outerClass java/util/stream/Stream innerClassName Builder flags 609
+
+class name java/util/stream/StreamSupport
+header extends java/lang/Object flags 31
+innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609
+innerclass innerClass java/util/Spliterator$OfLong outerClass java/util/Spliterator innerClassName OfLong flags 609
+innerclass innerClass java/util/Spliterator$OfDouble outerClass java/util/Spliterator innerClassName OfDouble flags 609
+
+class name java/util/zip/Adler32
+header extends java/lang/Object implements java/util/zip/Checksum flags 21
+
+class name java/util/zip/CRC32
+header extends java/lang/Object implements java/util/zip/Checksum flags 21
+
+class name java/util/zip/CRC32C
+header extends java/lang/Object implements java/util/zip/Checksum flags 31
+
+class name java/util/zip/CheckedInputStream
+header extends java/io/FilterInputStream flags 21
+
+class name java/util/zip/CheckedOutputStream
+header extends java/io/FilterOutputStream flags 21
+
+class name java/util/zip/DataFormatException
+header extends java/lang/Exception flags 21
+
+class name java/util/zip/Deflater
+method name setInput descriptor (Ljava/nio/ByteBuffer;)V flags 1
+method name setDictionary descriptor (Ljava/nio/ByteBuffer;)V flags 1
+method name deflate descriptor (Ljava/nio/ByteBuffer;)I flags 1
+method name deflate descriptor (Ljava/nio/ByteBuffer;I)I flags 1
+
+class name java/util/zip/DeflaterInputStream
+header extends java/io/FilterInputStream flags 21
+
+class name java/util/zip/DeflaterOutputStream
+header extends java/io/FilterOutputStream flags 21
+
+class name java/util/zip/GZIPOutputStream
+header extends java/util/zip/DeflaterOutputStream flags 21
+
+class name java/util/zip/Inflater
+method name setInput descriptor (Ljava/nio/ByteBuffer;)V flags 1
+method name setDictionary descriptor (Ljava/nio/ByteBuffer;)V flags 1
+method name inflate descriptor (Ljava/nio/ByteBuffer;)I thrownTypes java/util/zip/DataFormatException flags 1
+
+class name java/util/zip/InflaterInputStream
+header extends java/io/FilterInputStream flags 21
+
+class name java/util/zip/InflaterOutputStream
+header extends java/io/FilterOutputStream flags 21
+
+class name java/util/zip/ZipConstants
+header extends java/lang/Object flags 600
+
+class name java/util/zip/ZipEntry
+header extends java/lang/Object implements java/util/zip/ZipConstants,java/lang/Cloneable flags 21
+
+class name java/util/zip/ZipError
+header extends java/lang/InternalError flags 21
+
+class name java/util/zip/ZipException
+header extends java/io/IOException flags 21
+
+class name java/util/zip/ZipInputStream
+header extends java/util/zip/InflaterInputStream implements java/util/zip/ZipConstants flags 21
+
+class name javax/crypto/AEADBadTagException
+header extends javax/crypto/BadPaddingException flags 21
+
+class name javax/crypto/BadPaddingException
+header extends java/security/GeneralSecurityException flags 21
+
+class name javax/crypto/CipherInputStream
+header extends java/io/FilterInputStream flags 21
+
+class name javax/crypto/CipherOutputStream
+header extends java/io/FilterOutputStream flags 21
+
+class name javax/crypto/CipherSpi
+header extends java/lang/Object flags 421
+
+class name javax/crypto/EncryptedPrivateKeyInfo
+header extends java/lang/Object flags 21
+
+class name javax/crypto/ExemptionMechanism
+header extends java/lang/Object flags 21
+
+class name javax/crypto/ExemptionMechanismException
+header extends java/security/GeneralSecurityException flags 21
+
+class name javax/crypto/ExemptionMechanismSpi
+header extends java/lang/Object flags 421
+
+class name javax/crypto/IllegalBlockSizeException
+header extends java/security/GeneralSecurityException flags 21
+
+class name javax/crypto/KeyAgreement
+header extends java/lang/Object flags 21
+innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9
+
+class name javax/crypto/KeyAgreementSpi
+header extends java/lang/Object flags 421
+
+class name javax/crypto/KeyGenerator
+header extends java/lang/Object flags 21
+innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9
+
+class name javax/crypto/KeyGeneratorSpi
+header extends java/lang/Object flags 421
+
+class name javax/crypto/Mac
+header extends java/lang/Object implements java/lang/Cloneable flags 21
+innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9
+
+class name javax/crypto/MacSpi
+header extends java/lang/Object flags 421
+
+class name javax/crypto/NoSuchPaddingException
+header extends java/security/GeneralSecurityException flags 21
+
+class name javax/crypto/NullCipher
+header extends javax/crypto/Cipher flags 21
+
+class name javax/crypto/SealedObject
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/crypto/SecretKey
+header extends java/lang/Object implements java/security/Key,javax/security/auth/Destroyable flags 601
+
+class name javax/crypto/SecretKeyFactory
+header extends java/lang/Object flags 21
+innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9
+
+class name javax/crypto/SecretKeyFactorySpi
+header extends java/lang/Object flags 421
+
+class name javax/crypto/ShortBufferException
+header extends java/security/GeneralSecurityException flags 21
+
+class name javax/crypto/interfaces/DHKey
+header extends java/lang/Object flags 601
+
+class name javax/crypto/interfaces/DHPrivateKey
+header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PrivateKey flags 601
+
+class name javax/crypto/interfaces/DHPublicKey
+header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PublicKey flags 601
+
+class name javax/crypto/interfaces/PBEKey
+header extends java/lang/Object implements javax/crypto/SecretKey flags 601
+
+class name javax/crypto/spec/ChaCha20ParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 31
+method name <init> descriptor ([BI)V flags 1
+method name getNonce descriptor ()[B flags 1
+method name getCounter descriptor ()I flags 1
+
+class name javax/crypto/spec/DESKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+
+class name javax/crypto/spec/DESedeKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+
+class name javax/crypto/spec/DHGenParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+
+class name javax/crypto/spec/DHParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+
+class name javax/crypto/spec/DHPrivateKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+
+class name javax/crypto/spec/DHPublicKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+
+class name javax/crypto/spec/GCMParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+
+class name javax/crypto/spec/IvParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+
+class name javax/crypto/spec/OAEPParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+innerclass innerClass javax/crypto/spec/PSource$PSpecified outerClass javax/crypto/spec/PSource innerClassName PSpecified flags 19
+
+class name javax/crypto/spec/PBEKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec flags 21
+
+class name javax/crypto/spec/PBEParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+
+class name javax/crypto/spec/PSource
+header extends java/lang/Object nestMembers javax/crypto/spec/PSource$PSpecified flags 21
+innerclass innerClass javax/crypto/spec/PSource$PSpecified outerClass javax/crypto/spec/PSource innerClassName PSpecified flags 19
+
+class name javax/crypto/spec/PSource$PSpecified
+header extends javax/crypto/spec/PSource nestHost javax/crypto/spec/PSource flags 31
+innerclass innerClass javax/crypto/spec/PSource$PSpecified outerClass javax/crypto/spec/PSource innerClassName PSpecified flags 19
+
+class name javax/crypto/spec/RC2ParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+
+class name javax/crypto/spec/RC5ParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21
+
+class name javax/crypto/spec/SecretKeySpec
+header extends java/lang/Object implements java/security/spec/KeySpec,javax/crypto/SecretKey flags 21
+
+class name javax/net/ServerSocketFactory
+header extends java/lang/Object flags 421
+
+class name javax/net/SocketFactory
+header extends java/lang/Object flags 421
+
+class name javax/net/ssl/CertPathTrustManagerParameters
+header extends java/lang/Object implements javax/net/ssl/ManagerFactoryParameters flags 21
+
+class name javax/net/ssl/ExtendedSSLSession
+header extends java/lang/Object implements javax/net/ssl/SSLSession flags 421
+
+class name javax/net/ssl/HandshakeCompletedEvent
+header extends java/util/EventObject flags 21
+
+class name javax/net/ssl/HandshakeCompletedListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/net/ssl/HostnameVerifier
+header extends java/lang/Object flags 601
+
+class name javax/net/ssl/KeyManager
+header extends java/lang/Object flags 601
+
+class name javax/net/ssl/KeyManagerFactorySpi
+header extends java/lang/Object flags 421
+
+class name javax/net/ssl/KeyStoreBuilderParameters
+header extends java/lang/Object implements javax/net/ssl/ManagerFactoryParameters flags 21
+innerclass innerClass java/security/KeyStore$Builder outerClass java/security/KeyStore innerClassName Builder flags 409
+
+class name javax/net/ssl/ManagerFactoryParameters
+header extends java/lang/Object flags 601
+
+class name javax/net/ssl/SNIMatcher
+header extends java/lang/Object flags 421
+
+class name javax/net/ssl/SNIServerName
+header extends java/lang/Object flags 421
+
+class name javax/net/ssl/SSLContext
+header extends java/lang/Object flags 21
+
+class name javax/net/ssl/SSLContextSpi
+header extends java/lang/Object flags 421
+
+class name javax/net/ssl/SSLEngine
+header extends java/lang/Object flags 421
+innerclass innerClass javax/net/ssl/SSLEngineResult$HandshakeStatus outerClass javax/net/ssl/SSLEngineResult innerClassName HandshakeStatus flags 4019
+
+class name javax/net/ssl/SSLEngineResult
+header extends java/lang/Object nestMembers javax/net/ssl/SSLEngineResult$HandshakeStatus,javax/net/ssl/SSLEngineResult$Status flags 21
+innerclass innerClass javax/net/ssl/SSLEngineResult$HandshakeStatus outerClass javax/net/ssl/SSLEngineResult innerClassName HandshakeStatus flags 4019
+innerclass innerClass javax/net/ssl/SSLEngineResult$Status outerClass javax/net/ssl/SSLEngineResult innerClassName Status flags 4019
+
+class name javax/net/ssl/SSLEngineResult$HandshakeStatus
+header extends java/lang/Enum nestHost javax/net/ssl/SSLEngineResult flags 4031 signature Ljava/lang/Enum<Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;>;
+innerclass innerClass javax/net/ssl/SSLEngineResult$HandshakeStatus outerClass javax/net/ssl/SSLEngineResult innerClassName HandshakeStatus flags 4019
+
+class name javax/net/ssl/SSLEngineResult$Status
+header extends java/lang/Enum nestHost javax/net/ssl/SSLEngineResult flags 4031 signature Ljava/lang/Enum<Ljavax/net/ssl/SSLEngineResult$Status;>;
+innerclass innerClass javax/net/ssl/SSLEngineResult$Status outerClass javax/net/ssl/SSLEngineResult innerClassName Status flags 4019
+
+class name javax/net/ssl/SSLException
+header extends java/io/IOException flags 21
+
+class name javax/net/ssl/SSLHandshakeException
+header extends javax/net/ssl/SSLException flags 21
+
+class name javax/net/ssl/SSLKeyException
+header extends javax/net/ssl/SSLException flags 21
+
+class name javax/net/ssl/SSLParameters
+header extends java/lang/Object flags 21
+
+class name javax/net/ssl/SSLPeerUnverifiedException
+header extends javax/net/ssl/SSLException flags 21
+
+class name javax/net/ssl/SSLPermission
+header extends java/security/BasicPermission flags 31
+
+class name javax/net/ssl/SSLProtocolException
+header extends javax/net/ssl/SSLException flags 21
+
+class name javax/net/ssl/SSLServerSocket
+header extends java/net/ServerSocket flags 421
+
+class name javax/net/ssl/SSLServerSocketFactory
+header extends javax/net/ServerSocketFactory flags 421
+
+class name javax/net/ssl/SSLSession
+header extends java/lang/Object flags 601
+
+class name javax/net/ssl/SSLSessionBindingEvent
+header extends java/util/EventObject flags 21
+
+class name javax/net/ssl/SSLSessionBindingListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/net/ssl/SSLSessionContext
+header extends java/lang/Object flags 601
+
+class name javax/net/ssl/SSLSocket
+header extends java/net/Socket flags 421
+
+class name javax/net/ssl/StandardConstants
+header extends java/lang/Object flags 31
+
+class name javax/net/ssl/TrustManager
+header extends java/lang/Object flags 601
+
+class name javax/net/ssl/TrustManagerFactorySpi
+header extends java/lang/Object flags 421
+
+class name javax/net/ssl/X509ExtendedKeyManager
+header extends java/lang/Object implements javax/net/ssl/X509KeyManager flags 421
+
+class name javax/net/ssl/X509ExtendedTrustManager
+header extends java/lang/Object implements javax/net/ssl/X509TrustManager flags 421
+
+class name javax/net/ssl/X509KeyManager
+header extends java/lang/Object implements javax/net/ssl/KeyManager flags 601
+
+class name javax/net/ssl/X509TrustManager
+header extends java/lang/Object implements javax/net/ssl/TrustManager flags 601
+
+class name javax/security/auth/AuthPermission
+header extends java/security/BasicPermission flags 31
+
+class name javax/security/auth/DestroyFailedException
+header extends java/lang/Exception flags 21
+
+class name javax/security/auth/Destroyable
+header extends java/lang/Object flags 601
+
+-class name javax/security/auth/Policy
+
+class name javax/security/auth/RefreshFailedException
+header extends java/lang/Exception flags 21
+
+class name javax/security/auth/Refreshable
+header extends java/lang/Object flags 601
+
+class name javax/security/auth/callback/Callback
+header extends java/lang/Object flags 601
+
+class name javax/security/auth/callback/CallbackHandler
+header extends java/lang/Object flags 601
+
+class name javax/security/auth/callback/ChoiceCallback
+header extends java/lang/Object implements javax/security/auth/callback/Callback,java/io/Serializable flags 21
+
+class name javax/security/auth/callback/ConfirmationCallback
+header extends java/lang/Object implements javax/security/auth/callback/Callback,java/io/Serializable flags 21
+
+class name javax/security/auth/callback/LanguageCallback
+header extends java/lang/Object implements javax/security/auth/callback/Callback,java/io/Serializable flags 21
+
+class name javax/security/auth/callback/NameCallback
+header extends java/lang/Object implements javax/security/auth/callback/Callback,java/io/Serializable flags 21
+
+class name javax/security/auth/callback/PasswordCallback
+header extends java/lang/Object implements javax/security/auth/callback/Callback,java/io/Serializable flags 21
+
+class name javax/security/auth/callback/TextInputCallback
+header extends java/lang/Object implements javax/security/auth/callback/Callback,java/io/Serializable flags 21
+
+class name javax/security/auth/callback/TextOutputCallback
+header extends java/lang/Object implements javax/security/auth/callback/Callback,java/io/Serializable flags 21
+
+class name javax/security/auth/callback/UnsupportedCallbackException
+header extends java/lang/Exception flags 21
+
+class name javax/security/auth/login/AccountException
+header extends javax/security/auth/login/LoginException flags 21
+
+class name javax/security/auth/login/AccountExpiredException
+header extends javax/security/auth/login/AccountException flags 21
+
+class name javax/security/auth/login/AccountLockedException
+header extends javax/security/auth/login/AccountException flags 21
+
+class name javax/security/auth/login/AccountNotFoundException
+header extends javax/security/auth/login/AccountException flags 21
+
+class name javax/security/auth/login/AppConfigurationEntry
+header extends java/lang/Object nestMembers javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag flags 21
+innerclass innerClass javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag outerClass javax/security/auth/login/AppConfigurationEntry innerClassName LoginModuleControlFlag flags 9
+
+class name javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag
+header extends java/lang/Object nestHost javax/security/auth/login/AppConfigurationEntry flags 21
+innerclass innerClass javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag outerClass javax/security/auth/login/AppConfigurationEntry innerClassName LoginModuleControlFlag flags 9
+
+class name javax/security/auth/login/Configuration
+header extends java/lang/Object nestMembers javax/security/auth/login/Configuration$Parameters flags 421
+innerclass innerClass javax/security/auth/login/Configuration$Parameters outerClass javax/security/auth/login/Configuration innerClassName Parameters flags 609
+
+class name javax/security/auth/login/Configuration$Parameters
+header extends java/lang/Object nestHost javax/security/auth/login/Configuration flags 601
+innerclass innerClass javax/security/auth/login/Configuration$Parameters outerClass javax/security/auth/login/Configuration innerClassName Parameters flags 609
+
+class name javax/security/auth/login/ConfigurationSpi
+header extends java/lang/Object flags 421
+
+class name javax/security/auth/login/CredentialException
+header extends javax/security/auth/login/LoginException flags 21
+
+class name javax/security/auth/login/CredentialExpiredException
+header extends javax/security/auth/login/CredentialException flags 21
+
+class name javax/security/auth/login/CredentialNotFoundException
+header extends javax/security/auth/login/CredentialException flags 21
+
+class name javax/security/auth/login/FailedLoginException
+header extends javax/security/auth/login/LoginException flags 21
+
+class name javax/security/auth/login/LoginException
+header extends java/security/GeneralSecurityException flags 21
+
+class name javax/security/auth/spi/LoginModule
+header extends java/lang/Object flags 601
+
+class name javax/security/auth/x500/X500Principal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31
+
+class name javax/security/auth/x500/X500PrivateCredential
+header extends java/lang/Object implements javax/security/auth/Destroyable flags 31
+
+class name javax/security/cert/Certificate
+header extends java/lang/Object flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name javax/security/cert/CertificateEncodingException
+header extends javax/security/cert/CertificateException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name javax/security/cert/CertificateException
+header extends java/lang/Exception flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name javax/security/cert/CertificateExpiredException
+header extends javax/security/cert/CertificateException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name javax/security/cert/CertificateNotYetValidException
+header extends javax/security/cert/CertificateException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name javax/security/cert/CertificateParsingException
+header extends javax/security/cert/CertificateException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.compiler-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,469 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.compiler
+header exports javax/annotation/processing,javax/lang/model,javax/lang/model/element,javax/lang/model/type,javax/lang/model/util,javax/tools requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/tools/DocumentationTool,javax/tools/JavaCompiler target linux-amd64 flags 8000
+
+class name javax/annotation/processing/AbstractProcessor
+header extends java/lang/Object implements javax/annotation/processing/Processor flags 421
+innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/annotation/processing/Completion
+header extends java/lang/Object flags 601
+
+class name javax/annotation/processing/Filer
+header extends java/lang/Object flags 601
+innerclass innerClass javax/tools/JavaFileManager$Location outerClass javax/tools/JavaFileManager innerClassName Location flags 609
+
+class name javax/annotation/processing/FilerException
+header extends java/io/IOException flags 21
+
+class name javax/annotation/processing/Generated
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;PARAMETER;})
+
+class name javax/annotation/processing/Messager
+header extends java/lang/Object flags 601
+innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
+
+class name javax/annotation/processing/ProcessingEnvironment
+header extends java/lang/Object flags 601
+
+class name javax/annotation/processing/Processor
+header extends java/lang/Object flags 601
+
+class name javax/annotation/processing/RoundEnvironment
+header extends java/lang/Object flags 601
+
+class name javax/annotation/processing/SupportedAnnotationTypes
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name javax/annotation/processing/SupportedOptions
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name javax/annotation/processing/SupportedSourceVersion
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name javax/lang/model/AnnotatedConstruct
+header extends java/lang/Object flags 601
+
+class name javax/lang/model/SourceVersion
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljavax/lang/model/SourceVersion;>;
+field name RELEASE_11 descriptor Ljavax/lang/model/SourceVersion; flags 4019
+
+class name javax/lang/model/UnknownEntityException
+header extends java/lang/RuntimeException flags 21
+
+class name javax/lang/model/element/AnnotationMirror
+header extends java/lang/Object flags 601
+
+class name javax/lang/model/element/AnnotationValue
+header extends java/lang/Object flags 601
+
+class name javax/lang/model/element/AnnotationValueVisitor
+header extends java/lang/Object flags 601 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name javax/lang/model/element/Element
+header extends java/lang/Object implements javax/lang/model/AnnotatedConstruct flags 601
+
+class name javax/lang/model/element/ElementKind
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljavax/lang/model/element/ElementKind;>;
+
+class name javax/lang/model/element/ElementVisitor
+header extends java/lang/Object flags 601 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name javax/lang/model/element/ExecutableElement
+header extends java/lang/Object implements javax/lang/model/element/Element,javax/lang/model/element/Parameterizable flags 601
+
+class name javax/lang/model/element/Modifier
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljavax/lang/model/element/Modifier;>;
+
+class name javax/lang/model/element/ModuleElement
+header extends java/lang/Object implements javax/lang/model/element/Element,javax/lang/model/element/QualifiedNameable nestMembers javax/lang/model/element/ModuleElement$UsesDirective,javax/lang/model/element/ModuleElement$ProvidesDirective,javax/lang/model/element/ModuleElement$OpensDirective,javax/lang/model/element/ModuleElement$ExportsDirective,javax/lang/model/element/ModuleElement$RequiresDirective,javax/lang/model/element/ModuleElement$DirectiveVisitor,javax/lang/model/element/ModuleElement$Directive,javax/lang/model/element/ModuleElement$DirectiveKind flags 601
+innerclass innerClass javax/lang/model/element/ModuleElement$UsesDirective outerClass javax/lang/model/element/ModuleElement innerClassName UsesDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$ProvidesDirective outerClass javax/lang/model/element/ModuleElement innerClassName ProvidesDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$OpensDirective outerClass javax/lang/model/element/ModuleElement innerClassName OpensDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$ExportsDirective outerClass javax/lang/model/element/ModuleElement innerClassName ExportsDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$RequiresDirective outerClass javax/lang/model/element/ModuleElement innerClassName RequiresDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$DirectiveVisitor outerClass javax/lang/model/element/ModuleElement innerClassName DirectiveVisitor flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$DirectiveKind outerClass javax/lang/model/element/ModuleElement innerClassName DirectiveKind flags 4019
+
+class name javax/lang/model/element/ModuleElement$Directive
+header extends java/lang/Object nestHost javax/lang/model/element/ModuleElement flags 601
+innerclass innerClass javax/lang/model/element/ModuleElement$DirectiveKind outerClass javax/lang/model/element/ModuleElement innerClassName DirectiveKind flags 4019
+innerclass innerClass javax/lang/model/element/ModuleElement$DirectiveVisitor outerClass javax/lang/model/element/ModuleElement innerClassName DirectiveVisitor flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+
+class name javax/lang/model/element/ModuleElement$DirectiveKind
+header extends java/lang/Enum nestHost javax/lang/model/element/ModuleElement flags 4031 signature Ljava/lang/Enum<Ljavax/lang/model/element/ModuleElement$DirectiveKind;>;
+innerclass innerClass javax/lang/model/element/ModuleElement$DirectiveKind outerClass javax/lang/model/element/ModuleElement innerClassName DirectiveKind flags 4019
+
+class name javax/lang/model/element/ModuleElement$DirectiveVisitor
+header extends java/lang/Object nestHost javax/lang/model/element/ModuleElement flags 601 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$DirectiveVisitor outerClass javax/lang/model/element/ModuleElement innerClassName DirectiveVisitor flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$RequiresDirective outerClass javax/lang/model/element/ModuleElement innerClassName RequiresDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$ExportsDirective outerClass javax/lang/model/element/ModuleElement innerClassName ExportsDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$OpensDirective outerClass javax/lang/model/element/ModuleElement innerClassName OpensDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$UsesDirective outerClass javax/lang/model/element/ModuleElement innerClassName UsesDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$ProvidesDirective outerClass javax/lang/model/element/ModuleElement innerClassName ProvidesDirective flags 609
+
+class name javax/lang/model/element/ModuleElement$ExportsDirective
+header extends java/lang/Object implements javax/lang/model/element/ModuleElement$Directive nestHost javax/lang/model/element/ModuleElement flags 601
+innerclass innerClass javax/lang/model/element/ModuleElement$ExportsDirective outerClass javax/lang/model/element/ModuleElement innerClassName ExportsDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+
+class name javax/lang/model/element/ModuleElement$OpensDirective
+header extends java/lang/Object implements javax/lang/model/element/ModuleElement$Directive nestHost javax/lang/model/element/ModuleElement flags 601
+innerclass innerClass javax/lang/model/element/ModuleElement$OpensDirective outerClass javax/lang/model/element/ModuleElement innerClassName OpensDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+
+class name javax/lang/model/element/ModuleElement$ProvidesDirective
+header extends java/lang/Object implements javax/lang/model/element/ModuleElement$Directive nestHost javax/lang/model/element/ModuleElement flags 601
+innerclass innerClass javax/lang/model/element/ModuleElement$ProvidesDirective outerClass javax/lang/model/element/ModuleElement innerClassName ProvidesDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+
+class name javax/lang/model/element/ModuleElement$RequiresDirective
+header extends java/lang/Object implements javax/lang/model/element/ModuleElement$Directive nestHost javax/lang/model/element/ModuleElement flags 601
+innerclass innerClass javax/lang/model/element/ModuleElement$RequiresDirective outerClass javax/lang/model/element/ModuleElement innerClassName RequiresDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+
+class name javax/lang/model/element/ModuleElement$UsesDirective
+header extends java/lang/Object implements javax/lang/model/element/ModuleElement$Directive nestHost javax/lang/model/element/ModuleElement flags 601
+innerclass innerClass javax/lang/model/element/ModuleElement$UsesDirective outerClass javax/lang/model/element/ModuleElement innerClassName UsesDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+
+class name javax/lang/model/element/Name
+header extends java/lang/Object implements java/lang/CharSequence flags 601
+
+class name javax/lang/model/element/NestingKind
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljavax/lang/model/element/NestingKind;>;
+
+class name javax/lang/model/element/PackageElement
+header extends java/lang/Object implements javax/lang/model/element/Element,javax/lang/model/element/QualifiedNameable flags 601
+
+class name javax/lang/model/element/Parameterizable
+header extends java/lang/Object implements javax/lang/model/element/Element flags 601
+
+class name javax/lang/model/element/QualifiedNameable
+header extends java/lang/Object implements javax/lang/model/element/Element flags 601
+
+class name javax/lang/model/element/TypeElement
+header extends java/lang/Object implements javax/lang/model/element/Element,javax/lang/model/element/Parameterizable,javax/lang/model/element/QualifiedNameable flags 601
+
+class name javax/lang/model/element/TypeParameterElement
+header extends java/lang/Object implements javax/lang/model/element/Element flags 601
+
+class name javax/lang/model/element/UnknownAnnotationValueException
+header extends javax/lang/model/UnknownEntityException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/lang/model/element/UnknownDirectiveException
+header extends javax/lang/model/UnknownEntityException flags 21
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/lang/model/element/UnknownElementException
+header extends javax/lang/model/UnknownEntityException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/lang/model/element/VariableElement
+header extends java/lang/Object implements javax/lang/model/element/Element flags 601
+
+class name javax/lang/model/type/ArrayType
+header extends java/lang/Object implements javax/lang/model/type/ReferenceType flags 601
+
+class name javax/lang/model/type/DeclaredType
+header extends java/lang/Object implements javax/lang/model/type/ReferenceType flags 601
+
+class name javax/lang/model/type/ErrorType
+header extends java/lang/Object implements javax/lang/model/type/DeclaredType flags 601
+
+class name javax/lang/model/type/ExecutableType
+header extends java/lang/Object implements javax/lang/model/type/TypeMirror flags 601
+
+class name javax/lang/model/type/IntersectionType
+header extends java/lang/Object implements javax/lang/model/type/TypeMirror flags 601
+
+class name javax/lang/model/type/MirroredTypeException
+header extends javax/lang/model/type/MirroredTypesException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/lang/model/type/MirroredTypesException
+header extends java/lang/RuntimeException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/lang/model/type/NoType
+header extends java/lang/Object implements javax/lang/model/type/TypeMirror flags 601
+
+class name javax/lang/model/type/NullType
+header extends java/lang/Object implements javax/lang/model/type/ReferenceType flags 601
+
+class name javax/lang/model/type/PrimitiveType
+header extends java/lang/Object implements javax/lang/model/type/TypeMirror flags 601
+
+class name javax/lang/model/type/ReferenceType
+header extends java/lang/Object implements javax/lang/model/type/TypeMirror flags 601
+
+class name javax/lang/model/type/TypeMirror
+header extends java/lang/Object implements javax/lang/model/AnnotatedConstruct flags 601
+
+class name javax/lang/model/type/TypeVariable
+header extends java/lang/Object implements javax/lang/model/type/ReferenceType flags 601
+
+class name javax/lang/model/type/TypeVisitor
+header extends java/lang/Object flags 601 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name javax/lang/model/type/UnionType
+header extends java/lang/Object implements javax/lang/model/type/TypeMirror flags 601
+
+class name javax/lang/model/type/UnknownTypeException
+header extends javax/lang/model/UnknownEntityException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/lang/model/type/WildcardType
+header extends java/lang/Object implements javax/lang/model/type/TypeMirror flags 601
+
+class name javax/lang/model/util/AbstractAnnotationValueVisitor6
+header extends java/lang/Object implements javax/lang/model/element/AnnotationValueVisitor flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/lang/model/element/AnnotationValueVisitor<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;)
+
+class name javax/lang/model/util/AbstractAnnotationValueVisitor7
+header extends javax/lang/model/util/AbstractAnnotationValueVisitor6 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractAnnotationValueVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;)
+
+class name javax/lang/model/util/AbstractAnnotationValueVisitor8
+header extends javax/lang/model/util/AbstractAnnotationValueVisitor7 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractAnnotationValueVisitor7<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;)
+
+class name javax/lang/model/util/AbstractAnnotationValueVisitor9
+header extends javax/lang/model/util/AbstractAnnotationValueVisitor8 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractAnnotationValueVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_11;)
+
+class name javax/lang/model/util/AbstractElementVisitor6
+header extends java/lang/Object implements javax/lang/model/element/ElementVisitor flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/lang/model/element/ElementVisitor<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;)
+
+class name javax/lang/model/util/AbstractElementVisitor7
+header extends javax/lang/model/util/AbstractElementVisitor6 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractElementVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;)
+
+class name javax/lang/model/util/AbstractElementVisitor8
+header extends javax/lang/model/util/AbstractElementVisitor7 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractElementVisitor7<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;)
+
+class name javax/lang/model/util/AbstractElementVisitor9
+header extends javax/lang/model/util/AbstractElementVisitor8 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractElementVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_11;)
+
+class name javax/lang/model/util/AbstractTypeVisitor6
+header extends java/lang/Object implements javax/lang/model/type/TypeVisitor flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/lang/model/type/TypeVisitor<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;)
+
+class name javax/lang/model/util/AbstractTypeVisitor7
+header extends javax/lang/model/util/AbstractTypeVisitor6 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractTypeVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;)
+
+class name javax/lang/model/util/AbstractTypeVisitor8
+header extends javax/lang/model/util/AbstractTypeVisitor7 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractTypeVisitor7<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;)
+
+class name javax/lang/model/util/AbstractTypeVisitor9
+header extends javax/lang/model/util/AbstractTypeVisitor8 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractTypeVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_11;)
+
+class name javax/lang/model/util/ElementFilter
+header extends java/lang/Object flags 21
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$ExportsDirective outerClass javax/lang/model/element/ModuleElement innerClassName ExportsDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$OpensDirective outerClass javax/lang/model/element/ModuleElement innerClassName OpensDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$ProvidesDirective outerClass javax/lang/model/element/ModuleElement innerClassName ProvidesDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$RequiresDirective outerClass javax/lang/model/element/ModuleElement innerClassName RequiresDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$UsesDirective outerClass javax/lang/model/element/ModuleElement innerClassName UsesDirective flags 609
+innerclass innerClass javax/lang/model/element/ModuleElement$DirectiveKind outerClass javax/lang/model/element/ModuleElement innerClassName DirectiveKind flags 4019
+
+class name javax/lang/model/util/ElementKindVisitor7
+header extends javax/lang/model/util/ElementKindVisitor6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementKindVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;)
+
+class name javax/lang/model/util/ElementKindVisitor8
+header extends javax/lang/model/util/ElementKindVisitor7 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementKindVisitor7<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;)
+
+class name javax/lang/model/util/ElementKindVisitor9
+header extends javax/lang/model/util/ElementKindVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementKindVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_11;)
+
+class name javax/lang/model/util/ElementScanner6
+header extends javax/lang/model/util/AbstractElementVisitor6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractElementVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;)
+
+class name javax/lang/model/util/ElementScanner7
+header extends javax/lang/model/util/ElementScanner6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementScanner6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;)
+
+class name javax/lang/model/util/ElementScanner8
+header extends javax/lang/model/util/ElementScanner7 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementScanner7<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;)
+
+class name javax/lang/model/util/ElementScanner9
+header extends javax/lang/model/util/ElementScanner8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementScanner8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_11;)
+
+class name javax/lang/model/util/Elements
+header extends java/lang/Object nestMembers javax/lang/model/util/Elements$Origin flags 601
+innerclass innerClass javax/lang/model/util/Elements$Origin outerClass javax/lang/model/util/Elements innerClassName Origin flags 4019
+innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609
+
+class name javax/lang/model/util/Elements$Origin
+header extends java/lang/Enum nestHost javax/lang/model/util/Elements flags 4031 signature Ljava/lang/Enum<Ljavax/lang/model/util/Elements$Origin;>;
+innerclass innerClass javax/lang/model/util/Elements$Origin outerClass javax/lang/model/util/Elements innerClassName Origin flags 4019
+
+class name javax/lang/model/util/SimpleAnnotationValueVisitor6
+header extends javax/lang/model/util/AbstractAnnotationValueVisitor6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractAnnotationValueVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;)
+
+class name javax/lang/model/util/SimpleAnnotationValueVisitor7
+header extends javax/lang/model/util/SimpleAnnotationValueVisitor6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleAnnotationValueVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;)
+
+class name javax/lang/model/util/SimpleAnnotationValueVisitor8
+header extends javax/lang/model/util/SimpleAnnotationValueVisitor7 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleAnnotationValueVisitor7<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;)
+
+class name javax/lang/model/util/SimpleAnnotationValueVisitor9
+header extends javax/lang/model/util/SimpleAnnotationValueVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleAnnotationValueVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_11;)
+
+class name javax/lang/model/util/SimpleElementVisitor6
+header extends javax/lang/model/util/AbstractElementVisitor6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractElementVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;)
+
+class name javax/lang/model/util/SimpleElementVisitor7
+header extends javax/lang/model/util/SimpleElementVisitor6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleElementVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;)
+
+class name javax/lang/model/util/SimpleElementVisitor8
+header extends javax/lang/model/util/SimpleElementVisitor7 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleElementVisitor7<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;)
+
+class name javax/lang/model/util/SimpleElementVisitor9
+header extends javax/lang/model/util/SimpleElementVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleElementVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_11;)
+
+class name javax/lang/model/util/SimpleTypeVisitor6
+header extends javax/lang/model/util/AbstractTypeVisitor6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractTypeVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;)
+
+class name javax/lang/model/util/SimpleTypeVisitor7
+header extends javax/lang/model/util/SimpleTypeVisitor6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleTypeVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;)
+
+class name javax/lang/model/util/SimpleTypeVisitor8
+header extends javax/lang/model/util/SimpleTypeVisitor7 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleTypeVisitor7<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;)
+
+class name javax/lang/model/util/SimpleTypeVisitor9
+header extends javax/lang/model/util/SimpleTypeVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleTypeVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_11;)
+
+class name javax/lang/model/util/TypeKindVisitor7
+header extends javax/lang/model/util/TypeKindVisitor6 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/TypeKindVisitor6<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;)
+
+class name javax/lang/model/util/TypeKindVisitor8
+header extends javax/lang/model/util/TypeKindVisitor7 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/TypeKindVisitor7<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;)
+
+class name javax/lang/model/util/TypeKindVisitor9
+header extends javax/lang/model/util/TypeKindVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/TypeKindVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_11;)
+
+class name javax/lang/model/util/Types
+header extends java/lang/Object flags 601
+
+class name javax/tools/Diagnostic
+header extends java/lang/Object nestMembers javax/tools/Diagnostic$Kind flags 601 signature <S:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
+
+class name javax/tools/Diagnostic$Kind
+header extends java/lang/Enum nestHost javax/tools/Diagnostic flags 4031 signature Ljava/lang/Enum<Ljavax/tools/Diagnostic$Kind;>;
+innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
+
+class name javax/tools/DiagnosticCollector
+header extends java/lang/Object implements javax/tools/DiagnosticListener flags 31 signature <S:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/tools/DiagnosticListener<TS;>;
+
+class name javax/tools/DiagnosticListener
+header extends java/lang/Object flags 601 signature <S:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name javax/tools/DocumentationTool
+header extends java/lang/Object implements javax/tools/Tool,javax/tools/OptionChecker nestMembers javax/tools/DocumentationTool$Location,javax/tools/DocumentationTool$DocumentationTask flags 601
+innerclass innerClass javax/tools/DocumentationTool$Location outerClass javax/tools/DocumentationTool innerClassName Location flags 4019
+innerclass innerClass javax/tools/DocumentationTool$DocumentationTask outerClass javax/tools/DocumentationTool innerClassName DocumentationTask flags 609
+
+class name javax/tools/DocumentationTool$DocumentationTask
+header extends java/lang/Object implements java/util/concurrent/Callable nestHost javax/tools/DocumentationTool flags 601 signature Ljava/lang/Object;Ljava/util/concurrent/Callable<Ljava/lang/Boolean;>;
+innerclass innerClass javax/tools/DocumentationTool$DocumentationTask outerClass javax/tools/DocumentationTool innerClassName DocumentationTask flags 609
+
+class name javax/tools/DocumentationTool$Location
+header extends java/lang/Enum implements javax/tools/JavaFileManager$Location nestHost javax/tools/DocumentationTool flags 4031 signature Ljava/lang/Enum<Ljavax/tools/DocumentationTool$Location;>;Ljavax/tools/JavaFileManager$Location;
+innerclass innerClass javax/tools/DocumentationTool$Location outerClass javax/tools/DocumentationTool innerClassName Location flags 4019
+innerclass innerClass javax/tools/JavaFileManager$Location outerClass javax/tools/JavaFileManager innerClassName Location flags 609
+
+class name javax/tools/FileObject
+header extends java/lang/Object flags 601
+
+class name javax/tools/ForwardingFileObject
+header extends java/lang/Object implements javax/tools/FileObject flags 21 signature <F::Ljavax/tools/FileObject;>Ljava/lang/Object;Ljavax/tools/FileObject;
+
+class name javax/tools/ForwardingJavaFileManager
+header extends java/lang/Object implements javax/tools/JavaFileManager flags 21 signature <M::Ljavax/tools/JavaFileManager;>Ljava/lang/Object;Ljavax/tools/JavaFileManager;
+innerclass innerClass javax/tools/JavaFileManager$Location outerClass javax/tools/JavaFileManager innerClassName Location flags 609
+innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019
+
+class name javax/tools/ForwardingJavaFileObject
+header extends javax/tools/ForwardingFileObject implements javax/tools/JavaFileObject flags 21 signature <F::Ljavax/tools/JavaFileObject;>Ljavax/tools/ForwardingFileObject<TF;>;Ljavax/tools/JavaFileObject;
+innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019
+
+class name javax/tools/JavaCompiler
+header extends java/lang/Object implements javax/tools/Tool,javax/tools/OptionChecker nestMembers javax/tools/JavaCompiler$CompilationTask flags 601
+innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609
+
+class name javax/tools/JavaCompiler$CompilationTask
+header extends java/lang/Object implements java/util/concurrent/Callable nestHost javax/tools/JavaCompiler flags 601 signature Ljava/lang/Object;Ljava/util/concurrent/Callable<Ljava/lang/Boolean;>;
+innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609
+
+class name javax/tools/JavaFileManager
+header extends java/lang/Object implements java/io/Closeable,java/io/Flushable,javax/tools/OptionChecker nestMembers javax/tools/JavaFileManager$Location flags 601
+innerclass innerClass javax/tools/JavaFileManager$Location outerClass javax/tools/JavaFileManager innerClassName Location flags 609
+innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019
+
+class name javax/tools/JavaFileManager$Location
+header extends java/lang/Object nestHost javax/tools/JavaFileManager flags 601
+innerclass innerClass javax/tools/JavaFileManager$Location outerClass javax/tools/JavaFileManager innerClassName Location flags 609
+
+class name javax/tools/JavaFileObject
+header extends java/lang/Object implements javax/tools/FileObject nestMembers javax/tools/JavaFileObject$Kind flags 601
+innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019
+
+class name javax/tools/JavaFileObject$Kind
+header extends java/lang/Enum nestHost javax/tools/JavaFileObject flags 4031 signature Ljava/lang/Enum<Ljavax/tools/JavaFileObject$Kind;>;
+innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019
+
+class name javax/tools/OptionChecker
+header extends java/lang/Object flags 601
+
+class name javax/tools/SimpleJavaFileObject
+header extends java/lang/Object implements javax/tools/JavaFileObject flags 21
+innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/tools/StandardJavaFileManager
+header extends java/lang/Object implements javax/tools/JavaFileManager nestMembers javax/tools/StandardJavaFileManager$PathFactory flags 601
+innerclass innerClass javax/tools/StandardJavaFileManager$PathFactory outerClass javax/tools/StandardJavaFileManager innerClassName PathFactory flags 609
+innerclass innerClass javax/tools/JavaFileManager$Location outerClass javax/tools/JavaFileManager innerClassName Location flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/tools/StandardJavaFileManager$PathFactory
+header extends java/lang/Object nestHost javax/tools/StandardJavaFileManager flags 601
+innerclass innerClass javax/tools/StandardJavaFileManager$PathFactory outerClass javax/tools/StandardJavaFileManager innerClassName PathFactory flags 609
+
+class name javax/tools/Tool
+header extends java/lang/Object flags 601
+
+class name javax/tools/ToolProvider
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.corba-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,1128 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+-module name java.corba
+
+-class name javax/activity/ActivityCompletedException
+
+-class name javax/activity/ActivityRequiredException
+
+-class name javax/activity/InvalidActivityException
+
+-class name javax/rmi/CORBA/ClassDesc
+
+-class name javax/rmi/CORBA/PortableRemoteObjectDelegate
+
+-class name javax/rmi/CORBA/Stub
+
+-class name javax/rmi/CORBA/StubDelegate
+
+-class name javax/rmi/CORBA/Tie
+
+-class name javax/rmi/CORBA/Util
+
+-class name javax/rmi/CORBA/UtilDelegate
+
+-class name javax/rmi/CORBA/ValueHandler
+
+-class name javax/rmi/CORBA/ValueHandlerMultiFormat
+
+-class name javax/rmi/PortableRemoteObject
+
+-class name org/omg/CORBA/ACTIVITY_COMPLETED
+
+-class name org/omg/CORBA/ACTIVITY_REQUIRED
+
+-class name org/omg/CORBA/ARG_IN
+
+-class name org/omg/CORBA/ARG_INOUT
+
+-class name org/omg/CORBA/ARG_OUT
+
+-class name org/omg/CORBA/Any
+
+-class name org/omg/CORBA/AnyHolder
+
+-class name org/omg/CORBA/AnySeqHelper
+
+-class name org/omg/CORBA/AnySeqHolder
+
+-class name org/omg/CORBA/BAD_CONTEXT
+
+-class name org/omg/CORBA/BAD_INV_ORDER
+
+-class name org/omg/CORBA/BAD_OPERATION
+
+-class name org/omg/CORBA/BAD_PARAM
+
+-class name org/omg/CORBA/BAD_POLICY
+
+-class name org/omg/CORBA/BAD_POLICY_TYPE
+
+-class name org/omg/CORBA/BAD_POLICY_VALUE
+
+-class name org/omg/CORBA/BAD_QOS
+
+-class name org/omg/CORBA/BAD_TYPECODE
+
+-class name org/omg/CORBA/BooleanHolder
+
+-class name org/omg/CORBA/BooleanSeqHelper
+
+-class name org/omg/CORBA/BooleanSeqHolder
+
+-class name org/omg/CORBA/Bounds
+
+-class name org/omg/CORBA/BoundsHelper
+
+-class name org/omg/CORBA/ByteHolder
+
+-class name org/omg/CORBA/CODESET_INCOMPATIBLE
+
+-class name org/omg/CORBA/COMM_FAILURE
+
+-class name org/omg/CORBA/CTX_RESTRICT_SCOPE
+
+-class name org/omg/CORBA/CharHolder
+
+-class name org/omg/CORBA/CharSeqHelper
+
+-class name org/omg/CORBA/CharSeqHolder
+
+-class name org/omg/CORBA/CompletionStatus
+
+-class name org/omg/CORBA/CompletionStatusHelper
+
+-class name org/omg/CORBA/Context
+
+-class name org/omg/CORBA/ContextList
+
+-class name org/omg/CORBA/Current
+
+-class name org/omg/CORBA/CurrentHelper
+
+-class name org/omg/CORBA/CurrentHolder
+
+-class name org/omg/CORBA/CurrentOperations
+
+-class name org/omg/CORBA/CustomMarshal
+
+-class name org/omg/CORBA/DATA_CONVERSION
+
+-class name org/omg/CORBA/DataInputStream
+
+-class name org/omg/CORBA/DataOutputStream
+
+-class name org/omg/CORBA/DefinitionKind
+
+-class name org/omg/CORBA/DefinitionKindHelper
+
+-class name org/omg/CORBA/DomainManager
+
+-class name org/omg/CORBA/DomainManagerOperations
+
+-class name org/omg/CORBA/DoubleHolder
+
+-class name org/omg/CORBA/DoubleSeqHelper
+
+-class name org/omg/CORBA/DoubleSeqHolder
+
+-class name org/omg/CORBA/DynAny
+
+-class name org/omg/CORBA/DynAnyPackage/Invalid
+
+-class name org/omg/CORBA/DynAnyPackage/InvalidSeq
+
+-class name org/omg/CORBA/DynAnyPackage/InvalidValue
+
+-class name org/omg/CORBA/DynAnyPackage/TypeMismatch
+
+-class name org/omg/CORBA/DynArray
+
+-class name org/omg/CORBA/DynEnum
+
+-class name org/omg/CORBA/DynFixed
+
+-class name org/omg/CORBA/DynSequence
+
+-class name org/omg/CORBA/DynStruct
+
+-class name org/omg/CORBA/DynUnion
+
+-class name org/omg/CORBA/DynValue
+
+-class name org/omg/CORBA/DynamicImplementation
+
+-class name org/omg/CORBA/Environment
+
+-class name org/omg/CORBA/ExceptionList
+
+-class name org/omg/CORBA/FREE_MEM
+
+-class name org/omg/CORBA/FieldNameHelper
+
+-class name org/omg/CORBA/FixedHolder
+
+-class name org/omg/CORBA/FloatHolder
+
+-class name org/omg/CORBA/FloatSeqHelper
+
+-class name org/omg/CORBA/FloatSeqHolder
+
+-class name org/omg/CORBA/IDLType
+
+-class name org/omg/CORBA/IDLTypeHelper
+
+-class name org/omg/CORBA/IDLTypeOperations
+
+-class name org/omg/CORBA/IMP_LIMIT
+
+-class name org/omg/CORBA/INITIALIZE
+
+-class name org/omg/CORBA/INTERNAL
+
+-class name org/omg/CORBA/INTF_REPOS
+
+-class name org/omg/CORBA/INVALID_ACTIVITY
+
+-class name org/omg/CORBA/INVALID_TRANSACTION
+
+-class name org/omg/CORBA/INV_FLAG
+
+-class name org/omg/CORBA/INV_IDENT
+
+-class name org/omg/CORBA/INV_OBJREF
+
+-class name org/omg/CORBA/INV_POLICY
+
+-class name org/omg/CORBA/IRObject
+
+-class name org/omg/CORBA/IRObjectOperations
+
+-class name org/omg/CORBA/IdentifierHelper
+
+-class name org/omg/CORBA/IntHolder
+
+-class name org/omg/CORBA/LocalObject
+
+-class name org/omg/CORBA/LongHolder
+
+-class name org/omg/CORBA/LongLongSeqHelper
+
+-class name org/omg/CORBA/LongLongSeqHolder
+
+-class name org/omg/CORBA/LongSeqHelper
+
+-class name org/omg/CORBA/LongSeqHolder
+
+-class name org/omg/CORBA/MARSHAL
+
+-class name org/omg/CORBA/NO_IMPLEMENT
+
+-class name org/omg/CORBA/NO_MEMORY
+
+-class name org/omg/CORBA/NO_PERMISSION
+
+-class name org/omg/CORBA/NO_RESOURCES
+
+-class name org/omg/CORBA/NO_RESPONSE
+
+-class name org/omg/CORBA/NVList
+
+-class name org/omg/CORBA/NameValuePair
+
+-class name org/omg/CORBA/NameValuePairHelper
+
+-class name org/omg/CORBA/NamedValue
+
+-class name org/omg/CORBA/OBJECT_NOT_EXIST
+
+-class name org/omg/CORBA/OBJ_ADAPTER
+
+-class name org/omg/CORBA/OMGVMCID
+
+-class name org/omg/CORBA/ORB
+
+-class name org/omg/CORBA/ORBPackage/InconsistentTypeCode
+
+-class name org/omg/CORBA/ORBPackage/InvalidName
+
+-class name org/omg/CORBA/ORBPackage/InvalidNameHelper
+
+-class name org/omg/CORBA/Object
+
+-class name org/omg/CORBA/ObjectHelper
+
+-class name org/omg/CORBA/ObjectHolder
+
+-class name org/omg/CORBA/OctetSeqHelper
+
+-class name org/omg/CORBA/OctetSeqHolder
+
+-class name org/omg/CORBA/PERSIST_STORE
+
+-class name org/omg/CORBA/PRIVATE_MEMBER
+
+-class name org/omg/CORBA/PUBLIC_MEMBER
+
+-class name org/omg/CORBA/ParameterMode
+
+-class name org/omg/CORBA/ParameterModeHelper
+
+-class name org/omg/CORBA/ParameterModeHolder
+
+-class name org/omg/CORBA/Policy
+
+-class name org/omg/CORBA/PolicyError
+
+-class name org/omg/CORBA/PolicyErrorCodeHelper
+
+-class name org/omg/CORBA/PolicyErrorHelper
+
+-class name org/omg/CORBA/PolicyErrorHolder
+
+-class name org/omg/CORBA/PolicyHelper
+
+-class name org/omg/CORBA/PolicyHolder
+
+-class name org/omg/CORBA/PolicyListHelper
+
+-class name org/omg/CORBA/PolicyListHolder
+
+-class name org/omg/CORBA/PolicyOperations
+
+-class name org/omg/CORBA/PolicyTypeHelper
+
+-class name org/omg/CORBA/Principal
+
+-class name org/omg/CORBA/PrincipalHolder
+
+-class name org/omg/CORBA/REBIND
+
+-class name org/omg/CORBA/RepositoryIdHelper
+
+-class name org/omg/CORBA/Request
+
+-class name org/omg/CORBA/ServerRequest
+
+-class name org/omg/CORBA/ServiceDetail
+
+-class name org/omg/CORBA/ServiceDetailHelper
+
+-class name org/omg/CORBA/ServiceInformation
+
+-class name org/omg/CORBA/ServiceInformationHelper
+
+-class name org/omg/CORBA/ServiceInformationHolder
+
+-class name org/omg/CORBA/SetOverrideType
+
+-class name org/omg/CORBA/SetOverrideTypeHelper
+
+-class name org/omg/CORBA/ShortHolder
+
+-class name org/omg/CORBA/ShortSeqHelper
+
+-class name org/omg/CORBA/ShortSeqHolder
+
+-class name org/omg/CORBA/StringHolder
+
+-class name org/omg/CORBA/StringSeqHelper
+
+-class name org/omg/CORBA/StringSeqHolder
+
+-class name org/omg/CORBA/StringValueHelper
+
+-class name org/omg/CORBA/StructMember
+
+-class name org/omg/CORBA/StructMemberHelper
+
+-class name org/omg/CORBA/SystemException
+
+-class name org/omg/CORBA/TCKind
+
+-class name org/omg/CORBA/TIMEOUT
+
+-class name org/omg/CORBA/TRANSACTION_MODE
+
+-class name org/omg/CORBA/TRANSACTION_REQUIRED
+
+-class name org/omg/CORBA/TRANSACTION_ROLLEDBACK
+
+-class name org/omg/CORBA/TRANSACTION_UNAVAILABLE
+
+-class name org/omg/CORBA/TRANSIENT
+
+-class name org/omg/CORBA/TypeCode
+
+-class name org/omg/CORBA/TypeCodeHolder
+
+-class name org/omg/CORBA/TypeCodePackage/BadKind
+
+-class name org/omg/CORBA/TypeCodePackage/BadKindHelper
+
+-class name org/omg/CORBA/TypeCodePackage/Bounds
+
+-class name org/omg/CORBA/TypeCodePackage/BoundsHelper
+
+-class name org/omg/CORBA/ULongLongSeqHelper
+
+-class name org/omg/CORBA/ULongLongSeqHolder
+
+-class name org/omg/CORBA/ULongSeqHelper
+
+-class name org/omg/CORBA/ULongSeqHolder
+
+-class name org/omg/CORBA/UNKNOWN
+
+-class name org/omg/CORBA/UNSUPPORTED_POLICY
+
+-class name org/omg/CORBA/UNSUPPORTED_POLICY_VALUE
+
+-class name org/omg/CORBA/UShortSeqHelper
+
+-class name org/omg/CORBA/UShortSeqHolder
+
+-class name org/omg/CORBA/UnionMember
+
+-class name org/omg/CORBA/UnionMemberHelper
+
+-class name org/omg/CORBA/UnknownUserException
+
+-class name org/omg/CORBA/UnknownUserExceptionHelper
+
+-class name org/omg/CORBA/UnknownUserExceptionHolder
+
+-class name org/omg/CORBA/UserException
+
+-class name org/omg/CORBA/VM_ABSTRACT
+
+-class name org/omg/CORBA/VM_CUSTOM
+
+-class name org/omg/CORBA/VM_NONE
+
+-class name org/omg/CORBA/VM_TRUNCATABLE
+
+-class name org/omg/CORBA/ValueBaseHelper
+
+-class name org/omg/CORBA/ValueBaseHolder
+
+-class name org/omg/CORBA/ValueMember
+
+-class name org/omg/CORBA/ValueMemberHelper
+
+-class name org/omg/CORBA/VersionSpecHelper
+
+-class name org/omg/CORBA/VisibilityHelper
+
+-class name org/omg/CORBA/WCharSeqHelper
+
+-class name org/omg/CORBA/WCharSeqHolder
+
+-class name org/omg/CORBA/WStringSeqHelper
+
+-class name org/omg/CORBA/WStringSeqHolder
+
+-class name org/omg/CORBA/WStringValueHelper
+
+-class name org/omg/CORBA/WrongTransaction
+
+-class name org/omg/CORBA/WrongTransactionHelper
+
+-class name org/omg/CORBA/WrongTransactionHolder
+
+-class name org/omg/CORBA/_IDLTypeStub
+
+-class name org/omg/CORBA/_PolicyStub
+
+-class name org/omg/CORBA/portable/ApplicationException
+
+-class name org/omg/CORBA/portable/BoxedValueHelper
+
+-class name org/omg/CORBA/portable/CustomValue
+
+-class name org/omg/CORBA/portable/Delegate
+
+-class name org/omg/CORBA/portable/IDLEntity
+
+-class name org/omg/CORBA/portable/IndirectionException
+
+-class name org/omg/CORBA/portable/InputStream
+
+-class name org/omg/CORBA/portable/InvokeHandler
+
+-class name org/omg/CORBA/portable/ObjectImpl
+
+-class name org/omg/CORBA/portable/OutputStream
+
+-class name org/omg/CORBA/portable/RemarshalException
+
+-class name org/omg/CORBA/portable/ResponseHandler
+
+-class name org/omg/CORBA/portable/ServantObject
+
+-class name org/omg/CORBA/portable/Streamable
+
+-class name org/omg/CORBA/portable/StreamableValue
+
+-class name org/omg/CORBA/portable/UnknownException
+
+-class name org/omg/CORBA/portable/ValueBase
+
+-class name org/omg/CORBA/portable/ValueFactory
+
+-class name org/omg/CORBA/portable/ValueInputStream
+
+-class name org/omg/CORBA/portable/ValueOutputStream
+
+-class name org/omg/CORBA_2_3/ORB
+
+-class name org/omg/CORBA_2_3/portable/Delegate
+
+-class name org/omg/CORBA_2_3/portable/InputStream
+
+-class name org/omg/CORBA_2_3/portable/ObjectImpl
+
+-class name org/omg/CORBA_2_3/portable/OutputStream
+
+-class name org/omg/CosNaming/Binding
+
+-class name org/omg/CosNaming/BindingHelper
+
+-class name org/omg/CosNaming/BindingHolder
+
+-class name org/omg/CosNaming/BindingIterator
+
+-class name org/omg/CosNaming/BindingIteratorHelper
+
+-class name org/omg/CosNaming/BindingIteratorHolder
+
+-class name org/omg/CosNaming/BindingIteratorOperations
+
+-class name org/omg/CosNaming/BindingIteratorPOA
+
+-class name org/omg/CosNaming/BindingListHelper
+
+-class name org/omg/CosNaming/BindingListHolder
+
+-class name org/omg/CosNaming/BindingType
+
+-class name org/omg/CosNaming/BindingTypeHelper
+
+-class name org/omg/CosNaming/BindingTypeHolder
+
+-class name org/omg/CosNaming/IstringHelper
+
+-class name org/omg/CosNaming/NameComponent
+
+-class name org/omg/CosNaming/NameComponentHelper
+
+-class name org/omg/CosNaming/NameComponentHolder
+
+-class name org/omg/CosNaming/NameHelper
+
+-class name org/omg/CosNaming/NameHolder
+
+-class name org/omg/CosNaming/NamingContext
+
+-class name org/omg/CosNaming/NamingContextExt
+
+-class name org/omg/CosNaming/NamingContextExtHelper
+
+-class name org/omg/CosNaming/NamingContextExtHolder
+
+-class name org/omg/CosNaming/NamingContextExtOperations
+
+-class name org/omg/CosNaming/NamingContextExtPOA
+
+-class name org/omg/CosNaming/NamingContextExtPackage/AddressHelper
+
+-class name org/omg/CosNaming/NamingContextExtPackage/InvalidAddress
+
+-class name org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper
+
+-class name org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder
+
+-class name org/omg/CosNaming/NamingContextExtPackage/StringNameHelper
+
+-class name org/omg/CosNaming/NamingContextExtPackage/URLStringHelper
+
+-class name org/omg/CosNaming/NamingContextHelper
+
+-class name org/omg/CosNaming/NamingContextHolder
+
+-class name org/omg/CosNaming/NamingContextOperations
+
+-class name org/omg/CosNaming/NamingContextPOA
+
+-class name org/omg/CosNaming/NamingContextPackage/AlreadyBound
+
+-class name org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper
+
+-class name org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder
+
+-class name org/omg/CosNaming/NamingContextPackage/CannotProceed
+
+-class name org/omg/CosNaming/NamingContextPackage/CannotProceedHelper
+
+-class name org/omg/CosNaming/NamingContextPackage/CannotProceedHolder
+
+-class name org/omg/CosNaming/NamingContextPackage/InvalidName
+
+-class name org/omg/CosNaming/NamingContextPackage/InvalidNameHelper
+
+-class name org/omg/CosNaming/NamingContextPackage/InvalidNameHolder
+
+-class name org/omg/CosNaming/NamingContextPackage/NotEmpty
+
+-class name org/omg/CosNaming/NamingContextPackage/NotEmptyHelper
+
+-class name org/omg/CosNaming/NamingContextPackage/NotEmptyHolder
+
+-class name org/omg/CosNaming/NamingContextPackage/NotFound
+
+-class name org/omg/CosNaming/NamingContextPackage/NotFoundHelper
+
+-class name org/omg/CosNaming/NamingContextPackage/NotFoundHolder
+
+-class name org/omg/CosNaming/NamingContextPackage/NotFoundReason
+
+-class name org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper
+
+-class name org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder
+
+-class name org/omg/CosNaming/_BindingIteratorImplBase
+
+-class name org/omg/CosNaming/_BindingIteratorStub
+
+-class name org/omg/CosNaming/_NamingContextExtStub
+
+-class name org/omg/CosNaming/_NamingContextImplBase
+
+-class name org/omg/CosNaming/_NamingContextStub
+
+-class name org/omg/Dynamic/Parameter
+
+-class name org/omg/DynamicAny/AnySeqHelper
+
+-class name org/omg/DynamicAny/DynAny
+
+-class name org/omg/DynamicAny/DynAnyFactory
+
+-class name org/omg/DynamicAny/DynAnyFactoryHelper
+
+-class name org/omg/DynamicAny/DynAnyFactoryOperations
+
+-class name org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode
+
+-class name org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper
+
+-class name org/omg/DynamicAny/DynAnyHelper
+
+-class name org/omg/DynamicAny/DynAnyOperations
+
+-class name org/omg/DynamicAny/DynAnyPackage/InvalidValue
+
+-class name org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper
+
+-class name org/omg/DynamicAny/DynAnyPackage/TypeMismatch
+
+-class name org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper
+
+-class name org/omg/DynamicAny/DynAnySeqHelper
+
+-class name org/omg/DynamicAny/DynArray
+
+-class name org/omg/DynamicAny/DynArrayHelper
+
+-class name org/omg/DynamicAny/DynArrayOperations
+
+-class name org/omg/DynamicAny/DynEnum
+
+-class name org/omg/DynamicAny/DynEnumHelper
+
+-class name org/omg/DynamicAny/DynEnumOperations
+
+-class name org/omg/DynamicAny/DynFixed
+
+-class name org/omg/DynamicAny/DynFixedHelper
+
+-class name org/omg/DynamicAny/DynFixedOperations
+
+-class name org/omg/DynamicAny/DynSequence
+
+-class name org/omg/DynamicAny/DynSequenceHelper
+
+-class name org/omg/DynamicAny/DynSequenceOperations
+
+-class name org/omg/DynamicAny/DynStruct
+
+-class name org/omg/DynamicAny/DynStructHelper
+
+-class name org/omg/DynamicAny/DynStructOperations
+
+-class name org/omg/DynamicAny/DynUnion
+
+-class name org/omg/DynamicAny/DynUnionHelper
+
+-class name org/omg/DynamicAny/DynUnionOperations
+
+-class name org/omg/DynamicAny/DynValue
+
+-class name org/omg/DynamicAny/DynValueBox
+
+-class name org/omg/DynamicAny/DynValueBoxOperations
+
+-class name org/omg/DynamicAny/DynValueCommon
+
+-class name org/omg/DynamicAny/DynValueCommonOperations
+
+-class name org/omg/DynamicAny/DynValueHelper
+
+-class name org/omg/DynamicAny/DynValueOperations
+
+-class name org/omg/DynamicAny/FieldNameHelper
+
+-class name org/omg/DynamicAny/NameDynAnyPair
+
+-class name org/omg/DynamicAny/NameDynAnyPairHelper
+
+-class name org/omg/DynamicAny/NameDynAnyPairSeqHelper
+
+-class name org/omg/DynamicAny/NameValuePair
+
+-class name org/omg/DynamicAny/NameValuePairHelper
+
+-class name org/omg/DynamicAny/NameValuePairSeqHelper
+
+-class name org/omg/DynamicAny/_DynAnyFactoryStub
+
+-class name org/omg/DynamicAny/_DynAnyStub
+
+-class name org/omg/DynamicAny/_DynArrayStub
+
+-class name org/omg/DynamicAny/_DynEnumStub
+
+-class name org/omg/DynamicAny/_DynFixedStub
+
+-class name org/omg/DynamicAny/_DynSequenceStub
+
+-class name org/omg/DynamicAny/_DynStructStub
+
+-class name org/omg/DynamicAny/_DynUnionStub
+
+-class name org/omg/DynamicAny/_DynValueStub
+
+-class name org/omg/IOP/CodeSets
+
+-class name org/omg/IOP/Codec
+
+-class name org/omg/IOP/CodecFactory
+
+-class name org/omg/IOP/CodecFactoryHelper
+
+-class name org/omg/IOP/CodecFactoryOperations
+
+-class name org/omg/IOP/CodecFactoryPackage/UnknownEncoding
+
+-class name org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper
+
+-class name org/omg/IOP/CodecOperations
+
+-class name org/omg/IOP/CodecPackage/FormatMismatch
+
+-class name org/omg/IOP/CodecPackage/FormatMismatchHelper
+
+-class name org/omg/IOP/CodecPackage/InvalidTypeForEncoding
+
+-class name org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper
+
+-class name org/omg/IOP/CodecPackage/TypeMismatch
+
+-class name org/omg/IOP/CodecPackage/TypeMismatchHelper
+
+-class name org/omg/IOP/ComponentIdHelper
+
+-class name org/omg/IOP/ENCODING_CDR_ENCAPS
+
+-class name org/omg/IOP/Encoding
+
+-class name org/omg/IOP/ExceptionDetailMessage
+
+-class name org/omg/IOP/IOR
+
+-class name org/omg/IOP/IORHelper
+
+-class name org/omg/IOP/IORHolder
+
+-class name org/omg/IOP/MultipleComponentProfileHelper
+
+-class name org/omg/IOP/MultipleComponentProfileHolder
+
+-class name org/omg/IOP/ProfileIdHelper
+
+-class name org/omg/IOP/RMICustomMaxStreamFormat
+
+-class name org/omg/IOP/ServiceContext
+
+-class name org/omg/IOP/ServiceContextHelper
+
+-class name org/omg/IOP/ServiceContextHolder
+
+-class name org/omg/IOP/ServiceContextListHelper
+
+-class name org/omg/IOP/ServiceContextListHolder
+
+-class name org/omg/IOP/ServiceIdHelper
+
+-class name org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS
+
+-class name org/omg/IOP/TAG_CODE_SETS
+
+-class name org/omg/IOP/TAG_INTERNET_IOP
+
+-class name org/omg/IOP/TAG_JAVA_CODEBASE
+
+-class name org/omg/IOP/TAG_MULTIPLE_COMPONENTS
+
+-class name org/omg/IOP/TAG_ORB_TYPE
+
+-class name org/omg/IOP/TAG_POLICIES
+
+-class name org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT
+
+-class name org/omg/IOP/TaggedComponent
+
+-class name org/omg/IOP/TaggedComponentHelper
+
+-class name org/omg/IOP/TaggedComponentHolder
+
+-class name org/omg/IOP/TaggedProfile
+
+-class name org/omg/IOP/TaggedProfileHelper
+
+-class name org/omg/IOP/TaggedProfileHolder
+
+-class name org/omg/IOP/TransactionService
+
+-class name org/omg/Messaging/SYNC_WITH_TRANSPORT
+
+-class name org/omg/Messaging/SyncScopeHelper
+
+-class name org/omg/PortableInterceptor/ACTIVE
+
+-class name org/omg/PortableInterceptor/AdapterManagerIdHelper
+
+-class name org/omg/PortableInterceptor/AdapterNameHelper
+
+-class name org/omg/PortableInterceptor/AdapterStateHelper
+
+-class name org/omg/PortableInterceptor/ClientRequestInfo
+
+-class name org/omg/PortableInterceptor/ClientRequestInfoOperations
+
+-class name org/omg/PortableInterceptor/ClientRequestInterceptor
+
+-class name org/omg/PortableInterceptor/ClientRequestInterceptorOperations
+
+-class name org/omg/PortableInterceptor/Current
+
+-class name org/omg/PortableInterceptor/CurrentHelper
+
+-class name org/omg/PortableInterceptor/CurrentOperations
+
+-class name org/omg/PortableInterceptor/DISCARDING
+
+-class name org/omg/PortableInterceptor/ForwardRequest
+
+-class name org/omg/PortableInterceptor/ForwardRequestHelper
+
+-class name org/omg/PortableInterceptor/HOLDING
+
+-class name org/omg/PortableInterceptor/INACTIVE
+
+-class name org/omg/PortableInterceptor/IORInfo
+
+-class name org/omg/PortableInterceptor/IORInfoOperations
+
+-class name org/omg/PortableInterceptor/IORInterceptor
+
+-class name org/omg/PortableInterceptor/IORInterceptorOperations
+
+-class name org/omg/PortableInterceptor/IORInterceptor_3_0
+
+-class name org/omg/PortableInterceptor/IORInterceptor_3_0Helper
+
+-class name org/omg/PortableInterceptor/IORInterceptor_3_0Holder
+
+-class name org/omg/PortableInterceptor/IORInterceptor_3_0Operations
+
+-class name org/omg/PortableInterceptor/Interceptor
+
+-class name org/omg/PortableInterceptor/InterceptorOperations
+
+-class name org/omg/PortableInterceptor/InvalidSlot
+
+-class name org/omg/PortableInterceptor/InvalidSlotHelper
+
+-class name org/omg/PortableInterceptor/LOCATION_FORWARD
+
+-class name org/omg/PortableInterceptor/NON_EXISTENT
+
+-class name org/omg/PortableInterceptor/ORBIdHelper
+
+-class name org/omg/PortableInterceptor/ORBInitInfo
+
+-class name org/omg/PortableInterceptor/ORBInitInfoOperations
+
+-class name org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName
+
+-class name org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper
+
+-class name org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName
+
+-class name org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper
+
+-class name org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper
+
+-class name org/omg/PortableInterceptor/ORBInitializer
+
+-class name org/omg/PortableInterceptor/ORBInitializerOperations
+
+-class name org/omg/PortableInterceptor/ObjectIdHelper
+
+-class name org/omg/PortableInterceptor/ObjectReferenceFactory
+
+-class name org/omg/PortableInterceptor/ObjectReferenceFactoryHelper
+
+-class name org/omg/PortableInterceptor/ObjectReferenceFactoryHolder
+
+-class name org/omg/PortableInterceptor/ObjectReferenceTemplate
+
+-class name org/omg/PortableInterceptor/ObjectReferenceTemplateHelper
+
+-class name org/omg/PortableInterceptor/ObjectReferenceTemplateHolder
+
+-class name org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper
+
+-class name org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder
+
+-class name org/omg/PortableInterceptor/PolicyFactory
+
+-class name org/omg/PortableInterceptor/PolicyFactoryOperations
+
+-class name org/omg/PortableInterceptor/RequestInfo
+
+-class name org/omg/PortableInterceptor/RequestInfoOperations
+
+-class name org/omg/PortableInterceptor/SUCCESSFUL
+
+-class name org/omg/PortableInterceptor/SYSTEM_EXCEPTION
+
+-class name org/omg/PortableInterceptor/ServerIdHelper
+
+-class name org/omg/PortableInterceptor/ServerRequestInfo
+
+-class name org/omg/PortableInterceptor/ServerRequestInfoOperations
+
+-class name org/omg/PortableInterceptor/ServerRequestInterceptor
+
+-class name org/omg/PortableInterceptor/ServerRequestInterceptorOperations
+
+-class name org/omg/PortableInterceptor/TRANSPORT_RETRY
+
+-class name org/omg/PortableInterceptor/USER_EXCEPTION
+
+-class name org/omg/PortableServer/AdapterActivator
+
+-class name org/omg/PortableServer/AdapterActivatorOperations
+
+-class name org/omg/PortableServer/Current
+
+-class name org/omg/PortableServer/CurrentHelper
+
+-class name org/omg/PortableServer/CurrentOperations
+
+-class name org/omg/PortableServer/CurrentPackage/NoContext
+
+-class name org/omg/PortableServer/CurrentPackage/NoContextHelper
+
+-class name org/omg/PortableServer/DynamicImplementation
+
+-class name org/omg/PortableServer/ForwardRequest
+
+-class name org/omg/PortableServer/ForwardRequestHelper
+
+-class name org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID
+
+-class name org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID
+
+-class name org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID
+
+-class name org/omg/PortableServer/IdAssignmentPolicy
+
+-class name org/omg/PortableServer/IdAssignmentPolicyOperations
+
+-class name org/omg/PortableServer/IdAssignmentPolicyValue
+
+-class name org/omg/PortableServer/IdUniquenessPolicy
+
+-class name org/omg/PortableServer/IdUniquenessPolicyOperations
+
+-class name org/omg/PortableServer/IdUniquenessPolicyValue
+
+-class name org/omg/PortableServer/ImplicitActivationPolicy
+
+-class name org/omg/PortableServer/ImplicitActivationPolicyOperations
+
+-class name org/omg/PortableServer/ImplicitActivationPolicyValue
+
+-class name org/omg/PortableServer/LIFESPAN_POLICY_ID
+
+-class name org/omg/PortableServer/LifespanPolicy
+
+-class name org/omg/PortableServer/LifespanPolicyOperations
+
+-class name org/omg/PortableServer/LifespanPolicyValue
+
+-class name org/omg/PortableServer/POA
+
+-class name org/omg/PortableServer/POAHelper
+
+-class name org/omg/PortableServer/POAManager
+
+-class name org/omg/PortableServer/POAManagerOperations
+
+-class name org/omg/PortableServer/POAManagerPackage/AdapterInactive
+
+-class name org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper
+
+-class name org/omg/PortableServer/POAManagerPackage/State
+
+-class name org/omg/PortableServer/POAOperations
+
+-class name org/omg/PortableServer/POAPackage/AdapterAlreadyExists
+
+-class name org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper
+
+-class name org/omg/PortableServer/POAPackage/AdapterNonExistent
+
+-class name org/omg/PortableServer/POAPackage/AdapterNonExistentHelper
+
+-class name org/omg/PortableServer/POAPackage/InvalidPolicy
+
+-class name org/omg/PortableServer/POAPackage/InvalidPolicyHelper
+
+-class name org/omg/PortableServer/POAPackage/NoServant
+
+-class name org/omg/PortableServer/POAPackage/NoServantHelper
+
+-class name org/omg/PortableServer/POAPackage/ObjectAlreadyActive
+
+-class name org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper
+
+-class name org/omg/PortableServer/POAPackage/ObjectNotActive
+
+-class name org/omg/PortableServer/POAPackage/ObjectNotActiveHelper
+
+-class name org/omg/PortableServer/POAPackage/ServantAlreadyActive
+
+-class name org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper
+
+-class name org/omg/PortableServer/POAPackage/ServantNotActive
+
+-class name org/omg/PortableServer/POAPackage/ServantNotActiveHelper
+
+-class name org/omg/PortableServer/POAPackage/WrongAdapter
+
+-class name org/omg/PortableServer/POAPackage/WrongAdapterHelper
+
+-class name org/omg/PortableServer/POAPackage/WrongPolicy
+
+-class name org/omg/PortableServer/POAPackage/WrongPolicyHelper
+
+-class name org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID
+
+-class name org/omg/PortableServer/RequestProcessingPolicy
+
+-class name org/omg/PortableServer/RequestProcessingPolicyOperations
+
+-class name org/omg/PortableServer/RequestProcessingPolicyValue
+
+-class name org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID
+
+-class name org/omg/PortableServer/Servant
+
+-class name org/omg/PortableServer/ServantActivator
+
+-class name org/omg/PortableServer/ServantActivatorHelper
+
+-class name org/omg/PortableServer/ServantActivatorOperations
+
+-class name org/omg/PortableServer/ServantActivatorPOA
+
+-class name org/omg/PortableServer/ServantLocator
+
+-class name org/omg/PortableServer/ServantLocatorHelper
+
+-class name org/omg/PortableServer/ServantLocatorOperations
+
+-class name org/omg/PortableServer/ServantLocatorPOA
+
+-class name org/omg/PortableServer/ServantLocatorPackage/CookieHolder
+
+-class name org/omg/PortableServer/ServantManager
+
+-class name org/omg/PortableServer/ServantManagerOperations
+
+-class name org/omg/PortableServer/ServantRetentionPolicy
+
+-class name org/omg/PortableServer/ServantRetentionPolicyOperations
+
+-class name org/omg/PortableServer/ServantRetentionPolicyValue
+
+-class name org/omg/PortableServer/THREAD_POLICY_ID
+
+-class name org/omg/PortableServer/ThreadPolicy
+
+-class name org/omg/PortableServer/ThreadPolicyOperations
+
+-class name org/omg/PortableServer/ThreadPolicyValue
+
+-class name org/omg/PortableServer/_ServantActivatorStub
+
+-class name org/omg/PortableServer/_ServantLocatorStub
+
+-class name org/omg/PortableServer/portable/Delegate
+
+-class name org/omg/SendingContext/RunTime
+
+-class name org/omg/SendingContext/RunTimeOperations
+
+-class name org/omg/stub/java/rmi/_Remote_Stub
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.datatransfer-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,66 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.datatransfer
+header exports java/awt/datatransfer requires name\u0020;java.base\u0020;flags\u0020;8000 uses sun/datatransfer/DesktopDatatransferService target linux-amd64 flags 8000
+
+class name java/awt/datatransfer/Clipboard
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/datatransfer/ClipboardOwner
+header extends java/lang/Object flags 601
+
+class name java/awt/datatransfer/DataFlavor
+header extends java/lang/Object implements java/io/Externalizable,java/lang/Cloneable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/datatransfer/FlavorEvent
+header extends java/util/EventObject flags 21
+
+class name java/awt/datatransfer/FlavorListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/datatransfer/FlavorMap
+header extends java/lang/Object flags 601
+
+class name java/awt/datatransfer/FlavorTable
+header extends java/lang/Object implements java/awt/datatransfer/FlavorMap flags 601
+
+class name java/awt/datatransfer/MimeTypeParseException
+header extends java/lang/Exception flags 21
+
+class name java/awt/datatransfer/StringSelection
+header extends java/lang/Object implements java/awt/datatransfer/Transferable,java/awt/datatransfer/ClipboardOwner flags 21
+
+class name java/awt/datatransfer/Transferable
+header extends java/lang/Object flags 601
+
+class name java/awt/datatransfer/UnsupportedFlavorException
+header extends java/lang/Exception flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.desktop-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,6593 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.desktop
+header exports java/applet,java/awt,java/awt/color,java/awt/desktop,java/awt/dnd,java/awt/event,java/awt/font,java/awt/geom,java/awt/im,java/awt/im/spi,java/awt/image,java/awt/image/renderable,java/awt/print,java/beans,java/beans/beancontext,javax/accessibility,javax/imageio,javax/imageio/event,javax/imageio/metadata,javax/imageio/plugins/bmp,javax/imageio/plugins/jpeg,javax/imageio/plugins/tiff,javax/imageio/spi,javax/imageio/stream,javax/print,javax/print/attribute,javax/print/attribute/standard,javax/print/event,javax/sound/midi,javax/sound/midi/spi,javax/sound/sampled,javax/sound/sampled/spi,javax/swing,javax/swing/border,javax/swing/colorchooser,javax/swing/event,javax/swing/filechooser,javax/swing/plaf,javax/swing/plaf/basic,javax/swing/plaf/metal,javax/swing/plaf/multi,javax/swing/plaf/nimbus,javax/swing/plaf/synth,javax/swing/table,javax/swing/text,javax/swing/text/html,javax/swing/text/html/parser,javax/swing/text/rtf,javax/swing/tree,javax/swing/undo requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.prefs\u0020;flags\u0020;0,name\u0020;java.datatransfer\u0020;flags\u0020;20,name\u0020;java.xml\u0020;flags\u0020;20 uses java/awt/im/spi/InputMethodDescriptor,javax/accessibility/AccessibilityProvider,javax/imageio/spi/ImageInputStreamSpi,javax/imageio/spi/ImageOutputStreamSpi,javax/imageio/spi/ImageReaderSpi,javax/imageio/spi/ImageTranscoderSpi,javax/imageio/spi/ImageWriterSpi,javax/print/PrintServiceLookup,javax/print/StreamPrintServiceFactory,javax/sound/midi/spi/MidiDeviceProvider,javax/sound/midi/spi/MidiFileReader,javax/sound/midi/spi/MidiFileWriter,javax/sound/midi/spi/SoundbankReader,javax/sound/sampled/spi/AudioFileReader,javax/sound/sampled/spi/AudioFileWriter,javax/sound/sampled/spi/FormatConversionProvider,javax/sound/sampled/spi/MixerProvider,sun/swing/InteropProvider provides interface\u0020;sun/datatransfer/DesktopDatatransferService\u0020;impls\u0020;sun/awt/datatransfer/DesktopDatatransferServiceImpl,interface\u0020;java/net/ContentHandlerFactory\u0020;impls\u0020;sun/awt/www/content/MultimediaContentHandlers,interface\u0020;javax/print/PrintServiceLookup\u0020;impls\u0020;sun/print/PrintServiceLookupProvider,interface\u0020;javax/print/StreamPrintServiceFactory\u0020;impls\u0020;sun/print/PSStreamPrinterFactory,interface\u0020;javax/sound/midi/spi/MidiDeviceProvider\u0020;impls\u0020;com/sun/media/sound/MidiInDeviceProvider\u005C;u002C;com/sun/media/sound/MidiOutDeviceProvider\u005C;u002C;com/sun/media/sound/RealTimeSequencerProvider\u005C;u002C;com/sun/media/sound/SoftProvider,interface\u0020;javax/sound/midi/spi/MidiFileReader\u0020;impls\u0020;com/sun/media/sound/StandardMidiFileReader,interface\u0020;javax/sound/midi/spi/MidiFileWriter\u0020;impls\u0020;com/sun/media/sound/StandardMidiFileWriter,interface\u0020;javax/sound/midi/spi/SoundbankReader\u0020;impls\u0020;com/sun/media/sound/AudioFileSoundbankReader\u005C;u002C;com/sun/media/sound/DLSSoundbankReader\u005C;u002C;com/sun/media/sound/JARSoundbankReader\u005C;u002C;com/sun/media/sound/SF2SoundbankReader,interface\u0020;javax/sound/sampled/spi/AudioFileReader\u0020;impls\u0020;com/sun/media/sound/AiffFileReader\u005C;u002C;com/sun/media/sound/AuFileReader\u005C;u002C;com/sun/media/sound/SoftMidiAudioFileReader\u005C;u002C;com/sun/media/sound/WaveFileReader\u005C;u002C;com/sun/media/sound/WaveFloatFileReader\u005C;u002C;com/sun/media/sound/WaveExtensibleFileReader,interface\u0020;javax/sound/sampled/spi/AudioFileWriter\u0020;impls\u0020;com/sun/media/sound/AiffFileWriter\u005C;u002C;com/sun/media/sound/AuFileWriter\u005C;u002C;com/sun/media/sound/WaveFileWriter\u005C;u002C;com/sun/media/sound/WaveFloatFileWriter,interface\u0020;javax/sound/sampled/spi/FormatConversionProvider\u0020;impls\u0020;com/sun/media/sound/AlawCodec\u005C;u002C;com/sun/media/sound/AudioFloatFormatConverter\u005C;u002C;com/sun/media/sound/PCMtoPCMCodec\u005C;u002C;com/sun/media/sound/UlawCodec,interface\u0020;javax/sound/sampled/spi/MixerProvider\u0020;impls\u0020;com/sun/media/sound/DirectAudioDeviceProvider\u005C;u002C;com/sun/media/sound/PortMixerProvider target linux-amd64 flags 8000
+
+class name java/applet/Applet
+header extends java/awt/Panel nestMembers java/applet/Applet$AccessibleApplet flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+innerclass innerClass java/applet/Applet$AccessibleApplet outerClass java/applet/Applet innerClassName AccessibleApplet flags 4
+
+class name java/applet/Applet$AccessibleApplet
+header extends java/awt/Panel$AccessibleAWTPanel nestHost java/applet/Applet flags 21
+innerclass innerClass java/applet/Applet$AccessibleApplet outerClass java/applet/Applet innerClassName AccessibleApplet flags 4
+innerclass innerClass java/awt/Panel$AccessibleAWTPanel outerClass java/awt/Panel innerClassName AccessibleAWTPanel flags 4
+
+class name java/applet/AppletContext
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name java/applet/AppletStub
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name java/applet/AudioClip
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name java/awt/AWTError
+header extends java/lang/Error flags 21
+
+class name java/awt/AWTEventMulticaster
+header extends java/lang/Object implements java/awt/event/ComponentListener,java/awt/event/ContainerListener,java/awt/event/FocusListener,java/awt/event/KeyListener,java/awt/event/MouseListener,java/awt/event/MouseMotionListener,java/awt/event/WindowListener,java/awt/event/WindowFocusListener,java/awt/event/WindowStateListener,java/awt/event/ActionListener,java/awt/event/ItemListener,java/awt/event/AdjustmentListener,java/awt/event/TextListener,java/awt/event/InputMethodListener,java/awt/event/HierarchyListener,java/awt/event/HierarchyBoundsListener,java/awt/event/MouseWheelListener flags 21
+
+class name java/awt/AWTException
+header extends java/lang/Exception flags 21
+
+class name java/awt/AWTKeyStroke
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/AWTPermission
+header extends java/security/BasicPermission flags 31
+
+class name java/awt/ActiveEvent
+header extends java/lang/Object flags 601
+
+class name java/awt/Adjustable
+header extends java/lang/Object flags 601
+
+class name java/awt/AlphaComposite
+header extends java/lang/Object implements java/awt/Composite flags 31
+
+class name java/awt/AttributeValue
+header extends java/lang/Object flags 420
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/BasicStroke
+header extends java/lang/Object implements java/awt/Stroke flags 21
+
+class name java/awt/BorderLayout
+header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/BufferCapabilities
+header extends java/lang/Object implements java/lang/Cloneable nestMembers java/awt/BufferCapabilities$FlipContents flags 21
+innerclass innerClass java/awt/BufferCapabilities$FlipContents outerClass java/awt/BufferCapabilities innerClassName FlipContents flags 19
+
+class name java/awt/BufferCapabilities$FlipContents
+header extends java/awt/AttributeValue nestHost java/awt/BufferCapabilities flags 31
+innerclass innerClass java/awt/BufferCapabilities$FlipContents outerClass java/awt/BufferCapabilities innerClassName FlipContents flags 19
+
+class name java/awt/Button
+header extends java/awt/Component implements javax/accessibility/Accessible nestMembers java/awt/Button$AccessibleAWTButton flags 21
+innerclass innerClass java/awt/Button$AccessibleAWTButton outerClass java/awt/Button innerClassName AccessibleAWTButton flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Button$AccessibleAWTButton
+header extends java/awt/Component$AccessibleAWTComponent implements javax/accessibility/AccessibleAction,javax/accessibility/AccessibleValue nestHost java/awt/Button flags 21
+innerclass innerClass java/awt/Button$AccessibleAWTButton outerClass java/awt/Button innerClassName AccessibleAWTButton flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/Canvas
+header extends java/awt/Component implements javax/accessibility/Accessible nestMembers java/awt/Canvas$AccessibleAWTCanvas flags 21
+innerclass innerClass java/awt/Canvas$AccessibleAWTCanvas outerClass java/awt/Canvas innerClassName AccessibleAWTCanvas flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Canvas$AccessibleAWTCanvas
+header extends java/awt/Component$AccessibleAWTComponent nestHost java/awt/Canvas flags 21
+innerclass innerClass java/awt/Canvas$AccessibleAWTCanvas outerClass java/awt/Canvas innerClassName AccessibleAWTCanvas flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/Checkbox
+header extends java/awt/Component implements java/awt/ItemSelectable,javax/accessibility/Accessible nestMembers java/awt/Checkbox$AccessibleAWTCheckbox flags 21
+innerclass innerClass java/awt/Checkbox$AccessibleAWTCheckbox outerClass java/awt/Checkbox innerClassName AccessibleAWTCheckbox flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Checkbox$AccessibleAWTCheckbox
+header extends java/awt/Component$AccessibleAWTComponent implements java/awt/event/ItemListener,javax/accessibility/AccessibleAction,javax/accessibility/AccessibleValue nestHost java/awt/Checkbox flags 21
+innerclass innerClass java/awt/Checkbox$AccessibleAWTCheckbox outerClass java/awt/Checkbox innerClassName AccessibleAWTCheckbox flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/CheckboxGroup
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/CheckboxMenuItem
+header extends java/awt/MenuItem implements java/awt/ItemSelectable,javax/accessibility/Accessible nestMembers java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem flags 21
+innerclass innerClass java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem outerClass java/awt/CheckboxMenuItem innerClassName AccessibleAWTCheckboxMenuItem flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem
+header extends java/awt/MenuItem$AccessibleAWTMenuItem implements javax/accessibility/AccessibleAction,javax/accessibility/AccessibleValue nestHost java/awt/CheckboxMenuItem flags 21
+innerclass innerClass java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem outerClass java/awt/CheckboxMenuItem innerClassName AccessibleAWTCheckboxMenuItem flags 4
+innerclass innerClass java/awt/MenuItem$AccessibleAWTMenuItem outerClass java/awt/MenuItem innerClassName AccessibleAWTMenuItem flags 4
+
+class name java/awt/Choice
+header extends java/awt/Component implements java/awt/ItemSelectable,javax/accessibility/Accessible nestMembers java/awt/Choice$AccessibleAWTChoice flags 21
+innerclass innerClass java/awt/Choice$AccessibleAWTChoice outerClass java/awt/Choice innerClassName AccessibleAWTChoice flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Choice$AccessibleAWTChoice
+header extends java/awt/Component$AccessibleAWTComponent implements javax/accessibility/AccessibleAction nestHost java/awt/Choice flags 21
+innerclass innerClass java/awt/Choice$AccessibleAWTChoice outerClass java/awt/Choice innerClassName AccessibleAWTChoice flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/Color
+header extends java/lang/Object implements java/awt/Paint,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Component
+header extends java/lang/Object implements java/awt/image/ImageObserver,java/awt/MenuContainer,java/io/Serializable nestMembers java/awt/Component$AccessibleAWTComponent,java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler,java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler,java/awt/Component$BltBufferStrategy,java/awt/Component$FlipBufferStrategy,java/awt/Component$BaselineResizeBehavior flags 421
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+innerclass innerClass java/awt/Component$BltBufferStrategy outerClass java/awt/Component innerClassName BltBufferStrategy flags 4
+innerclass innerClass java/awt/Component$FlipBufferStrategy outerClass java/awt/Component innerClassName FlipBufferStrategy flags 4
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019
+innerclass innerClass java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler outerClass java/awt/Component$AccessibleAWTComponent innerClassName AccessibleAWTFocusHandler flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler outerClass java/awt/Component$AccessibleAWTComponent innerClassName AccessibleAWTComponentHandler flags 4
+innerclass innerClass java/awt/BufferCapabilities$FlipContents outerClass java/awt/BufferCapabilities innerClassName FlipContents flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Component$AccessibleAWTComponent
+header extends javax/accessibility/AccessibleContext implements java/io/Serializable,javax/accessibility/AccessibleComponent nestHost java/awt/Component flags 421
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+innerclass innerClass java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler outerClass java/awt/Component$AccessibleAWTComponent innerClassName AccessibleAWTFocusHandler flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler outerClass java/awt/Component$AccessibleAWTComponent innerClassName AccessibleAWTComponentHandler flags 4
+
+class name java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler
+header extends java/lang/Object implements java/awt/event/ComponentListener,java/io/Serializable nestHost java/awt/Component flags 21
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+innerclass innerClass java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler outerClass java/awt/Component$AccessibleAWTComponent innerClassName AccessibleAWTComponentHandler flags 4
+
+class name java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler
+header extends java/lang/Object implements java/awt/event/FocusListener,java/io/Serializable nestHost java/awt/Component flags 21
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+innerclass innerClass java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler outerClass java/awt/Component$AccessibleAWTComponent innerClassName AccessibleAWTFocusHandler flags 4
+
+class name java/awt/Component$BaselineResizeBehavior
+header extends java/lang/Enum nestHost java/awt/Component flags 4031 signature Ljava/lang/Enum<Ljava/awt/Component$BaselineResizeBehavior;>;
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name java/awt/Component$BltBufferStrategy
+header extends java/awt/image/BufferStrategy nestHost java/awt/Component flags 21
+innerclass innerClass java/awt/Component$BltBufferStrategy outerClass java/awt/Component innerClassName BltBufferStrategy flags 4
+
+class name java/awt/Component$FlipBufferStrategy
+header extends java/awt/image/BufferStrategy nestHost java/awt/Component flags 21
+innerclass innerClass java/awt/Component$FlipBufferStrategy outerClass java/awt/Component innerClassName FlipBufferStrategy flags 4
+innerclass innerClass java/awt/BufferCapabilities$FlipContents outerClass java/awt/BufferCapabilities innerClassName FlipContents flags 19
+
+class name java/awt/ComponentOrientation
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/awt/Composite
+header extends java/lang/Object flags 601
+
+class name java/awt/CompositeContext
+header extends java/lang/Object flags 601
+
+class name java/awt/Container
+header extends java/awt/Component nestMembers java/awt/Container$AccessibleAWTContainer,java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler flags 21
+innerclass innerClass java/awt/Container$AccessibleAWTContainer outerClass java/awt/Container innerClassName AccessibleAWTContainer flags 4
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler outerClass java/awt/Container$AccessibleAWTContainer innerClassName AccessibleContainerHandler flags 4
+innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Container$AccessibleAWTContainer
+header extends java/awt/Component$AccessibleAWTComponent nestHost java/awt/Container flags 21
+innerclass innerClass java/awt/Container$AccessibleAWTContainer outerClass java/awt/Container innerClassName AccessibleAWTContainer flags 4
+innerclass innerClass java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler outerClass java/awt/Container$AccessibleAWTContainer innerClassName AccessibleContainerHandler flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler
+header extends java/lang/Object implements java/awt/event/ContainerListener,java/io/Serializable nestHost java/awt/Container flags 21
+innerclass innerClass java/awt/Container$AccessibleAWTContainer outerClass java/awt/Container innerClassName AccessibleAWTContainer flags 4
+innerclass innerClass java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler outerClass java/awt/Container$AccessibleAWTContainer innerClassName AccessibleContainerHandler flags 4
+
+class name java/awt/ContainerOrderFocusTraversalPolicy
+header extends java/awt/FocusTraversalPolicy implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/DefaultFocusTraversalPolicy
+header extends java/awt/ContainerOrderFocusTraversalPolicy flags 21
+
+class name java/awt/Desktop
+header extends java/lang/Object nestMembers java/awt/Desktop$Action flags 21
+innerclass innerClass java/awt/Desktop$Action outerClass java/awt/Desktop innerClassName Action flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Desktop$Action
+header extends java/lang/Enum nestHost java/awt/Desktop flags 4031 signature Ljava/lang/Enum<Ljava/awt/Desktop$Action;>;
+innerclass innerClass java/awt/Desktop$Action outerClass java/awt/Desktop innerClassName Action flags 4019
+
+class name java/awt/Dialog
+header extends java/awt/Window nestMembers java/awt/Dialog$AccessibleAWTDialog,java/awt/Dialog$ModalExclusionType,java/awt/Dialog$ModalityType flags 21
+innerclass innerClass java/awt/Dialog$AccessibleAWTDialog outerClass java/awt/Dialog innerClassName AccessibleAWTDialog flags 4
+innerclass innerClass java/awt/Dialog$ModalExclusionType outerClass java/awt/Dialog innerClassName ModalExclusionType flags 4019
+innerclass innerClass java/awt/Dialog$ModalityType outerClass java/awt/Dialog innerClassName ModalityType flags 4019
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Dialog$AccessibleAWTDialog
+header extends java/awt/Window$AccessibleAWTWindow nestHost java/awt/Dialog flags 21
+innerclass innerClass java/awt/Dialog$AccessibleAWTDialog outerClass java/awt/Dialog innerClassName AccessibleAWTDialog flags 4
+innerclass innerClass java/awt/Window$AccessibleAWTWindow outerClass java/awt/Window innerClassName AccessibleAWTWindow flags 4
+
+class name java/awt/Dialog$ModalExclusionType
+header extends java/lang/Enum nestHost java/awt/Dialog flags 4031 signature Ljava/lang/Enum<Ljava/awt/Dialog$ModalExclusionType;>;
+innerclass innerClass java/awt/Dialog$ModalExclusionType outerClass java/awt/Dialog innerClassName ModalExclusionType flags 4019
+
+class name java/awt/Dialog$ModalityType
+header extends java/lang/Enum nestHost java/awt/Dialog flags 4031 signature Ljava/lang/Enum<Ljava/awt/Dialog$ModalityType;>;
+innerclass innerClass java/awt/Dialog$ModalityType outerClass java/awt/Dialog innerClassName ModalityType flags 4019
+
+class name java/awt/Dimension
+header extends java/awt/geom/Dimension2D implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/DisplayMode
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Event
+header extends java/lang/Object implements java/io/Serializable flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/FlowLayout
+header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/FocusTraversalPolicy
+header extends java/lang/Object flags 421
+
+class name java/awt/FontFormatException
+header extends java/lang/Exception flags 21
+
+class name java/awt/FontMetrics
+header extends java/lang/Object implements java/io/Serializable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Frame
+header extends java/awt/Window implements java/awt/MenuContainer nestMembers java/awt/Frame$AccessibleAWTFrame flags 21
+innerclass innerClass java/awt/Frame$AccessibleAWTFrame outerClass java/awt/Frame innerClassName AccessibleAWTFrame flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Frame$AccessibleAWTFrame
+header extends java/awt/Window$AccessibleAWTWindow nestHost java/awt/Frame flags 21
+innerclass innerClass java/awt/Frame$AccessibleAWTFrame outerClass java/awt/Frame innerClassName AccessibleAWTFrame flags 4
+innerclass innerClass java/awt/Window$AccessibleAWTWindow outerClass java/awt/Window innerClassName AccessibleAWTWindow flags 4
+
+class name java/awt/GradientPaint
+header extends java/lang/Object implements java/awt/Paint flags 21
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+
+class name java/awt/Graphics
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Graphics2D
+header extends java/awt/Graphics flags 421
+innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409
+
+class name java/awt/GraphicsConfigTemplate
+header extends java/lang/Object implements java/io/Serializable flags 421
+
+class name java/awt/GraphicsDevice
+header extends java/lang/Object nestMembers java/awt/GraphicsDevice$WindowTranslucency flags 421
+innerclass innerClass java/awt/GraphicsDevice$WindowTranslucency outerClass java/awt/GraphicsDevice innerClassName WindowTranslucency flags 4019
+
+class name java/awt/GraphicsDevice$WindowTranslucency
+header extends java/lang/Enum nestHost java/awt/GraphicsDevice flags 4031 signature Ljava/lang/Enum<Ljava/awt/GraphicsDevice$WindowTranslucency;>;
+innerclass innerClass java/awt/GraphicsDevice$WindowTranslucency outerClass java/awt/GraphicsDevice innerClassName WindowTranslucency flags 4019
+
+class name java/awt/GridBagConstraints
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name java/awt/GridBagLayoutInfo
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name java/awt/GridLayout
+header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/HeadlessException
+header extends java/lang/UnsupportedOperationException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/IllegalComponentStateException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/awt/ImageCapabilities
+header extends java/lang/Object implements java/lang/Cloneable flags 21
+
+class name java/awt/Insets
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/ItemSelectable
+header extends java/lang/Object flags 601
+
+class name java/awt/JobAttributes
+header extends java/lang/Object implements java/lang/Cloneable nestMembers java/awt/JobAttributes$SidesType,java/awt/JobAttributes$MultipleDocumentHandlingType,java/awt/JobAttributes$DialogType,java/awt/JobAttributes$DestinationType,java/awt/JobAttributes$DefaultSelectionType flags 31
+innerclass innerClass java/awt/JobAttributes$SidesType outerClass java/awt/JobAttributes innerClassName SidesType flags 19
+innerclass innerClass java/awt/JobAttributes$MultipleDocumentHandlingType outerClass java/awt/JobAttributes innerClassName MultipleDocumentHandlingType flags 19
+innerclass innerClass java/awt/JobAttributes$DialogType outerClass java/awt/JobAttributes innerClassName DialogType flags 19
+innerclass innerClass java/awt/JobAttributes$DestinationType outerClass java/awt/JobAttributes innerClassName DestinationType flags 19
+innerclass innerClass java/awt/JobAttributes$DefaultSelectionType outerClass java/awt/JobAttributes innerClassName DefaultSelectionType flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/JobAttributes$DefaultSelectionType
+header extends java/awt/AttributeValue nestHost java/awt/JobAttributes flags 31
+innerclass innerClass java/awt/JobAttributes$DefaultSelectionType outerClass java/awt/JobAttributes innerClassName DefaultSelectionType flags 19
+
+class name java/awt/JobAttributes$DestinationType
+header extends java/awt/AttributeValue nestHost java/awt/JobAttributes flags 31
+innerclass innerClass java/awt/JobAttributes$DestinationType outerClass java/awt/JobAttributes innerClassName DestinationType flags 19
+
+class name java/awt/JobAttributes$DialogType
+header extends java/awt/AttributeValue nestHost java/awt/JobAttributes flags 31
+innerclass innerClass java/awt/JobAttributes$DialogType outerClass java/awt/JobAttributes innerClassName DialogType flags 19
+
+class name java/awt/JobAttributes$MultipleDocumentHandlingType
+header extends java/awt/AttributeValue nestHost java/awt/JobAttributes flags 31
+innerclass innerClass java/awt/JobAttributes$MultipleDocumentHandlingType outerClass java/awt/JobAttributes innerClassName MultipleDocumentHandlingType flags 19
+
+class name java/awt/JobAttributes$SidesType
+header extends java/awt/AttributeValue nestHost java/awt/JobAttributes flags 31
+innerclass innerClass java/awt/JobAttributes$SidesType outerClass java/awt/JobAttributes innerClassName SidesType flags 19
+
+class name java/awt/KeyEventDispatcher
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/awt/KeyEventPostProcessor
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/awt/Label
+header extends java/awt/Component implements javax/accessibility/Accessible nestMembers java/awt/Label$AccessibleAWTLabel flags 21
+innerclass innerClass java/awt/Label$AccessibleAWTLabel outerClass java/awt/Label innerClassName AccessibleAWTLabel flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Label$AccessibleAWTLabel
+header extends java/awt/Component$AccessibleAWTComponent nestHost java/awt/Label flags 21
+innerclass innerClass java/awt/Label$AccessibleAWTLabel outerClass java/awt/Label innerClassName AccessibleAWTLabel flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/LayoutManager
+header extends java/lang/Object flags 601
+
+class name java/awt/LayoutManager2
+header extends java/lang/Object implements java/awt/LayoutManager flags 601
+
+class name java/awt/LinearGradientPaint
+header extends java/awt/MultipleGradientPaint flags 31
+innerclass innerClass java/awt/MultipleGradientPaint$CycleMethod outerClass java/awt/MultipleGradientPaint innerClassName CycleMethod flags 4019
+innerclass innerClass java/awt/MultipleGradientPaint$ColorSpaceType outerClass java/awt/MultipleGradientPaint innerClassName ColorSpaceType flags 4019
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+
+class name java/awt/List
+header extends java/awt/Component implements java/awt/ItemSelectable,javax/accessibility/Accessible nestMembers java/awt/List$AccessibleAWTList,java/awt/List$AccessibleAWTList$AccessibleAWTListChild flags 21
+innerclass innerClass java/awt/List$AccessibleAWTList outerClass java/awt/List innerClassName AccessibleAWTList flags 4
+innerclass innerClass java/awt/List$AccessibleAWTList$AccessibleAWTListChild outerClass java/awt/List$AccessibleAWTList innerClassName AccessibleAWTListChild flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/List$AccessibleAWTList
+header extends java/awt/Component$AccessibleAWTComponent implements javax/accessibility/AccessibleSelection,java/awt/event/ItemListener,java/awt/event/ActionListener nestHost java/awt/List flags 21
+innerclass innerClass java/awt/List$AccessibleAWTList outerClass java/awt/List innerClassName AccessibleAWTList flags 4
+innerclass innerClass java/awt/List$AccessibleAWTList$AccessibleAWTListChild outerClass java/awt/List$AccessibleAWTList innerClassName AccessibleAWTListChild flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/List$AccessibleAWTList$AccessibleAWTListChild
+header extends java/awt/Component$AccessibleAWTComponent implements javax/accessibility/Accessible nestHost java/awt/List flags 21
+innerclass innerClass java/awt/List$AccessibleAWTList outerClass java/awt/List innerClassName AccessibleAWTList flags 4
+innerclass innerClass java/awt/List$AccessibleAWTList$AccessibleAWTListChild outerClass java/awt/List$AccessibleAWTList innerClassName AccessibleAWTListChild flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/MediaTracker
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name java/awt/Menu
+header extends java/awt/MenuItem implements java/awt/MenuContainer,javax/accessibility/Accessible nestMembers java/awt/Menu$AccessibleAWTMenu flags 21
+innerclass innerClass java/awt/Menu$AccessibleAWTMenu outerClass java/awt/Menu innerClassName AccessibleAWTMenu flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Menu$AccessibleAWTMenu
+header extends java/awt/MenuItem$AccessibleAWTMenuItem nestHost java/awt/Menu flags 21
+innerclass innerClass java/awt/Menu$AccessibleAWTMenu outerClass java/awt/Menu innerClassName AccessibleAWTMenu flags 4
+innerclass innerClass java/awt/MenuItem$AccessibleAWTMenuItem outerClass java/awt/MenuItem innerClassName AccessibleAWTMenuItem flags 4
+
+class name java/awt/MenuBar
+header extends java/awt/MenuComponent implements java/awt/MenuContainer,javax/accessibility/Accessible nestMembers java/awt/MenuBar$AccessibleAWTMenuBar flags 21
+innerclass innerClass java/awt/MenuBar$AccessibleAWTMenuBar outerClass java/awt/MenuBar innerClassName AccessibleAWTMenuBar flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/MenuBar$AccessibleAWTMenuBar
+header extends java/awt/MenuComponent$AccessibleAWTMenuComponent nestHost java/awt/MenuBar flags 21
+innerclass innerClass java/awt/MenuBar$AccessibleAWTMenuBar outerClass java/awt/MenuBar innerClassName AccessibleAWTMenuBar flags 4
+innerclass innerClass java/awt/MenuComponent$AccessibleAWTMenuComponent outerClass java/awt/MenuComponent innerClassName AccessibleAWTMenuComponent flags 404
+
+class name java/awt/MenuComponent
+header extends java/lang/Object implements java/io/Serializable nestMembers java/awt/MenuComponent$AccessibleAWTMenuComponent flags 421
+innerclass innerClass java/awt/MenuComponent$AccessibleAWTMenuComponent outerClass java/awt/MenuComponent innerClassName AccessibleAWTMenuComponent flags 404
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/MenuComponent$AccessibleAWTMenuComponent
+header extends javax/accessibility/AccessibleContext implements java/io/Serializable,javax/accessibility/AccessibleComponent,javax/accessibility/AccessibleSelection nestHost java/awt/MenuComponent flags 421
+innerclass innerClass java/awt/MenuComponent$AccessibleAWTMenuComponent outerClass java/awt/MenuComponent innerClassName AccessibleAWTMenuComponent flags 404
+
+class name java/awt/MenuContainer
+header extends java/lang/Object flags 601
+
+class name java/awt/MenuItem
+header extends java/awt/MenuComponent implements javax/accessibility/Accessible nestMembers java/awt/MenuItem$AccessibleAWTMenuItem flags 21
+innerclass innerClass java/awt/MenuItem$AccessibleAWTMenuItem outerClass java/awt/MenuItem innerClassName AccessibleAWTMenuItem flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/MenuItem$AccessibleAWTMenuItem
+header extends java/awt/MenuComponent$AccessibleAWTMenuComponent implements javax/accessibility/AccessibleAction,javax/accessibility/AccessibleValue nestHost java/awt/MenuItem flags 21
+innerclass innerClass java/awt/MenuItem$AccessibleAWTMenuItem outerClass java/awt/MenuItem innerClassName AccessibleAWTMenuItem flags 4
+innerclass innerClass java/awt/MenuComponent$AccessibleAWTMenuComponent outerClass java/awt/MenuComponent innerClassName AccessibleAWTMenuComponent flags 404
+
+class name java/awt/MenuShortcut
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/MouseInfo
+header extends java/lang/Object flags 21
+
+class name java/awt/MultipleGradientPaint
+header extends java/lang/Object implements java/awt/Paint nestMembers java/awt/MultipleGradientPaint$ColorSpaceType,java/awt/MultipleGradientPaint$CycleMethod flags 421
+innerclass innerClass java/awt/MultipleGradientPaint$ColorSpaceType outerClass java/awt/MultipleGradientPaint innerClassName ColorSpaceType flags 4019
+innerclass innerClass java/awt/MultipleGradientPaint$CycleMethod outerClass java/awt/MultipleGradientPaint innerClassName CycleMethod flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/MultipleGradientPaint$ColorSpaceType
+header extends java/lang/Enum nestHost java/awt/MultipleGradientPaint flags 4031 signature Ljava/lang/Enum<Ljava/awt/MultipleGradientPaint$ColorSpaceType;>;
+innerclass innerClass java/awt/MultipleGradientPaint$ColorSpaceType outerClass java/awt/MultipleGradientPaint innerClassName ColorSpaceType flags 4019
+
+class name java/awt/MultipleGradientPaint$CycleMethod
+header extends java/lang/Enum nestHost java/awt/MultipleGradientPaint flags 4031 signature Ljava/lang/Enum<Ljava/awt/MultipleGradientPaint$CycleMethod;>;
+innerclass innerClass java/awt/MultipleGradientPaint$CycleMethod outerClass java/awt/MultipleGradientPaint innerClassName CycleMethod flags 4019
+
+class name java/awt/PageAttributes
+header extends java/lang/Object implements java/lang/Cloneable nestMembers java/awt/PageAttributes$PrintQualityType,java/awt/PageAttributes$OriginType,java/awt/PageAttributes$OrientationRequestedType,java/awt/PageAttributes$MediaType,java/awt/PageAttributes$ColorType flags 31
+innerclass innerClass java/awt/PageAttributes$PrintQualityType outerClass java/awt/PageAttributes innerClassName PrintQualityType flags 19
+innerclass innerClass java/awt/PageAttributes$OriginType outerClass java/awt/PageAttributes innerClassName OriginType flags 19
+innerclass innerClass java/awt/PageAttributes$OrientationRequestedType outerClass java/awt/PageAttributes innerClassName OrientationRequestedType flags 19
+innerclass innerClass java/awt/PageAttributes$MediaType outerClass java/awt/PageAttributes innerClassName MediaType flags 19
+innerclass innerClass java/awt/PageAttributes$ColorType outerClass java/awt/PageAttributes innerClassName ColorType flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/PageAttributes$ColorType
+header extends java/awt/AttributeValue nestHost java/awt/PageAttributes flags 31
+innerclass innerClass java/awt/PageAttributes$ColorType outerClass java/awt/PageAttributes innerClassName ColorType flags 19
+
+class name java/awt/PageAttributes$MediaType
+header extends java/awt/AttributeValue nestHost java/awt/PageAttributes flags 31
+innerclass innerClass java/awt/PageAttributes$MediaType outerClass java/awt/PageAttributes innerClassName MediaType flags 19
+
+class name java/awt/PageAttributes$OrientationRequestedType
+header extends java/awt/AttributeValue nestHost java/awt/PageAttributes flags 31
+innerclass innerClass java/awt/PageAttributes$OrientationRequestedType outerClass java/awt/PageAttributes innerClassName OrientationRequestedType flags 19
+
+class name java/awt/PageAttributes$OriginType
+header extends java/awt/AttributeValue nestHost java/awt/PageAttributes flags 31
+innerclass innerClass java/awt/PageAttributes$OriginType outerClass java/awt/PageAttributes innerClassName OriginType flags 19
+
+class name java/awt/PageAttributes$PrintQualityType
+header extends java/awt/AttributeValue nestHost java/awt/PageAttributes flags 31
+innerclass innerClass java/awt/PageAttributes$PrintQualityType outerClass java/awt/PageAttributes innerClassName PrintQualityType flags 19
+
+class name java/awt/Paint
+header extends java/lang/Object implements java/awt/Transparency flags 601
+
+class name java/awt/PaintContext
+header extends java/lang/Object flags 601
+
+class name java/awt/Panel
+header extends java/awt/Container implements javax/accessibility/Accessible nestMembers java/awt/Panel$AccessibleAWTPanel flags 21
+innerclass innerClass java/awt/Panel$AccessibleAWTPanel outerClass java/awt/Panel innerClassName AccessibleAWTPanel flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Panel$AccessibleAWTPanel
+header extends java/awt/Container$AccessibleAWTContainer nestHost java/awt/Panel flags 21
+innerclass innerClass java/awt/Panel$AccessibleAWTPanel outerClass java/awt/Panel innerClassName AccessibleAWTPanel flags 4
+innerclass innerClass java/awt/Container$AccessibleAWTContainer outerClass java/awt/Container innerClassName AccessibleAWTContainer flags 4
+
+class name java/awt/Point
+header extends java/awt/geom/Point2D implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/PointerInfo
+header extends java/lang/Object flags 21
+
+class name java/awt/PopupMenu
+header extends java/awt/Menu nestMembers java/awt/PopupMenu$AccessibleAWTPopupMenu flags 21
+innerclass innerClass java/awt/PopupMenu$AccessibleAWTPopupMenu outerClass java/awt/PopupMenu innerClassName AccessibleAWTPopupMenu flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/PopupMenu$AccessibleAWTPopupMenu
+header extends java/awt/Menu$AccessibleAWTMenu nestHost java/awt/PopupMenu flags 21
+innerclass innerClass java/awt/PopupMenu$AccessibleAWTPopupMenu outerClass java/awt/PopupMenu innerClassName AccessibleAWTPopupMenu flags 4
+innerclass innerClass java/awt/Menu$AccessibleAWTMenu outerClass java/awt/Menu innerClassName AccessibleAWTMenu flags 4
+
+class name java/awt/PrintGraphics
+header extends java/lang/Object flags 601
+
+class name java/awt/PrintJob
+header extends java/lang/Object flags 421
+
+class name java/awt/RadialGradientPaint
+header extends java/awt/MultipleGradientPaint flags 31
+innerclass innerClass java/awt/MultipleGradientPaint$CycleMethod outerClass java/awt/MultipleGradientPaint innerClassName CycleMethod flags 4019
+innerclass innerClass java/awt/MultipleGradientPaint$ColorSpaceType outerClass java/awt/MultipleGradientPaint innerClassName ColorSpaceType flags 4019
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+
+class name java/awt/Rectangle
+header extends java/awt/geom/Rectangle2D implements java/awt/Shape,java/io/Serializable flags 21
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/RenderingHints
+header extends java/lang/Object implements java/util/Map,java/lang/Cloneable nestMembers java/awt/RenderingHints$Key flags 21 signature Ljava/lang/Object;Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;Ljava/lang/Cloneable;
+innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/RenderingHints$Key
+header extends java/lang/Object nestHost java/awt/RenderingHints flags 421
+innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/ScrollPane
+header extends java/awt/Container implements javax/accessibility/Accessible nestMembers java/awt/ScrollPane$AccessibleAWTScrollPane flags 21
+innerclass innerClass java/awt/ScrollPane$AccessibleAWTScrollPane outerClass java/awt/ScrollPane innerClassName AccessibleAWTScrollPane flags 4
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/ScrollPane$AccessibleAWTScrollPane
+header extends java/awt/Container$AccessibleAWTContainer nestHost java/awt/ScrollPane flags 21
+innerclass innerClass java/awt/ScrollPane$AccessibleAWTScrollPane outerClass java/awt/ScrollPane innerClassName AccessibleAWTScrollPane flags 4
+innerclass innerClass java/awt/Container$AccessibleAWTContainer outerClass java/awt/Container innerClassName AccessibleAWTContainer flags 4
+
+class name java/awt/Scrollbar
+header extends java/awt/Component implements java/awt/Adjustable,javax/accessibility/Accessible nestMembers java/awt/Scrollbar$AccessibleAWTScrollBar flags 21
+innerclass innerClass java/awt/Scrollbar$AccessibleAWTScrollBar outerClass java/awt/Scrollbar innerClassName AccessibleAWTScrollBar flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Scrollbar$AccessibleAWTScrollBar
+header extends java/awt/Component$AccessibleAWTComponent implements javax/accessibility/AccessibleValue nestHost java/awt/Scrollbar flags 21
+innerclass innerClass java/awt/Scrollbar$AccessibleAWTScrollBar outerClass java/awt/Scrollbar innerClassName AccessibleAWTScrollBar flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/SecondaryLoop
+header extends java/lang/Object flags 601
+
+class name java/awt/Shape
+header extends java/lang/Object flags 601
+
+class name java/awt/Stroke
+header extends java/lang/Object flags 601
+
+class name java/awt/SystemColor
+header extends java/awt/Color implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Taskbar
+header extends java/lang/Object nestMembers java/awt/Taskbar$State,java/awt/Taskbar$Feature flags 21
+innerclass innerClass java/awt/Taskbar$State outerClass java/awt/Taskbar innerClassName State flags 4019
+innerclass innerClass java/awt/Taskbar$Feature outerClass java/awt/Taskbar innerClassName Feature flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Taskbar$Feature
+header extends java/lang/Enum nestHost java/awt/Taskbar flags 4031 signature Ljava/lang/Enum<Ljava/awt/Taskbar$Feature;>;
+innerclass innerClass java/awt/Taskbar$Feature outerClass java/awt/Taskbar innerClassName Feature flags 4019
+
+class name java/awt/Taskbar$State
+header extends java/lang/Enum nestHost java/awt/Taskbar flags 4031 signature Ljava/lang/Enum<Ljava/awt/Taskbar$State;>;
+innerclass innerClass java/awt/Taskbar$State outerClass java/awt/Taskbar innerClassName State flags 4019
+
+class name java/awt/TextArea
+header extends java/awt/TextComponent nestMembers java/awt/TextArea$AccessibleAWTTextArea flags 21
+innerclass innerClass java/awt/TextArea$AccessibleAWTTextArea outerClass java/awt/TextArea innerClassName AccessibleAWTTextArea flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/TextArea$AccessibleAWTTextArea
+header extends java/awt/TextComponent$AccessibleAWTTextComponent nestHost java/awt/TextArea flags 21
+innerclass innerClass java/awt/TextArea$AccessibleAWTTextArea outerClass java/awt/TextArea innerClassName AccessibleAWTTextArea flags 4
+innerclass innerClass java/awt/TextComponent$AccessibleAWTTextComponent outerClass java/awt/TextComponent innerClassName AccessibleAWTTextComponent flags 4
+
+class name java/awt/TextComponent
+header extends java/awt/Component implements javax/accessibility/Accessible nestMembers java/awt/TextComponent$AccessibleAWTTextComponent flags 21
+innerclass innerClass java/awt/TextComponent$AccessibleAWTTextComponent outerClass java/awt/TextComponent innerClassName AccessibleAWTTextComponent flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/TextComponent$AccessibleAWTTextComponent
+header extends java/awt/Component$AccessibleAWTComponent implements javax/accessibility/AccessibleText,java/awt/event/TextListener nestHost java/awt/TextComponent flags 21
+innerclass innerClass java/awt/TextComponent$AccessibleAWTTextComponent outerClass java/awt/TextComponent innerClassName AccessibleAWTTextComponent flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name java/awt/TextField
+header extends java/awt/TextComponent nestMembers java/awt/TextField$AccessibleAWTTextField flags 21
+innerclass innerClass java/awt/TextField$AccessibleAWTTextField outerClass java/awt/TextField innerClassName AccessibleAWTTextField flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/TextField$AccessibleAWTTextField
+header extends java/awt/TextComponent$AccessibleAWTTextComponent nestHost java/awt/TextField flags 21
+innerclass innerClass java/awt/TextField$AccessibleAWTTextField outerClass java/awt/TextField innerClassName AccessibleAWTTextField flags 4
+innerclass innerClass java/awt/TextComponent$AccessibleAWTTextComponent outerClass java/awt/TextComponent innerClassName AccessibleAWTTextComponent flags 4
+
+class name java/awt/TexturePaint
+header extends java/lang/Object implements java/awt/Paint flags 21
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/Transparency
+header extends java/lang/Object flags 601
+
+class name java/awt/TrayIcon
+header extends java/lang/Object nestMembers java/awt/TrayIcon$MessageType flags 21
+innerclass innerClass java/awt/TrayIcon$MessageType outerClass java/awt/TrayIcon innerClassName MessageType flags 4019
+
+class name java/awt/TrayIcon$MessageType
+header extends java/lang/Enum nestHost java/awt/TrayIcon flags 4031 signature Ljava/lang/Enum<Ljava/awt/TrayIcon$MessageType;>;
+innerclass innerClass java/awt/TrayIcon$MessageType outerClass java/awt/TrayIcon innerClassName MessageType flags 4019
+
+class name java/awt/Window
+header extends java/awt/Container implements javax/accessibility/Accessible nestMembers java/awt/Window$AccessibleAWTWindow,java/awt/Window$Type flags 21
+innerclass innerClass java/awt/Window$AccessibleAWTWindow outerClass java/awt/Window innerClassName AccessibleAWTWindow flags 4
+innerclass innerClass java/awt/Window$Type outerClass java/awt/Window innerClassName Type flags 4019
+innerclass innerClass java/awt/Dialog$ModalExclusionType outerClass java/awt/Dialog innerClassName ModalExclusionType flags 4019
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019
+innerclass innerClass java/awt/GraphicsDevice$WindowTranslucency outerClass java/awt/GraphicsDevice innerClassName WindowTranslucency flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/Window$AccessibleAWTWindow
+header extends java/awt/Container$AccessibleAWTContainer nestHost java/awt/Window flags 21
+innerclass innerClass java/awt/Window$AccessibleAWTWindow outerClass java/awt/Window innerClassName AccessibleAWTWindow flags 4
+innerclass innerClass java/awt/Container$AccessibleAWTContainer outerClass java/awt/Container innerClassName AccessibleAWTContainer flags 4
+
+class name java/awt/Window$Type
+header extends java/lang/Enum nestHost java/awt/Window flags 4031 signature Ljava/lang/Enum<Ljava/awt/Window$Type;>;
+innerclass innerClass java/awt/Window$Type outerClass java/awt/Window innerClassName Type flags 4019
+
+class name java/awt/color/CMMException
+header extends java/lang/RuntimeException flags 21
+
+class name java/awt/color/ColorSpace
+header extends java/lang/Object implements java/io/Serializable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/color/ICC_ColorSpace
+header extends java/awt/color/ColorSpace flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/color/ICC_ProfileGray
+header extends java/awt/color/ICC_Profile flags 21
+
+class name java/awt/color/ICC_ProfileRGB
+header extends java/awt/color/ICC_Profile flags 21
+
+class name java/awt/color/ProfileDataException
+header extends java/lang/RuntimeException flags 21
+
+class name java/awt/desktop/AboutEvent
+header extends java/awt/desktop/AppEvent flags 31
+
+class name java/awt/desktop/AboutHandler
+header extends java/lang/Object flags 601
+
+class name java/awt/desktop/AppEvent
+header extends java/util/EventObject flags 21
+
+class name java/awt/desktop/AppForegroundEvent
+header extends java/awt/desktop/AppEvent flags 31
+
+class name java/awt/desktop/AppForegroundListener
+header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601
+
+class name java/awt/desktop/AppHiddenEvent
+header extends java/awt/desktop/AppEvent flags 31
+
+class name java/awt/desktop/AppHiddenListener
+header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601
+
+class name java/awt/desktop/AppReopenedEvent
+header extends java/awt/desktop/AppEvent flags 31
+
+class name java/awt/desktop/AppReopenedListener
+header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601
+
+class name java/awt/desktop/FilesEvent
+header extends java/awt/desktop/AppEvent flags 21
+
+class name java/awt/desktop/OpenFilesEvent
+header extends java/awt/desktop/FilesEvent flags 31
+
+class name java/awt/desktop/OpenFilesHandler
+header extends java/lang/Object flags 601
+
+class name java/awt/desktop/OpenURIEvent
+header extends java/awt/desktop/AppEvent flags 31
+
+class name java/awt/desktop/OpenURIHandler
+header extends java/lang/Object flags 601
+
+class name java/awt/desktop/PreferencesEvent
+header extends java/awt/desktop/AppEvent flags 31
+
+class name java/awt/desktop/PreferencesHandler
+header extends java/lang/Object flags 601
+
+class name java/awt/desktop/PrintFilesEvent
+header extends java/awt/desktop/FilesEvent flags 31
+
+class name java/awt/desktop/PrintFilesHandler
+header extends java/lang/Object flags 601
+
+class name java/awt/desktop/QuitEvent
+header extends java/awt/desktop/AppEvent flags 31
+
+class name java/awt/desktop/QuitHandler
+header extends java/lang/Object flags 601
+
+class name java/awt/desktop/QuitResponse
+header extends java/lang/Object flags 601
+
+class name java/awt/desktop/QuitStrategy
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/awt/desktop/QuitStrategy;>;
+
+class name java/awt/desktop/ScreenSleepEvent
+header extends java/awt/desktop/AppEvent flags 31
+
+class name java/awt/desktop/ScreenSleepListener
+header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601
+
+class name java/awt/desktop/SystemEventListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/desktop/SystemSleepEvent
+header extends java/awt/desktop/AppEvent flags 31
+
+class name java/awt/desktop/SystemSleepListener
+header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601
+
+class name java/awt/desktop/UserSessionEvent
+header extends java/awt/desktop/AppEvent nestMembers java/awt/desktop/UserSessionEvent$Reason flags 31
+innerclass innerClass java/awt/desktop/UserSessionEvent$Reason outerClass java/awt/desktop/UserSessionEvent innerClassName Reason flags 4019
+
+class name java/awt/desktop/UserSessionEvent$Reason
+header extends java/lang/Enum nestHost java/awt/desktop/UserSessionEvent flags 4031 signature Ljava/lang/Enum<Ljava/awt/desktop/UserSessionEvent$Reason;>;
+innerclass innerClass java/awt/desktop/UserSessionEvent$Reason outerClass java/awt/desktop/UserSessionEvent innerClassName Reason flags 4019
+
+class name java/awt/desktop/UserSessionListener
+header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601
+
+class name java/awt/dnd/Autoscroll
+header extends java/lang/Object flags 601
+
+class name java/awt/dnd/DnDConstants
+header extends java/lang/Object flags 31
+
+class name java/awt/dnd/DragGestureEvent
+header extends java/util/EventObject flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+
+class name java/awt/dnd/DragGestureListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/dnd/DragGestureRecognizer
+header extends java/lang/Object implements java/io/Serializable flags 421
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+
+class name java/awt/dnd/DragSource
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/dnd/DragSourceAdapter
+header extends java/lang/Object implements java/awt/dnd/DragSourceListener,java/awt/dnd/DragSourceMotionListener flags 421
+
+class name java/awt/dnd/DragSourceDragEvent
+header extends java/awt/dnd/DragSourceEvent flags 21
+
+class name java/awt/dnd/DragSourceDropEvent
+header extends java/awt/dnd/DragSourceEvent flags 21
+
+class name java/awt/dnd/DragSourceEvent
+header extends java/util/EventObject flags 21
+
+class name java/awt/dnd/DragSourceListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/dnd/DragSourceMotionListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/dnd/DropTarget
+header extends java/lang/Object implements java/awt/dnd/DropTargetListener,java/io/Serializable nestMembers java/awt/dnd/DropTarget$DropTargetAutoScroller flags 21
+innerclass innerClass java/awt/dnd/DropTarget$DropTargetAutoScroller outerClass java/awt/dnd/DropTarget innerClassName DropTargetAutoScroller flags c
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+
+class name java/awt/dnd/DropTarget$DropTargetAutoScroller
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost java/awt/dnd/DropTarget flags 21
+innerclass innerClass java/awt/dnd/DropTarget$DropTargetAutoScroller outerClass java/awt/dnd/DropTarget innerClassName DropTargetAutoScroller flags c
+
+class name java/awt/dnd/DropTargetAdapter
+header extends java/lang/Object implements java/awt/dnd/DropTargetListener flags 421
+
+class name java/awt/dnd/DropTargetContext
+header extends java/lang/Object implements java/io/Serializable nestMembers java/awt/dnd/DropTargetContext$TransferableProxy flags 21
+innerclass innerClass java/awt/dnd/DropTargetContext$TransferableProxy outerClass java/awt/dnd/DropTargetContext innerClassName TransferableProxy flags 4
+
+class name java/awt/dnd/DropTargetContext$TransferableProxy
+header extends java/lang/Object implements java/awt/datatransfer/Transferable nestHost java/awt/dnd/DropTargetContext flags 21
+innerclass innerClass java/awt/dnd/DropTargetContext$TransferableProxy outerClass java/awt/dnd/DropTargetContext innerClassName TransferableProxy flags 4
+
+class name java/awt/dnd/DropTargetDragEvent
+header extends java/awt/dnd/DropTargetEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/dnd/DropTargetDropEvent
+header extends java/awt/dnd/DropTargetEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/dnd/DropTargetEvent
+header extends java/util/EventObject flags 21
+
+class name java/awt/dnd/DropTargetListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/dnd/InvalidDnDOperationException
+header extends java/lang/IllegalStateException flags 21
+
+class name java/awt/dnd/MouseDragGestureRecognizer
+header extends java/awt/dnd/DragGestureRecognizer implements java/awt/event/MouseListener,java/awt/event/MouseMotionListener flags 421
+
+class name java/awt/event/AWTEventListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/AWTEventListenerProxy
+header extends java/util/EventListenerProxy implements java/awt/event/AWTEventListener flags 21 signature Ljava/util/EventListenerProxy<Ljava/awt/event/AWTEventListener;>;Ljava/awt/event/AWTEventListener;
+
+class name java/awt/event/ActionEvent
+header extends java/awt/AWTEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/ActionListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/AdjustmentEvent
+header extends java/awt/AWTEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/AdjustmentListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/ComponentAdapter
+header extends java/lang/Object implements java/awt/event/ComponentListener flags 421
+
+class name java/awt/event/ComponentEvent
+header extends java/awt/AWTEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/ComponentListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/ContainerAdapter
+header extends java/lang/Object implements java/awt/event/ContainerListener flags 421
+
+class name java/awt/event/ContainerEvent
+header extends java/awt/event/ComponentEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/ContainerListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/FocusAdapter
+header extends java/lang/Object implements java/awt/event/FocusListener flags 421
+
+class name java/awt/event/FocusEvent
+header extends java/awt/event/ComponentEvent nestMembers java/awt/event/FocusEvent$Cause flags 21
+innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/FocusEvent$Cause
+header extends java/lang/Enum nestHost java/awt/event/FocusEvent flags 4031 signature Ljava/lang/Enum<Ljava/awt/event/FocusEvent$Cause;>;
+innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019
+
+class name java/awt/event/FocusListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/HierarchyBoundsAdapter
+header extends java/lang/Object implements java/awt/event/HierarchyBoundsListener flags 421
+
+class name java/awt/event/HierarchyBoundsListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/HierarchyEvent
+header extends java/awt/AWTEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/HierarchyListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/InputMethodEvent
+header extends java/awt/AWTEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/InputMethodListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/ItemEvent
+header extends java/awt/AWTEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/ItemListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/KeyAdapter
+header extends java/lang/Object implements java/awt/event/KeyListener flags 421
+
+class name java/awt/event/KeyListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/MouseAdapter
+header extends java/lang/Object implements java/awt/event/MouseListener,java/awt/event/MouseWheelListener,java/awt/event/MouseMotionListener flags 421
+
+class name java/awt/event/MouseListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/MouseMotionAdapter
+header extends java/lang/Object implements java/awt/event/MouseMotionListener flags 421
+
+class name java/awt/event/MouseMotionListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/MouseWheelEvent
+header extends java/awt/event/MouseEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/MouseWheelListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/PaintEvent
+header extends java/awt/event/ComponentEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/TextEvent
+header extends java/awt/AWTEvent flags 21
+
+class name java/awt/event/TextListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/WindowAdapter
+header extends java/lang/Object implements java/awt/event/WindowListener,java/awt/event/WindowStateListener,java/awt/event/WindowFocusListener flags 421
+
+class name java/awt/event/WindowEvent
+header extends java/awt/event/ComponentEvent flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/event/WindowFocusListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/WindowListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/event/WindowStateListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/awt/font/FontRenderContext
+header extends java/lang/Object flags 21
+innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/font/GlyphJustificationInfo
+header extends java/lang/Object flags 31
+
+class name java/awt/font/GlyphMetrics
+header extends java/lang/Object flags 31
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/font/GlyphVector
+header extends java/lang/Object implements java/lang/Cloneable flags 421
+
+class name java/awt/font/GraphicAttribute
+header extends java/lang/Object flags 421
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/font/ImageGraphicAttribute
+header extends java/awt/font/GraphicAttribute flags 31
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/font/LayoutPath
+header extends java/lang/Object flags 421
+
+class name java/awt/font/LineBreakMeasurer
+header extends java/lang/Object flags 31
+
+class name java/awt/font/LineMetrics
+header extends java/lang/Object flags 421
+
+class name java/awt/font/MultipleMaster
+header extends java/lang/Object flags 601
+
+class name java/awt/font/NumericShaper
+header extends java/lang/Object implements java/io/Serializable nestMembers java/awt/font/NumericShaper$Range flags 31
+innerclass innerClass java/awt/font/NumericShaper$Range outerClass java/awt/font/NumericShaper innerClassName Range flags 4009
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/font/NumericShaper$Range
+header extends java/lang/Enum nestHost java/awt/font/NumericShaper flags 4021 signature Ljava/lang/Enum<Ljava/awt/font/NumericShaper$Range;>;
+innerclass innerClass java/awt/font/NumericShaper$Range outerClass java/awt/font/NumericShaper innerClassName Range flags 4009
+
+class name java/awt/font/OpenType
+header extends java/lang/Object flags 601
+
+class name java/awt/font/ShapeGraphicAttribute
+header extends java/awt/font/GraphicAttribute flags 31
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/font/TextAttribute
+header extends java/text/AttributedCharacterIterator$Attribute flags 31
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+
+class name java/awt/font/TextHitInfo
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/font/TextLayout
+header extends java/lang/Object implements java/lang/Cloneable nestMembers java/awt/font/TextLayout$CaretPolicy flags 31
+innerclass innerClass java/awt/font/TextLayout$CaretPolicy outerClass java/awt/font/TextLayout innerClassName CaretPolicy flags 9
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/font/TextLayout$CaretPolicy
+header extends java/lang/Object nestHost java/awt/font/TextLayout flags 21
+innerclass innerClass java/awt/font/TextLayout$CaretPolicy outerClass java/awt/font/TextLayout innerClassName CaretPolicy flags 9
+
+class name java/awt/font/TextMeasurer
+header extends java/lang/Object implements java/lang/Cloneable flags 31
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/font/TransformAttribute
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/awt/geom/AffineTransform
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/geom/Arc2D
+header extends java/awt/geom/RectangularShape nestMembers java/awt/geom/Arc2D$Double,java/awt/geom/Arc2D$Float flags 421
+innerclass innerClass java/awt/geom/Arc2D$Double outerClass java/awt/geom/Arc2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Arc2D$Float outerClass java/awt/geom/Arc2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/geom/Arc2D$Double
+header extends java/awt/geom/Arc2D implements java/io/Serializable nestHost java/awt/geom/Arc2D flags 21
+innerclass innerClass java/awt/geom/Arc2D$Double outerClass java/awt/geom/Arc2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/Arc2D$Float
+header extends java/awt/geom/Arc2D implements java/io/Serializable nestHost java/awt/geom/Arc2D flags 21
+innerclass innerClass java/awt/geom/Arc2D$Float outerClass java/awt/geom/Arc2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/geom/Area
+header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 21
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/CubicCurve2D
+header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable nestMembers java/awt/geom/CubicCurve2D$Double,java/awt/geom/CubicCurve2D$Float flags 421
+innerclass innerClass java/awt/geom/CubicCurve2D$Double outerClass java/awt/geom/CubicCurve2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/CubicCurve2D$Float outerClass java/awt/geom/CubicCurve2D innerClassName Float flags 9
+
+class name java/awt/geom/CubicCurve2D$Double
+header extends java/awt/geom/CubicCurve2D implements java/io/Serializable nestHost java/awt/geom/CubicCurve2D flags 21
+innerclass innerClass java/awt/geom/CubicCurve2D$Double outerClass java/awt/geom/CubicCurve2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/CubicCurve2D$Float
+header extends java/awt/geom/CubicCurve2D implements java/io/Serializable nestHost java/awt/geom/CubicCurve2D flags 21
+innerclass innerClass java/awt/geom/CubicCurve2D$Float outerClass java/awt/geom/CubicCurve2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/geom/Dimension2D
+header extends java/lang/Object implements java/lang/Cloneable flags 421
+
+class name java/awt/geom/Ellipse2D
+header extends java/awt/geom/RectangularShape nestMembers java/awt/geom/Ellipse2D$Double,java/awt/geom/Ellipse2D$Float flags 421
+innerclass innerClass java/awt/geom/Ellipse2D$Double outerClass java/awt/geom/Ellipse2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Ellipse2D$Float outerClass java/awt/geom/Ellipse2D innerClassName Float flags 9
+
+class name java/awt/geom/Ellipse2D$Double
+header extends java/awt/geom/Ellipse2D implements java/io/Serializable nestHost java/awt/geom/Ellipse2D flags 21
+innerclass innerClass java/awt/geom/Ellipse2D$Double outerClass java/awt/geom/Ellipse2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/Ellipse2D$Float
+header extends java/awt/geom/Ellipse2D implements java/io/Serializable nestHost java/awt/geom/Ellipse2D flags 21
+innerclass innerClass java/awt/geom/Ellipse2D$Float outerClass java/awt/geom/Ellipse2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/geom/FlatteningPathIterator
+header extends java/lang/Object implements java/awt/geom/PathIterator flags 21
+
+class name java/awt/geom/GeneralPath
+header extends java/awt/geom/Path2D$Float flags 31
+innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9
+
+class name java/awt/geom/IllegalPathStateException
+header extends java/lang/RuntimeException flags 21
+
+class name java/awt/geom/Line2D
+header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable nestMembers java/awt/geom/Line2D$Double,java/awt/geom/Line2D$Float flags 421
+innerclass innerClass java/awt/geom/Line2D$Double outerClass java/awt/geom/Line2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Line2D$Float outerClass java/awt/geom/Line2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/Line2D$Double
+header extends java/awt/geom/Line2D implements java/io/Serializable nestHost java/awt/geom/Line2D flags 21
+innerclass innerClass java/awt/geom/Line2D$Double outerClass java/awt/geom/Line2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/Line2D$Float
+header extends java/awt/geom/Line2D implements java/io/Serializable nestHost java/awt/geom/Line2D flags 21
+innerclass innerClass java/awt/geom/Line2D$Float outerClass java/awt/geom/Line2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/geom/NoninvertibleTransformException
+header extends java/lang/Exception flags 21
+
+class name java/awt/geom/Path2D
+header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable nestMembers java/awt/geom/Path2D$Double,java/awt/geom/Path2D$Float flags 421
+innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9
+
+class name java/awt/geom/Path2D$Double
+header extends java/awt/geom/Path2D implements java/io/Serializable nestHost java/awt/geom/Path2D flags 21
+innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/Path2D$Float
+header extends java/awt/geom/Path2D implements java/io/Serializable nestHost java/awt/geom/Path2D flags 21
+innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/geom/PathIterator
+header extends java/lang/Object flags 601
+
+class name java/awt/geom/Point2D
+header extends java/lang/Object implements java/lang/Cloneable nestMembers java/awt/geom/Point2D$Double,java/awt/geom/Point2D$Float flags 421
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+
+class name java/awt/geom/Point2D$Double
+header extends java/awt/geom/Point2D implements java/io/Serializable nestHost java/awt/geom/Point2D flags 21
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/geom/Point2D$Float
+header extends java/awt/geom/Point2D implements java/io/Serializable nestHost java/awt/geom/Point2D flags 21
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/geom/QuadCurve2D
+header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable nestMembers java/awt/geom/QuadCurve2D$Double,java/awt/geom/QuadCurve2D$Float flags 421
+innerclass innerClass java/awt/geom/QuadCurve2D$Double outerClass java/awt/geom/QuadCurve2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/QuadCurve2D$Float outerClass java/awt/geom/QuadCurve2D innerClassName Float flags 9
+
+class name java/awt/geom/QuadCurve2D$Double
+header extends java/awt/geom/QuadCurve2D implements java/io/Serializable nestHost java/awt/geom/QuadCurve2D flags 21
+innerclass innerClass java/awt/geom/QuadCurve2D$Double outerClass java/awt/geom/QuadCurve2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/QuadCurve2D$Float
+header extends java/awt/geom/QuadCurve2D implements java/io/Serializable nestHost java/awt/geom/QuadCurve2D flags 21
+innerclass innerClass java/awt/geom/QuadCurve2D$Float outerClass java/awt/geom/QuadCurve2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/geom/Rectangle2D
+header extends java/awt/geom/RectangularShape nestMembers java/awt/geom/Rectangle2D$Double,java/awt/geom/Rectangle2D$Float flags 421
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/geom/Rectangle2D$Double
+header extends java/awt/geom/Rectangle2D implements java/io/Serializable nestHost java/awt/geom/Rectangle2D flags 21
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/geom/Rectangle2D$Float
+header extends java/awt/geom/Rectangle2D implements java/io/Serializable nestHost java/awt/geom/Rectangle2D flags 21
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/geom/RectangularShape
+header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 421
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/RoundRectangle2D
+header extends java/awt/geom/RectangularShape nestMembers java/awt/geom/RoundRectangle2D$Double,java/awt/geom/RoundRectangle2D$Float flags 421
+innerclass innerClass java/awt/geom/RoundRectangle2D$Double outerClass java/awt/geom/RoundRectangle2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/RoundRectangle2D$Float outerClass java/awt/geom/RoundRectangle2D innerClassName Float flags 9
+
+class name java/awt/geom/RoundRectangle2D$Double
+header extends java/awt/geom/RoundRectangle2D implements java/io/Serializable nestHost java/awt/geom/RoundRectangle2D flags 21
+innerclass innerClass java/awt/geom/RoundRectangle2D$Double outerClass java/awt/geom/RoundRectangle2D innerClassName Double flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/geom/RoundRectangle2D$Float
+header extends java/awt/geom/RoundRectangle2D implements java/io/Serializable nestHost java/awt/geom/RoundRectangle2D flags 21
+innerclass innerClass java/awt/geom/RoundRectangle2D$Float outerClass java/awt/geom/RoundRectangle2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+
+class name java/awt/im/InputContext
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/Character$Subset outerClass java/lang/Character innerClassName Subset flags 9
+
+class name java/awt/im/InputMethodHighlight
+header extends java/lang/Object flags 21
+
+class name java/awt/im/InputMethodRequests
+header extends java/lang/Object flags 601
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+
+class name java/awt/im/InputSubset
+header extends java/lang/Character$Subset flags 31
+innerclass innerClass java/lang/Character$Subset outerClass java/lang/Character innerClassName Subset flags 9
+
+class name java/awt/im/spi/InputMethod
+header extends java/lang/Object flags 601
+innerclass innerClass java/lang/Character$Subset outerClass java/lang/Character innerClassName Subset flags 9
+
+class name java/awt/im/spi/InputMethodContext
+header extends java/lang/Object implements java/awt/im/InputMethodRequests flags 601
+
+class name java/awt/im/spi/InputMethodDescriptor
+header extends java/lang/Object flags 601
+
+class name java/awt/image/AbstractMultiResolutionImage
+header extends java/awt/Image implements java/awt/image/MultiResolutionImage flags 421
+
+class name java/awt/image/AffineTransformOp
+header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/AreaAveragingScaleFilter
+header extends java/awt/image/ReplicateScaleFilter flags 21
+
+class name java/awt/image/BandCombineOp
+header extends java/lang/Object implements java/awt/image/RasterOp flags 21
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/BandedSampleModel
+header extends java/awt/image/ComponentSampleModel flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/BaseMultiResolutionImage
+header extends java/awt/image/AbstractMultiResolutionImage flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/BufferStrategy
+header extends java/lang/Object flags 421
+
+class name java/awt/image/BufferedImageFilter
+header extends java/awt/image/ImageFilter implements java/lang/Cloneable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/BufferedImageOp
+header extends java/lang/Object flags 601
+
+class name java/awt/image/ByteLookupTable
+header extends java/awt/image/LookupTable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/ColorConvertOp
+header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+
+class name java/awt/image/ComponentColorModel
+header extends java/awt/image/ColorModel flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/ComponentSampleModel
+header extends java/awt/image/SampleModel flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/ConvolveOp
+header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+
+class name java/awt/image/CropImageFilter
+header extends java/awt/image/ImageFilter flags 21
+
+class name java/awt/image/DataBufferByte
+header extends java/awt/image/DataBuffer flags 31
+
+class name java/awt/image/DataBufferDouble
+header extends java/awt/image/DataBuffer flags 31
+
+class name java/awt/image/DataBufferFloat
+header extends java/awt/image/DataBuffer flags 31
+
+class name java/awt/image/DataBufferInt
+header extends java/awt/image/DataBuffer flags 31
+
+class name java/awt/image/DataBufferShort
+header extends java/awt/image/DataBuffer flags 31
+
+class name java/awt/image/DataBufferUShort
+header extends java/awt/image/DataBuffer flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/DirectColorModel
+header extends java/awt/image/PackedColorModel flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/FilteredImageSource
+header extends java/lang/Object implements java/awt/image/ImageProducer flags 21
+
+class name java/awt/image/ImageConsumer
+header extends java/lang/Object flags 601
+
+class name java/awt/image/ImageFilter
+header extends java/lang/Object implements java/awt/image/ImageConsumer,java/lang/Cloneable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/ImageObserver
+header extends java/lang/Object flags 601
+
+class name java/awt/image/ImageProducer
+header extends java/lang/Object flags 601
+
+class name java/awt/image/ImagingOpException
+header extends java/lang/RuntimeException flags 21
+
+class name java/awt/image/IndexColorModel
+header extends java/awt/image/ColorModel flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/Kernel
+header extends java/lang/Object implements java/lang/Cloneable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/LookupOp
+header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/LookupTable
+header extends java/lang/Object flags 421
+
+class name java/awt/image/MemoryImageSource
+header extends java/lang/Object implements java/awt/image/ImageProducer flags 21
+
+class name java/awt/image/MultiPixelPackedSampleModel
+header extends java/awt/image/SampleModel flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/MultiResolutionImage
+header extends java/lang/Object flags 601
+
+class name java/awt/image/PackedColorModel
+header extends java/awt/image/ColorModel flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/PixelGrabber
+header extends java/lang/Object implements java/awt/image/ImageConsumer flags 21
+
+class name java/awt/image/PixelInterleavedSampleModel
+header extends java/awt/image/ComponentSampleModel flags 21
+
+class name java/awt/image/RGBImageFilter
+header extends java/awt/image/ImageFilter flags 421
+
+class name java/awt/image/Raster
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/RasterFormatException
+header extends java/lang/RuntimeException flags 21
+
+class name java/awt/image/RasterOp
+header extends java/lang/Object flags 601
+
+class name java/awt/image/RenderedImage
+header extends java/lang/Object flags 601
+
+class name java/awt/image/ReplicateScaleFilter
+header extends java/awt/image/ImageFilter flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/RescaleOp
+header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21
+innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/SampleModel
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/ShortLookupTable
+header extends java/awt/image/LookupTable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/SinglePixelPackedSampleModel
+header extends java/awt/image/SampleModel flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/awt/image/TileObserver
+header extends java/lang/Object flags 601
+
+class name java/awt/image/VolatileImage
+header extends java/awt/Image implements java/awt/Transparency flags 421
+
+class name java/awt/image/WritableRaster
+header extends java/awt/image/Raster flags 21
+
+class name java/awt/image/WritableRenderedImage
+header extends java/lang/Object implements java/awt/image/RenderedImage flags 601
+
+class name java/awt/image/renderable/ContextualRenderedImageFactory
+header extends java/lang/Object implements java/awt/image/renderable/RenderedImageFactory flags 601
+
+class name java/awt/image/renderable/ParameterBlock
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21
+
+class name java/awt/image/renderable/RenderContext
+header extends java/lang/Object implements java/lang/Cloneable flags 21
+
+class name java/awt/image/renderable/RenderableImage
+header extends java/lang/Object flags 601
+
+class name java/awt/image/renderable/RenderableImageOp
+header extends java/lang/Object implements java/awt/image/renderable/RenderableImage flags 21
+
+class name java/awt/image/renderable/RenderableImageProducer
+header extends java/lang/Object implements java/awt/image/ImageProducer,java/lang/Runnable flags 21
+
+class name java/awt/image/renderable/RenderedImageFactory
+header extends java/lang/Object flags 601
+
+class name java/awt/print/PageFormat
+header extends java/lang/Object implements java/lang/Cloneable flags 21
+
+class name java/awt/print/Pageable
+header extends java/lang/Object flags 601
+
+class name java/awt/print/Paper
+header extends java/lang/Object implements java/lang/Cloneable flags 21
+innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9
+
+class name java/awt/print/Printable
+header extends java/lang/Object flags 601
+
+class name java/awt/print/PrinterAbortException
+header extends java/awt/print/PrinterException flags 21
+
+class name java/awt/print/PrinterException
+header extends java/lang/Exception flags 21
+
+class name java/awt/print/PrinterGraphics
+header extends java/lang/Object flags 601
+
+class name java/awt/print/PrinterIOException
+header extends java/awt/print/PrinterException flags 21
+
+class name java/beans/AppletInitializer
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name java/beans/BeanDescriptor
+header extends java/beans/FeatureDescriptor flags 21
+
+class name java/beans/BeanInfo
+header extends java/lang/Object flags 601
+
+class name java/beans/BeanProperty
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name java/beans/Beans
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/beans/ConstructorProperties
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name java/beans/Customizer
+header extends java/lang/Object flags 601
+
+class name java/beans/DefaultPersistenceDelegate
+header extends java/beans/PersistenceDelegate flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/beans/DesignMode
+header extends java/lang/Object flags 601
+
+class name java/beans/Encoder
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/beans/EventSetDescriptor
+header extends java/beans/FeatureDescriptor flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/beans/ExceptionListener
+header extends java/lang/Object flags 601
+
+class name java/beans/Expression
+header extends java/beans/Statement flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/beans/FeatureDescriptor
+header extends java/lang/Object flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/beans/IndexedPropertyChangeEvent
+header extends java/beans/PropertyChangeEvent flags 21
+
+class name java/beans/IndexedPropertyDescriptor
+header extends java/beans/PropertyDescriptor flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/beans/IntrospectionException
+header extends java/lang/Exception flags 21
+
+class name java/beans/JavaBean
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name java/beans/MethodDescriptor
+header extends java/beans/FeatureDescriptor flags 21
+
+class name java/beans/ParameterDescriptor
+header extends java/beans/FeatureDescriptor flags 21
+
+class name java/beans/PersistenceDelegate
+header extends java/lang/Object flags 421
+
+class name java/beans/PropertyChangeEvent
+header extends java/util/EventObject flags 21
+
+class name java/beans/PropertyChangeListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/beans/PropertyChangeListenerProxy
+header extends java/util/EventListenerProxy implements java/beans/PropertyChangeListener flags 21 signature Ljava/util/EventListenerProxy<Ljava/beans/PropertyChangeListener;>;Ljava/beans/PropertyChangeListener;
+
+class name java/beans/PropertyDescriptor
+header extends java/beans/FeatureDescriptor flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/beans/PropertyEditor
+header extends java/lang/Object flags 601
+
+class name java/beans/PropertyEditorManager
+header extends java/lang/Object flags 21
+
+class name java/beans/PropertyEditorSupport
+header extends java/lang/Object implements java/beans/PropertyEditor flags 21
+
+class name java/beans/PropertyVetoException
+header extends java/lang/Exception flags 21
+
+class name java/beans/SimpleBeanInfo
+header extends java/lang/Object implements java/beans/BeanInfo flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/beans/Transient
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name java/beans/VetoableChangeListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/beans/VetoableChangeListenerProxy
+header extends java/util/EventListenerProxy implements java/beans/VetoableChangeListener flags 21 signature Ljava/util/EventListenerProxy<Ljava/beans/VetoableChangeListener;>;Ljava/beans/VetoableChangeListener;
+
+class name java/beans/Visibility
+header extends java/lang/Object flags 601
+
+class name java/beans/beancontext/BeanContext
+header extends java/lang/Object implements java/beans/beancontext/BeanContextChild,java/util/Collection,java/beans/DesignMode,java/beans/Visibility flags 601
+
+class name java/beans/beancontext/BeanContextChild
+header extends java/lang/Object flags 601
+
+class name java/beans/beancontext/BeanContextChildComponentProxy
+header extends java/lang/Object flags 601
+
+class name java/beans/beancontext/BeanContextChildSupport
+header extends java/lang/Object implements java/beans/beancontext/BeanContextChild,java/beans/beancontext/BeanContextServicesListener,java/io/Serializable flags 21
+
+class name java/beans/beancontext/BeanContextContainerProxy
+header extends java/lang/Object flags 601
+
+class name java/beans/beancontext/BeanContextEvent
+header extends java/util/EventObject flags 421
+
+class name java/beans/beancontext/BeanContextMembershipEvent
+header extends java/beans/beancontext/BeanContextEvent flags 21
+
+class name java/beans/beancontext/BeanContextMembershipListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/beans/beancontext/BeanContextProxy
+header extends java/lang/Object flags 601
+
+class name java/beans/beancontext/BeanContextServiceAvailableEvent
+header extends java/beans/beancontext/BeanContextEvent flags 21
+
+class name java/beans/beancontext/BeanContextServiceProvider
+header extends java/lang/Object flags 601
+
+class name java/beans/beancontext/BeanContextServiceProviderBeanInfo
+header extends java/lang/Object implements java/beans/BeanInfo flags 601
+
+class name java/beans/beancontext/BeanContextServiceRevokedEvent
+header extends java/beans/beancontext/BeanContextEvent flags 21
+
+class name java/beans/beancontext/BeanContextServiceRevokedListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/beans/beancontext/BeanContextServices
+header extends java/lang/Object implements java/beans/beancontext/BeanContext,java/beans/beancontext/BeanContextServicesListener flags 601
+
+class name java/beans/beancontext/BeanContextServicesListener
+header extends java/lang/Object implements java/beans/beancontext/BeanContextServiceRevokedListener flags 601
+
+class name java/beans/beancontext/BeanContextServicesSupport
+header extends java/beans/beancontext/BeanContextSupport implements java/beans/beancontext/BeanContextServices nestMembers java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider,java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider,java/beans/beancontext/BeanContextServicesSupport$BCSSChild flags 21
+innerclass innerClass java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider outerClass java/beans/beancontext/BeanContextServicesSupport innerClassName BCSSProxyServiceProvider flags 4
+innerclass innerClass java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider outerClass java/beans/beancontext/BeanContextServicesSupport innerClassName BCSSServiceProvider flags c
+innerclass innerClass java/beans/beancontext/BeanContextServicesSupport$BCSSChild outerClass java/beans/beancontext/BeanContextServicesSupport innerClassName BCSSChild flags 4
+innerclass innerClass java/beans/beancontext/BeanContextSupport$BCSChild outerClass java/beans/beancontext/BeanContextSupport innerClassName BCSChild flags 4
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/beans/beancontext/BeanContextSupport$BCSIterator outerClass java/beans/beancontext/BeanContextSupport innerClassName BCSIterator flags 1c
+
+class name java/beans/beancontext/BeanContextServicesSupport$BCSSChild
+header extends java/beans/beancontext/BeanContextSupport$BCSChild nestHost java/beans/beancontext/BeanContextServicesSupport flags 21
+innerclass innerClass java/beans/beancontext/BeanContextServicesSupport$BCSSChild outerClass java/beans/beancontext/BeanContextServicesSupport innerClassName BCSSChild flags 4
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/beans/beancontext/BeanContextSupport$BCSChild outerClass java/beans/beancontext/BeanContextSupport innerClassName BCSChild flags 4
+
+class name java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider
+header extends java/lang/Object implements java/beans/beancontext/BeanContextServiceProvider,java/beans/beancontext/BeanContextServiceRevokedListener nestHost java/beans/beancontext/BeanContextServicesSupport flags 21
+innerclass innerClass java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider outerClass java/beans/beancontext/BeanContextServicesSupport innerClassName BCSSProxyServiceProvider flags 4
+innerclass innerClass java/beans/beancontext/BeanContextSupport$BCSChild outerClass java/beans/beancontext/BeanContextSupport innerClassName BCSChild flags 4
+innerclass innerClass java/beans/beancontext/BeanContextServicesSupport$BCSSChild outerClass java/beans/beancontext/BeanContextServicesSupport innerClassName BCSSChild flags 4
+
+class name java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider
+header extends java/lang/Object implements java/io/Serializable nestHost java/beans/beancontext/BeanContextServicesSupport flags 21
+innerclass innerClass java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider outerClass java/beans/beancontext/BeanContextServicesSupport innerClassName BCSSServiceProvider flags c
+
+class name java/beans/beancontext/BeanContextSupport
+header extends java/beans/beancontext/BeanContextChildSupport implements java/beans/beancontext/BeanContext,java/io/Serializable,java/beans/PropertyChangeListener,java/beans/VetoableChangeListener nestMembers java/beans/beancontext/BeanContextSupport$BCSChild,java/beans/beancontext/BeanContextSupport$BCSIterator flags 21
+innerclass innerClass java/beans/beancontext/BeanContextSupport$BCSChild outerClass java/beans/beancontext/BeanContextSupport innerClassName BCSChild flags 4
+innerclass innerClass java/beans/beancontext/BeanContextSupport$BCSIterator outerClass java/beans/beancontext/BeanContextSupport innerClassName BCSIterator flags 1c
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name java/beans/beancontext/BeanContextSupport$BCSChild
+header extends java/lang/Object implements java/io/Serializable nestHost java/beans/beancontext/BeanContextSupport flags 21
+innerclass innerClass java/beans/beancontext/BeanContextSupport$BCSChild outerClass java/beans/beancontext/BeanContextSupport innerClassName BCSChild flags 4
+
+class name java/beans/beancontext/BeanContextSupport$BCSIterator
+header extends java/lang/Object implements java/util/Iterator nestHost java/beans/beancontext/BeanContextSupport flags 31 signature Ljava/lang/Object;Ljava/util/Iterator<Ljava/lang/Object;>;
+innerclass innerClass java/beans/beancontext/BeanContextSupport$BCSIterator outerClass java/beans/beancontext/BeanContextSupport innerClassName BCSIterator flags 1c
+
+class name javax/accessibility/AccessibilityProvider
+header extends java/lang/Object flags 421
+
+class name javax/accessibility/Accessible
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleAction
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleAttributeSequence
+header extends java/lang/Object flags 21
+
+class name javax/accessibility/AccessibleComponent
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleEditableText
+header extends java/lang/Object implements javax/accessibility/AccessibleText flags 601
+
+class name javax/accessibility/AccessibleExtendedComponent
+header extends java/lang/Object implements javax/accessibility/AccessibleComponent flags 601
+
+class name javax/accessibility/AccessibleExtendedTable
+header extends java/lang/Object implements javax/accessibility/AccessibleTable flags 601
+
+class name javax/accessibility/AccessibleExtendedText
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleHyperlink
+header extends java/lang/Object implements javax/accessibility/AccessibleAction flags 421
+
+class name javax/accessibility/AccessibleHypertext
+header extends java/lang/Object implements javax/accessibility/AccessibleText flags 601
+
+class name javax/accessibility/AccessibleIcon
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleKeyBinding
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleRelation
+header extends javax/accessibility/AccessibleBundle flags 21
+
+class name javax/accessibility/AccessibleRelationSet
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/accessibility/AccessibleResourceBundle
+header extends java/util/ListResourceBundle flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name javax/accessibility/AccessibleRole
+header extends javax/accessibility/AccessibleBundle flags 21
+
+class name javax/accessibility/AccessibleSelection
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleState
+header extends javax/accessibility/AccessibleBundle flags 21
+
+class name javax/accessibility/AccessibleStateSet
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/accessibility/AccessibleStreamable
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleTable
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleTableModelChange
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleText
+header extends java/lang/Object flags 601
+
+class name javax/accessibility/AccessibleTextSequence
+header extends java/lang/Object flags 21
+
+class name javax/accessibility/AccessibleValue
+header extends java/lang/Object flags 601
+
+class name javax/imageio/IIOException
+header extends java/io/IOException flags 21
+
+class name javax/imageio/IIOImage
+header extends java/lang/Object flags 21
+
+class name javax/imageio/IIOParam
+header extends java/lang/Object flags 421
+
+class name javax/imageio/IIOParamController
+header extends java/lang/Object flags 601
+
+class name javax/imageio/ImageReadParam
+header extends javax/imageio/IIOParam flags 21
+
+class name javax/imageio/ImageReader
+header extends java/lang/Object flags 421
+
+class name javax/imageio/ImageTranscoder
+header extends java/lang/Object flags 601
+
+class name javax/imageio/ImageWriteParam
+header extends javax/imageio/IIOParam flags 21
+
+class name javax/imageio/ImageWriter
+header extends java/lang/Object implements javax/imageio/ImageTranscoder flags 421
+
+class name javax/imageio/event/IIOReadProgressListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/imageio/event/IIOReadUpdateListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/imageio/event/IIOReadWarningListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/imageio/event/IIOWriteProgressListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/imageio/event/IIOWriteWarningListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/imageio/metadata/IIOInvalidTreeException
+header extends javax/imageio/IIOException flags 21
+
+class name javax/imageio/metadata/IIOMetadata
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/imageio/metadata/IIOMetadataController
+header extends java/lang/Object flags 601
+
+class name javax/imageio/metadata/IIOMetadataFormat
+header extends java/lang/Object flags 601
+
+class name javax/imageio/metadata/IIOMetadataNode
+header extends java/lang/Object implements org/w3c/dom/Element,org/w3c/dom/NodeList flags 21
+
+class name javax/imageio/plugins/bmp/BMPImageWriteParam
+header extends javax/imageio/ImageWriteParam flags 21
+
+class name javax/imageio/plugins/jpeg/JPEGHuffmanTable
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/imageio/plugins/jpeg/JPEGImageReadParam
+header extends javax/imageio/ImageReadParam flags 21
+
+class name javax/imageio/plugins/jpeg/JPEGImageWriteParam
+header extends javax/imageio/ImageWriteParam flags 21
+
+class name javax/imageio/plugins/jpeg/JPEGQTable
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/imageio/plugins/tiff/TIFFDirectory
+header extends java/lang/Object implements java/lang/Cloneable flags 21
+
+class name javax/imageio/plugins/tiff/TIFFField
+header extends java/lang/Object implements java/lang/Cloneable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/imageio/plugins/tiff/TIFFImageReadParam
+header extends javax/imageio/ImageReadParam flags 31
+
+class name javax/imageio/plugins/tiff/TIFFTag
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/imageio/plugins/tiff/TIFFTagSet
+header extends java/lang/Object flags 21
+
+class name javax/imageio/spi/IIOServiceProvider
+header extends java/lang/Object implements javax/imageio/spi/RegisterableService flags 421
+
+class name javax/imageio/spi/ImageInputStreamSpi
+header extends javax/imageio/spi/IIOServiceProvider flags 421
+
+class name javax/imageio/spi/ImageOutputStreamSpi
+header extends javax/imageio/spi/IIOServiceProvider flags 421
+
+class name javax/imageio/spi/ImageReaderSpi
+header extends javax/imageio/spi/ImageReaderWriterSpi flags 421
+
+class name javax/imageio/spi/ImageReaderWriterSpi
+header extends javax/imageio/spi/IIOServiceProvider flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/imageio/spi/ImageTranscoderSpi
+header extends javax/imageio/spi/IIOServiceProvider flags 421
+
+class name javax/imageio/spi/ImageWriterSpi
+header extends javax/imageio/spi/ImageReaderWriterSpi flags 421
+
+class name javax/imageio/spi/RegisterableService
+header extends java/lang/Object flags 601
+
+class name javax/imageio/spi/ServiceRegistry
+header extends java/lang/Object nestMembers javax/imageio/spi/ServiceRegistry$Filter flags 21
+innerclass innerClass javax/imageio/spi/ServiceRegistry$Filter outerClass javax/imageio/spi/ServiceRegistry innerClassName Filter flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/imageio/spi/ServiceRegistry$Filter
+header extends java/lang/Object nestHost javax/imageio/spi/ServiceRegistry flags 601
+innerclass innerClass javax/imageio/spi/ServiceRegistry$Filter outerClass javax/imageio/spi/ServiceRegistry innerClassName Filter flags 609
+
+class name javax/imageio/stream/FileCacheImageOutputStream
+header extends javax/imageio/stream/ImageOutputStreamImpl flags 21
+
+class name javax/imageio/stream/FileImageInputStream
+header extends javax/imageio/stream/ImageInputStreamImpl flags 21
+
+class name javax/imageio/stream/FileImageOutputStream
+header extends javax/imageio/stream/ImageOutputStreamImpl flags 21
+
+class name javax/imageio/stream/IIOByteBuffer
+header extends java/lang/Object flags 21
+
+class name javax/imageio/stream/ImageInputStream
+header extends java/lang/Object implements java/io/DataInput,java/io/Closeable flags 601
+
+class name javax/imageio/stream/ImageInputStreamImpl
+header extends java/lang/Object implements javax/imageio/stream/ImageInputStream flags 421
+
+class name javax/imageio/stream/ImageOutputStream
+header extends java/lang/Object implements javax/imageio/stream/ImageInputStream,java/io/DataOutput flags 601
+
+class name javax/imageio/stream/ImageOutputStreamImpl
+header extends javax/imageio/stream/ImageInputStreamImpl implements javax/imageio/stream/ImageOutputStream flags 421
+
+class name javax/imageio/stream/MemoryCacheImageOutputStream
+header extends javax/imageio/stream/ImageOutputStreamImpl flags 21
+
+class name javax/print/AttributeException
+header extends java/lang/Object flags 601
+
+class name javax/print/CancelablePrintJob
+header extends java/lang/Object implements javax/print/DocPrintJob flags 601
+
+class name javax/print/Doc
+header extends java/lang/Object flags 601
+
+class name javax/print/DocFlavor
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable nestMembers javax/print/DocFlavor$SERVICE_FORMATTED,javax/print/DocFlavor$READER,javax/print/DocFlavor$STRING,javax/print/DocFlavor$CHAR_ARRAY,javax/print/DocFlavor$URL,javax/print/DocFlavor$INPUT_STREAM,javax/print/DocFlavor$BYTE_ARRAY flags 21
+innerclass innerClass javax/print/DocFlavor$SERVICE_FORMATTED outerClass javax/print/DocFlavor innerClassName SERVICE_FORMATTED flags 9
+innerclass innerClass javax/print/DocFlavor$READER outerClass javax/print/DocFlavor innerClassName READER flags 9
+innerclass innerClass javax/print/DocFlavor$STRING outerClass javax/print/DocFlavor innerClassName STRING flags 9
+innerclass innerClass javax/print/DocFlavor$CHAR_ARRAY outerClass javax/print/DocFlavor innerClassName CHAR_ARRAY flags 9
+innerclass innerClass javax/print/DocFlavor$URL outerClass javax/print/DocFlavor innerClassName URL flags 9
+innerclass innerClass javax/print/DocFlavor$INPUT_STREAM outerClass javax/print/DocFlavor innerClassName INPUT_STREAM flags 9
+innerclass innerClass javax/print/DocFlavor$BYTE_ARRAY outerClass javax/print/DocFlavor innerClassName BYTE_ARRAY flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/print/DocFlavor$BYTE_ARRAY
+header extends javax/print/DocFlavor nestHost javax/print/DocFlavor flags 21
+innerclass innerClass javax/print/DocFlavor$BYTE_ARRAY outerClass javax/print/DocFlavor innerClassName BYTE_ARRAY flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/print/DocFlavor$CHAR_ARRAY
+header extends javax/print/DocFlavor nestHost javax/print/DocFlavor flags 21
+innerclass innerClass javax/print/DocFlavor$CHAR_ARRAY outerClass javax/print/DocFlavor innerClassName CHAR_ARRAY flags 9
+
+class name javax/print/DocFlavor$INPUT_STREAM
+header extends javax/print/DocFlavor nestHost javax/print/DocFlavor flags 21
+innerclass innerClass javax/print/DocFlavor$INPUT_STREAM outerClass javax/print/DocFlavor innerClassName INPUT_STREAM flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/print/DocFlavor$READER
+header extends javax/print/DocFlavor nestHost javax/print/DocFlavor flags 21
+innerclass innerClass javax/print/DocFlavor$READER outerClass javax/print/DocFlavor innerClassName READER flags 9
+
+class name javax/print/DocFlavor$SERVICE_FORMATTED
+header extends javax/print/DocFlavor nestHost javax/print/DocFlavor flags 21
+innerclass innerClass javax/print/DocFlavor$SERVICE_FORMATTED outerClass javax/print/DocFlavor innerClassName SERVICE_FORMATTED flags 9
+
+class name javax/print/DocFlavor$STRING
+header extends javax/print/DocFlavor nestHost javax/print/DocFlavor flags 21
+innerclass innerClass javax/print/DocFlavor$STRING outerClass javax/print/DocFlavor innerClassName STRING flags 9
+
+class name javax/print/DocFlavor$URL
+header extends javax/print/DocFlavor nestHost javax/print/DocFlavor flags 21
+innerclass innerClass javax/print/DocFlavor$URL outerClass javax/print/DocFlavor innerClassName URL flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/print/DocPrintJob
+header extends java/lang/Object flags 601
+
+class name javax/print/FlavorException
+header extends java/lang/Object flags 601
+
+class name javax/print/MultiDoc
+header extends java/lang/Object flags 601
+
+class name javax/print/MultiDocPrintJob
+header extends java/lang/Object implements javax/print/DocPrintJob flags 601
+
+class name javax/print/MultiDocPrintService
+header extends java/lang/Object implements javax/print/PrintService flags 601
+
+class name javax/print/PrintException
+header extends java/lang/Exception flags 21
+
+class name javax/print/PrintService
+header extends java/lang/Object flags 601
+
+class name javax/print/ServiceUI
+header extends java/lang/Object flags 21
+
+class name javax/print/ServiceUIFactory
+header extends java/lang/Object flags 421
+
+class name javax/print/SimpleDoc
+header extends java/lang/Object implements javax/print/Doc flags 31
+
+class name javax/print/StreamPrintService
+header extends java/lang/Object implements javax/print/PrintService flags 421
+
+class name javax/print/URIException
+header extends java/lang/Object flags 601
+
+class name javax/print/attribute/Attribute
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name javax/print/attribute/AttributeSet
+header extends java/lang/Object flags 601
+
+class name javax/print/attribute/DateTimeSyntax
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/print/attribute/DocAttribute
+header extends java/lang/Object implements javax/print/attribute/Attribute flags 601
+
+class name javax/print/attribute/DocAttributeSet
+header extends java/lang/Object implements javax/print/attribute/AttributeSet flags 601
+
+class name javax/print/attribute/EnumSyntax
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/print/attribute/HashAttributeSet
+header extends java/lang/Object implements javax/print/attribute/AttributeSet,java/io/Serializable flags 21
+
+class name javax/print/attribute/HashDocAttributeSet
+header extends javax/print/attribute/HashAttributeSet implements javax/print/attribute/DocAttributeSet,java/io/Serializable flags 21
+
+class name javax/print/attribute/HashPrintJobAttributeSet
+header extends javax/print/attribute/HashAttributeSet implements javax/print/attribute/PrintJobAttributeSet,java/io/Serializable flags 21
+
+class name javax/print/attribute/HashPrintRequestAttributeSet
+header extends javax/print/attribute/HashAttributeSet implements javax/print/attribute/PrintRequestAttributeSet,java/io/Serializable flags 21
+
+class name javax/print/attribute/HashPrintServiceAttributeSet
+header extends javax/print/attribute/HashAttributeSet implements javax/print/attribute/PrintServiceAttributeSet,java/io/Serializable flags 21
+
+class name javax/print/attribute/IntegerSyntax
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/print/attribute/PrintJobAttribute
+header extends java/lang/Object implements javax/print/attribute/Attribute flags 601
+
+class name javax/print/attribute/PrintJobAttributeSet
+header extends java/lang/Object implements javax/print/attribute/AttributeSet flags 601
+
+class name javax/print/attribute/PrintRequestAttribute
+header extends java/lang/Object implements javax/print/attribute/Attribute flags 601
+
+class name javax/print/attribute/PrintRequestAttributeSet
+header extends java/lang/Object implements javax/print/attribute/AttributeSet flags 601
+
+class name javax/print/attribute/PrintServiceAttribute
+header extends java/lang/Object implements javax/print/attribute/Attribute flags 601
+
+class name javax/print/attribute/PrintServiceAttributeSet
+header extends java/lang/Object implements javax/print/attribute/AttributeSet flags 601
+
+class name javax/print/attribute/ResolutionSyntax
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+
+class name javax/print/attribute/SetOfIntegerSyntax
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+
+class name javax/print/attribute/Size2DSyntax
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+
+class name javax/print/attribute/SupportedValuesAttribute
+header extends java/lang/Object implements javax/print/attribute/Attribute flags 601
+
+class name javax/print/attribute/TextSyntax
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+
+class name javax/print/attribute/URISyntax
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+
+class name javax/print/attribute/UnmodifiableSetException
+header extends java/lang/RuntimeException flags 21
+
+class name javax/print/attribute/standard/Chromaticity
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/ColorSupported
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/Compression
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/DocAttribute flags 21
+
+class name javax/print/attribute/standard/Copies
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/CopiesSupported
+header extends javax/print/attribute/SetOfIntegerSyntax implements javax/print/attribute/SupportedValuesAttribute flags 31
+
+class name javax/print/attribute/standard/DateTimeAtCompleted
+header extends javax/print/attribute/DateTimeSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/DateTimeAtCreation
+header extends javax/print/attribute/DateTimeSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/DateTimeAtProcessing
+header extends javax/print/attribute/DateTimeSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/Destination
+header extends javax/print/attribute/URISyntax implements javax/print/attribute/PrintJobAttribute,javax/print/attribute/PrintRequestAttribute flags 31
+
+class name javax/print/attribute/standard/DialogOwner
+header extends java/lang/Object implements javax/print/attribute/PrintRequestAttribute flags 31
+method name <init> descriptor ()V flags 1
+method name <init> descriptor (Ljava/awt/Window;)V flags 1
+method name getOwner descriptor ()Ljava/awt/Window; flags 1
+method name getCategory descriptor ()Ljava/lang/Class; flags 11 signature ()Ljava/lang/Class<+Ljavax/print/attribute/Attribute;>;
+method name getName descriptor ()Ljava/lang/String; flags 11
+
+class name javax/print/attribute/standard/DialogTypeSelection
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintRequestAttribute flags 31
+
+class name javax/print/attribute/standard/DocumentName
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/DocAttribute flags 31
+
+class name javax/print/attribute/standard/Fidelity
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintJobAttribute,javax/print/attribute/PrintRequestAttribute flags 31
+
+class name javax/print/attribute/standard/Finishings
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 21
+
+class name javax/print/attribute/standard/JobHoldUntil
+header extends javax/print/attribute/DateTimeSyntax implements javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobImpressions
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobImpressionsCompleted
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobImpressionsSupported
+header extends javax/print/attribute/SetOfIntegerSyntax implements javax/print/attribute/SupportedValuesAttribute flags 31
+
+class name javax/print/attribute/standard/JobKOctets
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobKOctetsProcessed
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobKOctetsSupported
+header extends javax/print/attribute/SetOfIntegerSyntax implements javax/print/attribute/SupportedValuesAttribute flags 31
+
+class name javax/print/attribute/standard/JobMediaSheets
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 21
+
+class name javax/print/attribute/standard/JobMediaSheetsCompleted
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobMediaSheetsSupported
+header extends javax/print/attribute/SetOfIntegerSyntax implements javax/print/attribute/SupportedValuesAttribute flags 31
+
+class name javax/print/attribute/standard/JobMessageFromOperator
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobName
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobOriginatingUserName
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobPriority
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/JobPrioritySupported
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/SupportedValuesAttribute flags 31
+
+class name javax/print/attribute/standard/JobSheets
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 21
+
+class name javax/print/attribute/standard/JobState
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintJobAttribute flags 21
+
+class name javax/print/attribute/standard/JobStateReason
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/Attribute flags 21
+
+class name javax/print/attribute/standard/JobStateReasons
+header extends java/util/HashSet implements javax/print/attribute/PrintJobAttribute flags 31 signature Ljava/util/HashSet<Ljavax/print/attribute/standard/JobStateReason;>;Ljavax/print/attribute/PrintJobAttribute;
+
+class name javax/print/attribute/standard/Media
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 421
+
+class name javax/print/attribute/standard/MediaName
+header extends javax/print/attribute/standard/Media implements javax/print/attribute/Attribute flags 21
+
+class name javax/print/attribute/standard/MediaPrintableArea
+header extends java/lang/Object implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/print/attribute/standard/MediaSize
+header extends javax/print/attribute/Size2DSyntax implements javax/print/attribute/Attribute nestMembers javax/print/attribute/standard/MediaSize$Other,javax/print/attribute/standard/MediaSize$Engineering,javax/print/attribute/standard/MediaSize$NA,javax/print/attribute/standard/MediaSize$JIS,javax/print/attribute/standard/MediaSize$ISO flags 21
+innerclass innerClass javax/print/attribute/standard/MediaSize$Other outerClass javax/print/attribute/standard/MediaSize innerClassName Other flags 19
+innerclass innerClass javax/print/attribute/standard/MediaSize$Engineering outerClass javax/print/attribute/standard/MediaSize innerClassName Engineering flags 19
+innerclass innerClass javax/print/attribute/standard/MediaSize$NA outerClass javax/print/attribute/standard/MediaSize innerClassName NA flags 19
+innerclass innerClass javax/print/attribute/standard/MediaSize$JIS outerClass javax/print/attribute/standard/MediaSize innerClassName JIS flags 19
+innerclass innerClass javax/print/attribute/standard/MediaSize$ISO outerClass javax/print/attribute/standard/MediaSize innerClassName ISO flags 19
+
+class name javax/print/attribute/standard/MediaSize$Engineering
+header extends java/lang/Object nestHost javax/print/attribute/standard/MediaSize flags 31
+innerclass innerClass javax/print/attribute/standard/MediaSize$Engineering outerClass javax/print/attribute/standard/MediaSize innerClassName Engineering flags 19
+
+class name javax/print/attribute/standard/MediaSize$ISO
+header extends java/lang/Object nestHost javax/print/attribute/standard/MediaSize flags 31
+innerclass innerClass javax/print/attribute/standard/MediaSize$ISO outerClass javax/print/attribute/standard/MediaSize innerClassName ISO flags 19
+
+class name javax/print/attribute/standard/MediaSize$JIS
+header extends java/lang/Object nestHost javax/print/attribute/standard/MediaSize flags 31
+innerclass innerClass javax/print/attribute/standard/MediaSize$JIS outerClass javax/print/attribute/standard/MediaSize innerClassName JIS flags 19
+
+class name javax/print/attribute/standard/MediaSize$NA
+header extends java/lang/Object nestHost javax/print/attribute/standard/MediaSize flags 31
+innerclass innerClass javax/print/attribute/standard/MediaSize$NA outerClass javax/print/attribute/standard/MediaSize innerClassName NA flags 19
+
+class name javax/print/attribute/standard/MediaSize$Other
+header extends java/lang/Object nestHost javax/print/attribute/standard/MediaSize flags 31
+innerclass innerClass javax/print/attribute/standard/MediaSize$Other outerClass javax/print/attribute/standard/MediaSize innerClassName Other flags 19
+
+class name javax/print/attribute/standard/MediaSizeName
+header extends javax/print/attribute/standard/Media flags 21
+
+class name javax/print/attribute/standard/MediaTray
+header extends javax/print/attribute/standard/Media implements javax/print/attribute/Attribute flags 21
+
+class name javax/print/attribute/standard/MultipleDocumentHandling
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 21
+
+class name javax/print/attribute/standard/NumberOfDocuments
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/NumberOfInterveningJobs
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/NumberUp
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/NumberUpSupported
+header extends javax/print/attribute/SetOfIntegerSyntax implements javax/print/attribute/SupportedValuesAttribute flags 31
+
+class name javax/print/attribute/standard/OrientationRequested
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/OutputDeviceAssigned
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/PDLOverrideSupported
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintServiceAttribute flags 21
+
+class name javax/print/attribute/standard/PageRanges
+header extends javax/print/attribute/SetOfIntegerSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/PagesPerMinute
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PagesPerMinuteColor
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PresentationDirection
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintJobAttribute,javax/print/attribute/PrintRequestAttribute flags 31
+
+class name javax/print/attribute/standard/PrintQuality
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 21
+
+class name javax/print/attribute/standard/PrinterInfo
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterIsAcceptingJobs
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterLocation
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterMakeAndModel
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterMessageFromOperator
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterMoreInfo
+header extends javax/print/attribute/URISyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterMoreInfoManufacturer
+header extends javax/print/attribute/URISyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterName
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterResolution
+header extends javax/print/attribute/ResolutionSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterState
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/PrinterStateReason
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/Attribute flags 21
+
+class name javax/print/attribute/standard/PrinterURI
+header extends javax/print/attribute/URISyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/QueuedJobCount
+header extends javax/print/attribute/IntegerSyntax implements javax/print/attribute/PrintServiceAttribute flags 31
+
+class name javax/print/attribute/standard/ReferenceUriSchemesSupported
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/Attribute flags 21
+
+class name javax/print/attribute/standard/RequestingUserName
+header extends javax/print/attribute/TextSyntax implements javax/print/attribute/PrintRequestAttribute flags 31
+
+class name javax/print/attribute/standard/Severity
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/Attribute flags 31
+
+class name javax/print/attribute/standard/SheetCollate
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/attribute/standard/Sides
+header extends javax/print/attribute/EnumSyntax implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31
+
+class name javax/print/event/PrintEvent
+header extends java/util/EventObject flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/print/event/PrintJobAdapter
+header extends java/lang/Object implements javax/print/event/PrintJobListener flags 421
+
+class name javax/print/event/PrintJobAttributeEvent
+header extends javax/print/event/PrintEvent flags 21
+
+class name javax/print/event/PrintJobAttributeListener
+header extends java/lang/Object flags 601
+
+class name javax/print/event/PrintJobEvent
+header extends javax/print/event/PrintEvent flags 21
+
+class name javax/print/event/PrintJobListener
+header extends java/lang/Object flags 601
+
+class name javax/print/event/PrintServiceAttributeEvent
+header extends javax/print/event/PrintEvent flags 21
+
+class name javax/print/event/PrintServiceAttributeListener
+header extends java/lang/Object flags 601
+
+class name javax/sound/midi/ControllerEventListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/sound/midi/Instrument
+header extends javax/sound/midi/SoundbankResource flags 421
+
+class name javax/sound/midi/InvalidMidiDataException
+header extends java/lang/Exception flags 21
+
+class name javax/sound/midi/MetaEventListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/sound/midi/MetaMessage
+header extends javax/sound/midi/MidiMessage flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/midi/MidiChannel
+header extends java/lang/Object flags 601
+
+class name javax/sound/midi/MidiDevice
+header extends java/lang/Object implements java/lang/AutoCloseable nestMembers javax/sound/midi/MidiDevice$Info flags 601
+innerclass innerClass javax/sound/midi/MidiDevice$Info outerClass javax/sound/midi/MidiDevice innerClassName Info flags 9
+
+class name javax/sound/midi/MidiDevice$Info
+header extends java/lang/Object nestHost javax/sound/midi/MidiDevice flags 21
+innerclass innerClass javax/sound/midi/MidiDevice$Info outerClass javax/sound/midi/MidiDevice innerClassName Info flags 9
+
+class name javax/sound/midi/MidiDeviceReceiver
+header extends java/lang/Object implements javax/sound/midi/Receiver flags 601
+
+class name javax/sound/midi/MidiDeviceTransmitter
+header extends java/lang/Object implements javax/sound/midi/Transmitter flags 601
+
+class name javax/sound/midi/MidiEvent
+header extends java/lang/Object flags 21
+
+class name javax/sound/midi/MidiFileFormat
+header extends java/lang/Object flags 21
+
+class name javax/sound/midi/MidiMessage
+header extends java/lang/Object implements java/lang/Cloneable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/midi/MidiSystem
+header extends java/lang/Object flags 21
+innerclass innerClass javax/sound/midi/MidiDevice$Info outerClass javax/sound/midi/MidiDevice innerClassName Info flags 9
+
+class name javax/sound/midi/MidiUnavailableException
+header extends java/lang/Exception flags 21
+
+class name javax/sound/midi/Patch
+header extends java/lang/Object flags 21
+
+class name javax/sound/midi/Receiver
+header extends java/lang/Object implements java/lang/AutoCloseable flags 601
+
+class name javax/sound/midi/Sequence
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/midi/Sequencer
+header extends java/lang/Object implements javax/sound/midi/MidiDevice nestMembers javax/sound/midi/Sequencer$SyncMode flags 601
+innerclass innerClass javax/sound/midi/Sequencer$SyncMode outerClass javax/sound/midi/Sequencer innerClassName SyncMode flags 9
+
+class name javax/sound/midi/Sequencer$SyncMode
+header extends java/lang/Object nestHost javax/sound/midi/Sequencer flags 21
+innerclass innerClass javax/sound/midi/Sequencer$SyncMode outerClass javax/sound/midi/Sequencer innerClassName SyncMode flags 9
+
+class name javax/sound/midi/ShortMessage
+header extends javax/sound/midi/MidiMessage flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/midi/Soundbank
+header extends java/lang/Object flags 601
+
+class name javax/sound/midi/SoundbankResource
+header extends java/lang/Object flags 421
+
+class name javax/sound/midi/Synthesizer
+header extends java/lang/Object implements javax/sound/midi/MidiDevice flags 601
+
+class name javax/sound/midi/SysexMessage
+header extends javax/sound/midi/MidiMessage flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/midi/Transmitter
+header extends java/lang/Object implements java/lang/AutoCloseable flags 601
+
+class name javax/sound/midi/VoiceStatus
+header extends java/lang/Object flags 21
+
+class name javax/sound/midi/spi/MidiDeviceProvider
+header extends java/lang/Object flags 421
+innerclass innerClass javax/sound/midi/MidiDevice$Info outerClass javax/sound/midi/MidiDevice innerClassName Info flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/midi/spi/MidiFileReader
+header extends java/lang/Object flags 421
+
+class name javax/sound/midi/spi/MidiFileWriter
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/midi/spi/SoundbankReader
+header extends java/lang/Object flags 421
+
+class name javax/sound/sampled/AudioFileFormat
+header extends java/lang/Object nestMembers javax/sound/sampled/AudioFileFormat$Type flags 21
+innerclass innerClass javax/sound/sampled/AudioFileFormat$Type outerClass javax/sound/sampled/AudioFileFormat innerClassName Type flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/AudioFileFormat$Type
+header extends java/lang/Object nestHost javax/sound/sampled/AudioFileFormat flags 21
+innerclass innerClass javax/sound/sampled/AudioFileFormat$Type outerClass javax/sound/sampled/AudioFileFormat innerClassName Type flags 9
+
+class name javax/sound/sampled/AudioFormat
+header extends java/lang/Object nestMembers javax/sound/sampled/AudioFormat$Encoding flags 21
+innerclass innerClass javax/sound/sampled/AudioFormat$Encoding outerClass javax/sound/sampled/AudioFormat innerClassName Encoding flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/AudioFormat$Encoding
+header extends java/lang/Object nestHost javax/sound/sampled/AudioFormat flags 21
+innerclass innerClass javax/sound/sampled/AudioFormat$Encoding outerClass javax/sound/sampled/AudioFormat innerClassName Encoding flags 9
+
+class name javax/sound/sampled/AudioPermission
+header extends java/security/BasicPermission flags 21
+
+class name javax/sound/sampled/AudioSystem
+header extends java/lang/Object flags 21
+innerclass innerClass javax/sound/sampled/Mixer$Info outerClass javax/sound/sampled/Mixer innerClassName Info flags 9
+innerclass innerClass javax/sound/sampled/Line$Info outerClass javax/sound/sampled/Line innerClassName Info flags 9
+innerclass innerClass javax/sound/sampled/DataLine$Info outerClass javax/sound/sampled/DataLine innerClassName Info flags 9
+innerclass innerClass javax/sound/sampled/AudioFormat$Encoding outerClass javax/sound/sampled/AudioFormat innerClassName Encoding flags 9
+innerclass innerClass javax/sound/sampled/AudioFileFormat$Type outerClass javax/sound/sampled/AudioFileFormat innerClassName Type flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/BooleanControl
+header extends javax/sound/sampled/Control nestMembers javax/sound/sampled/BooleanControl$Type flags 421
+innerclass innerClass javax/sound/sampled/BooleanControl$Type outerClass javax/sound/sampled/BooleanControl innerClassName Type flags 9
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/BooleanControl$Type
+header extends javax/sound/sampled/Control$Type nestHost javax/sound/sampled/BooleanControl flags 21
+innerclass innerClass javax/sound/sampled/BooleanControl$Type outerClass javax/sound/sampled/BooleanControl innerClassName Type flags 9
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+
+class name javax/sound/sampled/Clip
+header extends java/lang/Object implements javax/sound/sampled/DataLine flags 601
+
+class name javax/sound/sampled/CompoundControl
+header extends javax/sound/sampled/Control nestMembers javax/sound/sampled/CompoundControl$Type flags 421
+innerclass innerClass javax/sound/sampled/CompoundControl$Type outerClass javax/sound/sampled/CompoundControl innerClassName Type flags 9
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/CompoundControl$Type
+header extends javax/sound/sampled/Control$Type nestHost javax/sound/sampled/CompoundControl flags 21
+innerclass innerClass javax/sound/sampled/CompoundControl$Type outerClass javax/sound/sampled/CompoundControl innerClassName Type flags 9
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+
+class name javax/sound/sampled/Control
+header extends java/lang/Object nestMembers javax/sound/sampled/Control$Type flags 421
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/Control$Type
+header extends java/lang/Object nestHost javax/sound/sampled/Control flags 21
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+
+class name javax/sound/sampled/DataLine
+header extends java/lang/Object implements javax/sound/sampled/Line nestMembers javax/sound/sampled/DataLine$Info flags 601
+innerclass innerClass javax/sound/sampled/DataLine$Info outerClass javax/sound/sampled/DataLine innerClassName Info flags 9
+
+class name javax/sound/sampled/DataLine$Info
+header extends javax/sound/sampled/Line$Info nestHost javax/sound/sampled/DataLine flags 21
+innerclass innerClass javax/sound/sampled/DataLine$Info outerClass javax/sound/sampled/DataLine innerClassName Info flags 9
+innerclass innerClass javax/sound/sampled/Line$Info outerClass javax/sound/sampled/Line innerClassName Info flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/EnumControl
+header extends javax/sound/sampled/Control nestMembers javax/sound/sampled/EnumControl$Type flags 421
+innerclass innerClass javax/sound/sampled/EnumControl$Type outerClass javax/sound/sampled/EnumControl innerClassName Type flags 9
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/EnumControl$Type
+header extends javax/sound/sampled/Control$Type nestHost javax/sound/sampled/EnumControl flags 21
+innerclass innerClass javax/sound/sampled/EnumControl$Type outerClass javax/sound/sampled/EnumControl innerClassName Type flags 9
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+
+class name javax/sound/sampled/FloatControl
+header extends javax/sound/sampled/Control nestMembers javax/sound/sampled/FloatControl$Type flags 421
+innerclass innerClass javax/sound/sampled/FloatControl$Type outerClass javax/sound/sampled/FloatControl innerClassName Type flags 9
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/FloatControl$Type
+header extends javax/sound/sampled/Control$Type nestHost javax/sound/sampled/FloatControl flags 21
+innerclass innerClass javax/sound/sampled/FloatControl$Type outerClass javax/sound/sampled/FloatControl innerClassName Type flags 9
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+
+class name javax/sound/sampled/Line
+header extends java/lang/Object implements java/lang/AutoCloseable nestMembers javax/sound/sampled/Line$Info flags 601
+innerclass innerClass javax/sound/sampled/Line$Info outerClass javax/sound/sampled/Line innerClassName Info flags 9
+innerclass innerClass javax/sound/sampled/Control$Type outerClass javax/sound/sampled/Control innerClassName Type flags 9
+
+class name javax/sound/sampled/Line$Info
+header extends java/lang/Object nestHost javax/sound/sampled/Line flags 21
+innerclass innerClass javax/sound/sampled/Line$Info outerClass javax/sound/sampled/Line innerClassName Info flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/LineEvent
+header extends java/util/EventObject nestMembers javax/sound/sampled/LineEvent$Type flags 21
+innerclass innerClass javax/sound/sampled/LineEvent$Type outerClass javax/sound/sampled/LineEvent innerClassName Type flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/LineEvent$Type
+header extends java/lang/Object nestHost javax/sound/sampled/LineEvent flags 21
+innerclass innerClass javax/sound/sampled/LineEvent$Type outerClass javax/sound/sampled/LineEvent innerClassName Type flags 9
+
+class name javax/sound/sampled/LineListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/sound/sampled/LineUnavailableException
+header extends java/lang/Exception flags 21
+
+class name javax/sound/sampled/Mixer
+header extends java/lang/Object implements javax/sound/sampled/Line nestMembers javax/sound/sampled/Mixer$Info flags 601
+innerclass innerClass javax/sound/sampled/Mixer$Info outerClass javax/sound/sampled/Mixer innerClassName Info flags 9
+innerclass innerClass javax/sound/sampled/Line$Info outerClass javax/sound/sampled/Line innerClassName Info flags 9
+
+class name javax/sound/sampled/Mixer$Info
+header extends java/lang/Object nestHost javax/sound/sampled/Mixer flags 21
+innerclass innerClass javax/sound/sampled/Mixer$Info outerClass javax/sound/sampled/Mixer innerClassName Info flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/Port
+header extends java/lang/Object implements javax/sound/sampled/Line nestMembers javax/sound/sampled/Port$Info flags 601
+innerclass innerClass javax/sound/sampled/Port$Info outerClass javax/sound/sampled/Port innerClassName Info flags 9
+
+class name javax/sound/sampled/Port$Info
+header extends javax/sound/sampled/Line$Info nestHost javax/sound/sampled/Port flags 21
+innerclass innerClass javax/sound/sampled/Port$Info outerClass javax/sound/sampled/Port innerClassName Info flags 9
+innerclass innerClass javax/sound/sampled/Line$Info outerClass javax/sound/sampled/Line innerClassName Info flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/ReverbType
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/SourceDataLine
+header extends java/lang/Object implements javax/sound/sampled/DataLine flags 601
+
+class name javax/sound/sampled/TargetDataLine
+header extends java/lang/Object implements javax/sound/sampled/DataLine flags 601
+
+class name javax/sound/sampled/UnsupportedAudioFileException
+header extends java/lang/Exception flags 21
+
+class name javax/sound/sampled/spi/AudioFileReader
+header extends java/lang/Object flags 421
+
+class name javax/sound/sampled/spi/AudioFileWriter
+header extends java/lang/Object flags 421
+innerclass innerClass javax/sound/sampled/AudioFileFormat$Type outerClass javax/sound/sampled/AudioFileFormat innerClassName Type flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/spi/FormatConversionProvider
+header extends java/lang/Object flags 421
+innerclass innerClass javax/sound/sampled/AudioFormat$Encoding outerClass javax/sound/sampled/AudioFormat innerClassName Encoding flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sound/sampled/spi/MixerProvider
+header extends java/lang/Object flags 421
+innerclass innerClass javax/sound/sampled/Mixer$Info outerClass javax/sound/sampled/Mixer innerClassName Info flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/AbstractAction
+header extends java/lang/Object implements javax/swing/Action,java/lang/Cloneable,java/io/Serializable flags 421
+
+class name javax/swing/AbstractButton
+header extends javax/swing/JComponent implements java/awt/ItemSelectable,javax/swing/SwingConstants nestMembers javax/swing/AbstractButton$AccessibleAbstractButton,javax/swing/AbstractButton$ButtonChangeListener flags 421 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI")
+innerclass innerClass javax/swing/AbstractButton$AccessibleAbstractButton outerClass javax/swing/AbstractButton innerClassName AccessibleAbstractButton flags 404
+innerclass innerClass javax/swing/AbstractButton$ButtonChangeListener outerClass javax/swing/AbstractButton innerClassName ButtonChangeListener flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/AbstractButton$AccessibleAbstractButton
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleAction,javax/accessibility/AccessibleValue,javax/accessibility/AccessibleText,javax/accessibility/AccessibleExtendedComponent nestHost javax/swing/AbstractButton flags 421
+innerclass innerClass javax/swing/AbstractButton$AccessibleAbstractButton outerClass javax/swing/AbstractButton innerClassName AccessibleAbstractButton flags 404
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/AbstractButton$ButtonChangeListener
+header extends java/lang/Object implements javax/swing/event/ChangeListener,java/io/Serializable nestHost javax/swing/AbstractButton flags 21
+innerclass innerClass javax/swing/AbstractButton$ButtonChangeListener outerClass javax/swing/AbstractButton innerClassName ButtonChangeListener flags 4
+
+class name javax/swing/AbstractCellEditor
+header extends java/lang/Object implements javax/swing/CellEditor,java/io/Serializable flags 421
+
+class name javax/swing/AbstractListModel
+header extends java/lang/Object implements javax/swing/ListModel,java/io/Serializable flags 421 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/swing/ListModel<TE;>;Ljava/io/Serializable;
+
+class name javax/swing/AbstractSpinnerModel
+header extends java/lang/Object implements javax/swing/SpinnerModel,java/io/Serializable flags 421
+
+class name javax/swing/Action
+header extends java/lang/Object implements java/awt/event/ActionListener flags 601
+
+class name javax/swing/ActionMap
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name javax/swing/BorderFactory
+header extends java/lang/Object flags 21
+
+class name javax/swing/BoundedRangeModel
+header extends java/lang/Object flags 601
+
+class name javax/swing/Box
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/Box$AccessibleBox,javax/swing/Box$Filler,javax/swing/Box$Filler$AccessibleBoxFiller flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="accessibleContext")
+innerclass innerClass javax/swing/Box$AccessibleBox outerClass javax/swing/Box innerClassName AccessibleBox flags 4
+innerclass innerClass javax/swing/Box$Filler outerClass javax/swing/Box innerClassName Filler flags 9
+innerclass innerClass javax/swing/Box$Filler$AccessibleBoxFiller outerClass javax/swing/Box$Filler innerClassName AccessibleBoxFiller flags 4
+
+class name javax/swing/Box$AccessibleBox
+header extends java/awt/Container$AccessibleAWTContainer nestHost javax/swing/Box flags 21
+innerclass innerClass javax/swing/Box$AccessibleBox outerClass javax/swing/Box innerClassName AccessibleBox flags 4
+innerclass innerClass java/awt/Container$AccessibleAWTContainer outerClass java/awt/Container innerClassName AccessibleAWTContainer flags 4
+
+class name javax/swing/Box$Filler
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestHost javax/swing/Box flags 21
+innerclass innerClass javax/swing/Box$Filler outerClass javax/swing/Box innerClassName Filler flags 9
+innerclass innerClass javax/swing/Box$Filler$AccessibleBoxFiller outerClass javax/swing/Box$Filler innerClassName AccessibleBoxFiller flags 4
+
+class name javax/swing/Box$Filler$AccessibleBoxFiller
+header extends java/awt/Component$AccessibleAWTComponent nestHost javax/swing/Box flags 21
+innerclass innerClass javax/swing/Box$Filler outerClass javax/swing/Box innerClassName Filler flags 9
+innerclass innerClass javax/swing/Box$Filler$AccessibleBoxFiller outerClass javax/swing/Box$Filler innerClassName AccessibleBoxFiller flags 4
+innerclass innerClass java/awt/Component$AccessibleAWTComponent outerClass java/awt/Component innerClassName AccessibleAWTComponent flags 404
+
+class name javax/swing/BoxLayout
+header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/ButtonGroup
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name javax/swing/ButtonModel
+header extends java/lang/Object implements java/awt/ItemSelectable flags 601
+
+class name javax/swing/CellEditor
+header extends java/lang/Object flags 601
+
+class name javax/swing/CellRendererPane
+header extends java/awt/Container implements javax/accessibility/Accessible nestMembers javax/swing/CellRendererPane$AccessibleCellRendererPane flags 21
+innerclass innerClass javax/swing/CellRendererPane$AccessibleCellRendererPane outerClass javax/swing/CellRendererPane innerClassName AccessibleCellRendererPane flags 4
+
+class name javax/swing/CellRendererPane$AccessibleCellRendererPane
+header extends java/awt/Container$AccessibleAWTContainer nestHost javax/swing/CellRendererPane flags 21
+innerclass innerClass javax/swing/CellRendererPane$AccessibleCellRendererPane outerClass javax/swing/CellRendererPane innerClassName AccessibleCellRendererPane flags 4
+innerclass innerClass java/awt/Container$AccessibleAWTContainer outerClass java/awt/Container innerClassName AccessibleAWTContainer flags 4
+
+class name javax/swing/ComboBoxEditor
+header extends java/lang/Object flags 601
+
+class name javax/swing/ComboBoxModel
+header extends java/lang/Object implements javax/swing/ListModel flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/swing/ListModel<TE;>;
+
+class name javax/swing/ComponentInputMap
+header extends javax/swing/InputMap flags 21
+
+class name javax/swing/DebugGraphics
+header extends java/awt/Graphics flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/DefaultBoundedRangeModel
+header extends java/lang/Object implements javax/swing/BoundedRangeModel,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/DefaultButtonModel
+header extends java/lang/Object implements javax/swing/ButtonModel,java/io/Serializable flags 21
+
+class name javax/swing/DefaultCellEditor
+header extends javax/swing/AbstractCellEditor implements javax/swing/table/TableCellEditor,javax/swing/tree/TreeCellEditor nestMembers javax/swing/DefaultCellEditor$EditorDelegate flags 21
+innerclass innerClass javax/swing/DefaultCellEditor$EditorDelegate outerClass javax/swing/DefaultCellEditor innerClassName EditorDelegate flags 4
+
+class name javax/swing/DefaultCellEditor$EditorDelegate
+header extends java/lang/Object implements java/awt/event/ActionListener,java/awt/event/ItemListener,java/io/Serializable nestHost javax/swing/DefaultCellEditor flags 21
+innerclass innerClass javax/swing/DefaultCellEditor$EditorDelegate outerClass javax/swing/DefaultCellEditor innerClassName EditorDelegate flags 4
+
+class name javax/swing/DefaultComboBoxModel
+header extends javax/swing/AbstractListModel implements javax/swing/MutableComboBoxModel,java/io/Serializable flags 21 signature <E:Ljava/lang/Object;>Ljavax/swing/AbstractListModel<TE;>;Ljavax/swing/MutableComboBoxModel<TE;>;Ljava/io/Serializable;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name addAll descriptor (Ljava/util/Collection;)V flags 1 signature (Ljava/util/Collection<+TE;>;)V
+method name addAll descriptor (ILjava/util/Collection;)V flags 1 signature (ILjava/util/Collection<+TE;>;)V
+
+class name javax/swing/DefaultFocusManager
+header extends javax/swing/FocusManager flags 21
+
+class name javax/swing/DefaultListCellRenderer
+header extends javax/swing/JLabel implements javax/swing/ListCellRenderer,java/io/Serializable nestMembers javax/swing/DefaultListCellRenderer$UIResource flags 21 signature Ljavax/swing/JLabel;Ljavax/swing/ListCellRenderer<Ljava/lang/Object;>;Ljava/io/Serializable;
+innerclass innerClass javax/swing/DefaultListCellRenderer$UIResource outerClass javax/swing/DefaultListCellRenderer innerClassName UIResource flags 9
+innerclass innerClass javax/swing/JList$DropLocation outerClass javax/swing/JList innerClassName DropLocation flags 19
+
+class name javax/swing/DefaultListCellRenderer$UIResource
+header extends javax/swing/DefaultListCellRenderer implements javax/swing/plaf/UIResource nestHost javax/swing/DefaultListCellRenderer flags 21
+innerclass innerClass javax/swing/DefaultListCellRenderer$UIResource outerClass javax/swing/DefaultListCellRenderer innerClassName UIResource flags 9
+
+class name javax/swing/DefaultListModel
+header extends javax/swing/AbstractListModel flags 21 signature <E:Ljava/lang/Object;>Ljavax/swing/AbstractListModel<TE;>;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name addAll descriptor (Ljava/util/Collection;)V flags 1 signature (Ljava/util/Collection<+TE;>;)V
+method name addAll descriptor (ILjava/util/Collection;)V flags 1 signature (ILjava/util/Collection<+TE;>;)V
+
+class name javax/swing/DefaultListSelectionModel
+header extends java/lang/Object implements javax/swing/ListSelectionModel,java/lang/Cloneable,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/DefaultRowSorter
+header extends javax/swing/RowSorter nestMembers javax/swing/DefaultRowSorter$ModelWrapper flags 421 signature <M:Ljava/lang/Object;I:Ljava/lang/Object;>Ljavax/swing/RowSorter<TM;>;
+innerclass innerClass javax/swing/DefaultRowSorter$ModelWrapper outerClass javax/swing/DefaultRowSorter innerClassName ModelWrapper flags 40c
+innerclass innerClass javax/swing/RowSorter$SortKey outerClass javax/swing/RowSorter innerClassName SortKey flags 9
+innerclass innerClass javax/swing/RowFilter$Entry outerClass javax/swing/RowFilter innerClassName Entry flags 409
+
+class name javax/swing/DefaultRowSorter$ModelWrapper
+header extends java/lang/Object nestHost javax/swing/DefaultRowSorter flags 421 signature <M:Ljava/lang/Object;I:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass javax/swing/DefaultRowSorter$ModelWrapper outerClass javax/swing/DefaultRowSorter innerClassName ModelWrapper flags 40c
+
+class name javax/swing/DefaultSingleSelectionModel
+header extends java/lang/Object implements javax/swing/SingleSelectionModel,java/io/Serializable flags 21
+
+class name javax/swing/DesktopManager
+header extends java/lang/Object flags 601
+
+class name javax/swing/DropMode
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljavax/swing/DropMode;>;
+
+class name javax/swing/FocusManager
+header extends java/awt/DefaultKeyboardFocusManager flags 421
+
+class name javax/swing/GrayFilter
+header extends java/awt/image/RGBImageFilter flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/GroupLayout
+header extends java/lang/Object implements java/awt/LayoutManager2 nestMembers javax/swing/GroupLayout$ParallelGroup,javax/swing/GroupLayout$SequentialGroup,javax/swing/GroupLayout$Group,javax/swing/GroupLayout$Spring,javax/swing/GroupLayout$Alignment flags 21
+innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1
+innerclass innerClass javax/swing/GroupLayout$SequentialGroup outerClass javax/swing/GroupLayout innerClassName SequentialGroup flags 1
+innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401
+innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 402
+innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/GroupLayout$Alignment
+header extends java/lang/Enum nestHost javax/swing/GroupLayout flags 4031 signature Ljava/lang/Enum<Ljavax/swing/GroupLayout$Alignment;>;
+innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019
+
+class name javax/swing/GroupLayout$Group
+header extends javax/swing/GroupLayout$Spring nestHost javax/swing/GroupLayout flags 421
+innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 402
+innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401
+
+class name javax/swing/GroupLayout$ParallelGroup
+header extends javax/swing/GroupLayout$Group nestHost javax/swing/GroupLayout flags 21
+innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019
+innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1
+innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401
+innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 402
+
+class name javax/swing/GroupLayout$SequentialGroup
+header extends javax/swing/GroupLayout$Group nestHost javax/swing/GroupLayout flags 21
+innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 402
+innerclass innerClass javax/swing/GroupLayout$SequentialGroup outerClass javax/swing/GroupLayout innerClassName SequentialGroup flags 1
+innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401
+innerclass innerClass javax/swing/LayoutStyle$ComponentPlacement outerClass javax/swing/LayoutStyle innerClassName ComponentPlacement flags 4019
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/GroupLayout$Spring
+header extends java/lang/Object nestHost javax/swing/GroupLayout flags 420
+innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 402
+innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/Icon
+header extends java/lang/Object flags 601
+
+class name javax/swing/ImageIcon
+header extends java/lang/Object implements javax/swing/Icon,java/io/Serializable,javax/accessibility/Accessible nestMembers javax/swing/ImageIcon$AccessibleImageIcon flags 21
+innerclass innerClass javax/swing/ImageIcon$AccessibleImageIcon outerClass javax/swing/ImageIcon innerClassName AccessibleImageIcon flags 4
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/ImageIcon$AccessibleImageIcon
+header extends javax/accessibility/AccessibleContext implements javax/accessibility/AccessibleIcon,java/io/Serializable nestHost javax/swing/ImageIcon flags 21
+innerclass innerClass javax/swing/ImageIcon$AccessibleImageIcon outerClass javax/swing/ImageIcon innerClassName AccessibleImageIcon flags 4
+
+class name javax/swing/InputMap
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name javax/swing/InputVerifier
+header extends java/lang/Object flags 421
+
+class name javax/swing/InternalFrameFocusTraversalPolicy
+header extends java/awt/FocusTraversalPolicy flags 421
+
+class name javax/swing/JApplet
+header extends java/applet/Applet implements javax/accessibility/Accessible,javax/swing/RootPaneContainer,javax/swing/TransferHandler$HasGetTransferHandler nestMembers javax/swing/JApplet$AccessibleJApplet flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")@Ljava/beans/JavaBean;(defaultProperty="JMenuBar",description="Swing's\u005C;u0020;Applet\u005C;u0020;subclass.")@Ljavax/swing/SwingContainer;(delegate="getContentPane")
+innerclass innerClass javax/swing/JApplet$AccessibleJApplet outerClass javax/swing/JApplet innerClassName AccessibleJApplet flags 4
+innerclass innerClass javax/swing/TransferHandler$HasGetTransferHandler outerClass javax/swing/TransferHandler innerClassName HasGetTransferHandler flags 608
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JApplet$AccessibleJApplet
+header extends java/applet/Applet$AccessibleApplet nestHost javax/swing/JApplet flags 21
+innerclass innerClass javax/swing/JApplet$AccessibleJApplet outerClass javax/swing/JApplet innerClassName AccessibleJApplet flags 4
+innerclass innerClass java/applet/Applet$AccessibleApplet outerClass java/applet/Applet innerClassName AccessibleApplet flags 4
+
+class name javax/swing/JButton
+header extends javax/swing/AbstractButton implements javax/accessibility/Accessible nestMembers javax/swing/JButton$AccessibleJButton flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UIClassID",description="An\u005C;u0020;implementation\u005C;u0020;of\u005C;u0020;a\u005C;u0020;\u005C;u0022;push\u005C;u0022;\u005C;u0020;button.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JButton$AccessibleJButton outerClass javax/swing/JButton innerClassName AccessibleJButton flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+-method name getUIClassID descriptor ()Ljava/lang/String;
+method name getUIClassID descriptor ()Ljava/lang/String; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="A\u005C;u0020;string\u005C;u0020;that\u005C;u0020;specifies\u005C;u0020;the\u005C;u0020;name\u005C;u0020;of\u005C;u0020;the\u005C;u0020;L&F\u005C;u0020;class.")
+
+class name javax/swing/JButton$AccessibleJButton
+header extends javax/swing/AbstractButton$AccessibleAbstractButton nestHost javax/swing/JButton flags 21
+innerclass innerClass javax/swing/JButton$AccessibleJButton outerClass javax/swing/JButton innerClassName AccessibleJButton flags 4
+innerclass innerClass javax/swing/AbstractButton$AccessibleAbstractButton outerClass javax/swing/AbstractButton innerClassName AccessibleAbstractButton flags 404
+
+class name javax/swing/JCheckBox
+header extends javax/swing/JToggleButton implements javax/accessibility/Accessible nestMembers javax/swing/JCheckBox$AccessibleJCheckBox flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;component\u005C;u0020;which\u005C;u0020;can\u005C;u0020;be\u005C;u0020;selected\u005C;u0020;or\u005C;u0020;deselected.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JCheckBox$AccessibleJCheckBox outerClass javax/swing/JCheckBox innerClassName AccessibleJCheckBox flags 4
+-method name getUIClassID descriptor ()Ljava/lang/String;
+method name getUIClassID descriptor ()Ljava/lang/String; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="A\u005C;u0020;string\u005C;u0020;that\u005C;u0020;specifies\u005C;u0020;the\u005C;u0020;name\u005C;u0020;of\u005C;u0020;the\u005C;u0020;L&F\u005C;u0020;class")
+
+class name javax/swing/JCheckBox$AccessibleJCheckBox
+header extends javax/swing/JToggleButton$AccessibleJToggleButton nestHost javax/swing/JCheckBox flags 21
+innerclass innerClass javax/swing/JCheckBox$AccessibleJCheckBox outerClass javax/swing/JCheckBox innerClassName AccessibleJCheckBox flags 4
+innerclass innerClass javax/swing/JToggleButton$AccessibleJToggleButton outerClass javax/swing/JToggleButton innerClassName AccessibleJToggleButton flags 4
+
+class name javax/swing/JCheckBoxMenuItem
+header extends javax/swing/JMenuItem implements javax/swing/SwingConstants,javax/accessibility/Accessible nestMembers javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;menu\u005C;u0020;item\u005C;u0020;which\u005C;u0020;can\u005C;u0020;be\u005C;u0020;selected\u005C;u0020;or\u005C;u0020;deselected.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem outerClass javax/swing/JCheckBoxMenuItem innerClassName AccessibleJCheckBoxMenuItem flags 4
+innerclass innerClass javax/swing/JToggleButton$ToggleButtonModel outerClass javax/swing/JToggleButton innerClassName ToggleButtonModel flags 9
+
+class name javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem
+header extends javax/swing/JMenuItem$AccessibleJMenuItem nestHost javax/swing/JCheckBoxMenuItem flags 21
+innerclass innerClass javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem outerClass javax/swing/JCheckBoxMenuItem innerClassName AccessibleJCheckBoxMenuItem flags 4
+innerclass innerClass javax/swing/JMenuItem$AccessibleJMenuItem outerClass javax/swing/JMenuItem innerClassName AccessibleJMenuItem flags 4
+
+class name javax/swing/JColorChooser
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JColorChooser$AccessibleJColorChooser flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;that\u005C;u0020;supports\u005C;u0020;selecting\u005C;u0020;a\u005C;u0020;Color.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JColorChooser$AccessibleJColorChooser outerClass javax/swing/JColorChooser innerClassName AccessibleJColorChooser flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JColorChooser$AccessibleJColorChooser
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JColorChooser flags 21
+innerclass innerClass javax/swing/JColorChooser$AccessibleJColorChooser outerClass javax/swing/JColorChooser innerClassName AccessibleJColorChooser flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JComboBox
+header extends javax/swing/JComponent implements java/awt/ItemSelectable,javax/swing/event/ListDataListener,java/awt/event/ActionListener,javax/accessibility/Accessible nestMembers javax/swing/JComboBox$AccessibleJComboBox,javax/swing/JComboBox$KeySelectionManager flags 21 signature <E:Ljava/lang/Object;>Ljavax/swing/JComponent;Ljava/awt/ItemSelectable;Ljavax/swing/event/ListDataListener;Ljava/awt/event/ActionListener;Ljavax/accessibility/Accessible; runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;combination\u005C;u0020;of\u005C;u0020;a\u005C;u0020;text\u005C;u0020;field\u005C;u0020;and\u005C;u0020;a\u005C;u0020;drop-down\u005C;u0020;list.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JComboBox$AccessibleJComboBox outerClass javax/swing/JComboBox innerClassName AccessibleJComboBox flags 4
+innerclass innerClass javax/swing/JComboBox$KeySelectionManager outerClass javax/swing/JComboBox innerClassName KeySelectionManager flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JComboBox$AccessibleJComboBox
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleAction,javax/accessibility/AccessibleSelection nestHost javax/swing/JComboBox flags 21
+innerclass innerClass javax/swing/JComboBox$AccessibleJComboBox outerClass javax/swing/JComboBox innerClassName AccessibleJComboBox flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JComboBox$KeySelectionManager
+header extends java/lang/Object nestHost javax/swing/JComboBox flags 601
+innerclass innerClass javax/swing/JComboBox$KeySelectionManager outerClass javax/swing/JComboBox innerClassName KeySelectionManager flags 609
+
+class name javax/swing/JComponent
+header extends java/awt/Container implements java/io/Serializable,javax/swing/TransferHandler$HasGetTransferHandler nestMembers javax/swing/JComponent$AccessibleJComponent,javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler,javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler flags 421 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UIClassID")
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass javax/swing/TransferHandler$HasGetTransferHandler outerClass javax/swing/TransferHandler innerClassName HasGetTransferHandler flags 608
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler outerClass javax/swing/JComponent$AccessibleJComponent innerClassName AccessibleFocusHandler flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler outerClass javax/swing/JComponent$AccessibleJComponent innerClassName AccessibleContainerHandler flags 4
+innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JComponent$AccessibleJComponent
+header extends java/awt/Container$AccessibleAWTContainer implements javax/accessibility/AccessibleExtendedComponent nestHost javax/swing/JComponent flags 421
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler outerClass javax/swing/JComponent$AccessibleJComponent innerClassName AccessibleFocusHandler flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler outerClass javax/swing/JComponent$AccessibleJComponent innerClassName AccessibleContainerHandler flags 4
+innerclass innerClass java/awt/Container$AccessibleAWTContainer outerClass java/awt/Container innerClassName AccessibleAWTContainer flags 4
+
+class name javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler
+header extends java/lang/Object implements java/awt/event/ContainerListener nestHost javax/swing/JComponent flags 21
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler outerClass javax/swing/JComponent$AccessibleJComponent innerClassName AccessibleContainerHandler flags 4
+
+class name javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler
+header extends java/lang/Object implements java/awt/event/FocusListener nestHost javax/swing/JComponent flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler outerClass javax/swing/JComponent$AccessibleJComponent innerClassName AccessibleFocusHandler flags 4
+
+class name javax/swing/JDesktopPane
+header extends javax/swing/JLayeredPane implements javax/accessibility/Accessible nestMembers javax/swing/JDesktopPane$AccessibleJDesktopPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI")
+innerclass innerClass javax/swing/JDesktopPane$AccessibleJDesktopPane outerClass javax/swing/JDesktopPane innerClassName AccessibleJDesktopPane flags 4
+innerclass innerClass javax/swing/JInternalFrame$JDesktopIcon outerClass javax/swing/JInternalFrame innerClassName JDesktopIcon flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JDesktopPane$AccessibleJDesktopPane
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JDesktopPane flags 21
+innerclass innerClass javax/swing/JDesktopPane$AccessibleJDesktopPane outerClass javax/swing/JDesktopPane innerClassName AccessibleJDesktopPane flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JDialog
+header extends java/awt/Dialog implements javax/swing/WindowConstants,javax/accessibility/Accessible,javax/swing/RootPaneContainer,javax/swing/TransferHandler$HasGetTransferHandler nestMembers javax/swing/JDialog$AccessibleJDialog flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="JMenuBar",description="A\u005C;u0020;toplevel\u005C;u0020;window\u005C;u0020;for\u005C;u0020;creating\u005C;u0020;dialog\u005C;u0020;boxes.")@Ljavax/swing/SwingContainer;(delegate="getContentPane")
+innerclass innerClass javax/swing/JDialog$AccessibleJDialog outerClass javax/swing/JDialog innerClassName AccessibleJDialog flags 4
+innerclass innerClass java/awt/Dialog$ModalityType outerClass java/awt/Dialog innerClassName ModalityType flags 4019
+innerclass innerClass javax/swing/TransferHandler$HasGetTransferHandler outerClass javax/swing/TransferHandler innerClassName HasGetTransferHandler flags 608
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JDialog$AccessibleJDialog
+header extends java/awt/Dialog$AccessibleAWTDialog nestHost javax/swing/JDialog flags 21
+innerclass innerClass javax/swing/JDialog$AccessibleJDialog outerClass javax/swing/JDialog innerClassName AccessibleJDialog flags 4
+innerclass innerClass java/awt/Dialog$AccessibleAWTDialog outerClass java/awt/Dialog innerClassName AccessibleAWTDialog flags 4
+
+class name javax/swing/JEditorPane
+header extends javax/swing/text/JTextComponent nestMembers javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport,javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink,javax/swing/JEditorPane$AccessibleJEditorPaneHTML,javax/swing/JEditorPane$AccessibleJEditorPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UIClassID",description="A\u005C;u0020;text\u005C;u0020;component\u005C;u0020;to\u005C;u0020;edit\u005C;u0020;various\u005C;u0020;types\u005C;u0020;of\u005C;u0020;content.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport outerClass javax/swing/JEditorPane innerClassName JEditorPaneAccessibleHypertextSupport flags 4
+innerclass innerClass javax/swing/JEditorPane$AccessibleJEditorPaneHTML outerClass javax/swing/JEditorPane innerClassName AccessibleJEditorPaneHTML flags 4
+innerclass innerClass javax/swing/JEditorPane$AccessibleJEditorPane outerClass javax/swing/JEditorPane innerClassName AccessibleJEditorPane flags 4
+innerclass innerClass javax/swing/text/html/HTMLDocument$Iterator outerClass javax/swing/text/html/HTMLDocument innerClassName Iterator flags 409
+innerclass innerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink outerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport innerClassName HTMLLink flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JEditorPane$AccessibleJEditorPane
+header extends javax/swing/text/JTextComponent$AccessibleJTextComponent nestHost javax/swing/JEditorPane flags 21
+innerclass innerClass javax/swing/JEditorPane$AccessibleJEditorPane outerClass javax/swing/JEditorPane innerClassName AccessibleJEditorPane flags 4
+innerclass innerClass javax/swing/text/JTextComponent$AccessibleJTextComponent outerClass javax/swing/text/JTextComponent innerClassName AccessibleJTextComponent flags 1
+
+class name javax/swing/JEditorPane$AccessibleJEditorPaneHTML
+header extends javax/swing/JEditorPane$AccessibleJEditorPane nestHost javax/swing/JEditorPane flags 21
+innerclass innerClass javax/swing/JEditorPane$AccessibleJEditorPaneHTML outerClass javax/swing/JEditorPane innerClassName AccessibleJEditorPaneHTML flags 4
+innerclass innerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport outerClass javax/swing/JEditorPane innerClassName JEditorPaneAccessibleHypertextSupport flags 4
+innerclass innerClass javax/swing/JEditorPane$AccessibleJEditorPane outerClass javax/swing/JEditorPane innerClassName AccessibleJEditorPane flags 4
+
+class name javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport
+header extends javax/swing/JEditorPane$AccessibleJEditorPane implements javax/accessibility/AccessibleHypertext nestHost javax/swing/JEditorPane flags 21
+innerclass innerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport outerClass javax/swing/JEditorPane innerClassName JEditorPaneAccessibleHypertextSupport flags 4
+innerclass innerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink outerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport innerClassName HTMLLink flags 1
+innerclass innerClass javax/swing/JEditorPane$AccessibleJEditorPane outerClass javax/swing/JEditorPane innerClassName AccessibleJEditorPane flags 4
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+
+class name javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink
+header extends javax/accessibility/AccessibleHyperlink nestHost javax/swing/JEditorPane flags 21
+innerclass innerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport outerClass javax/swing/JEditorPane innerClassName JEditorPaneAccessibleHypertextSupport flags 4
+innerclass innerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink outerClass javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport innerClassName HTMLLink flags 1
+innerclass innerClass javax/swing/event/HyperlinkEvent$EventType outerClass javax/swing/event/HyperlinkEvent innerClassName EventType flags 19
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+
+class name javax/swing/JFileChooser
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JFileChooser$AccessibleJFileChooser flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;which\u005C;u0020;allows\u005C;u0020;for\u005C;u0020;the\u005C;u0020;interactive\u005C;u0020;selection\u005C;u0020;of\u005C;u0020;a\u005C;u0020;file.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JFileChooser$AccessibleJFileChooser outerClass javax/swing/JFileChooser innerClassName AccessibleJFileChooser flags 4
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+-method name setControlButtonsAreShown descriptor (Z)V
+-method name getUIClassID descriptor ()Ljava/lang/String;
+method name setControlButtonsAreShown descriptor (Z)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(description="Sets\u005C;u0020;whether\u005C;u0020;the\u005C;u0020;approve\u005C;u0020;&\u005C;u0020;cancel\u005C;u0020;buttons\u005C;u0020;are\u005C;u0020;shown.",preferred=Ztrue)
+method name getUIClassID descriptor ()Ljava/lang/String; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="A\u005C;u0020;string\u005C;u0020;that\u005C;u0020;specifies\u005C;u0020;the\u005C;u0020;name\u005C;u0020;of\u005C;u0020;the\u005C;u0020;L&F\u005C;u0020;class.")
+
+class name javax/swing/JFileChooser$AccessibleJFileChooser
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JFileChooser flags 21
+innerclass innerClass javax/swing/JFileChooser$AccessibleJFileChooser outerClass javax/swing/JFileChooser innerClassName AccessibleJFileChooser flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JFormattedTextField
+header extends javax/swing/JTextField nestMembers javax/swing/JFormattedTextField$AbstractFormatter,javax/swing/JFormattedTextField$AbstractFormatterFactory flags 21 runtimeAnnotations @Ljava/beans/JavaBean;
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatter outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatter flags 409
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatterFactory outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatterFactory flags 409
+
+class name javax/swing/JFormattedTextField$AbstractFormatter
+header extends java/lang/Object implements java/io/Serializable nestHost javax/swing/JFormattedTextField flags 421
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatter outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatter flags 409
+
+class name javax/swing/JFormattedTextField$AbstractFormatterFactory
+header extends java/lang/Object nestHost javax/swing/JFormattedTextField flags 421
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatterFactory outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatterFactory flags 409
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatter outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatter flags 409
+
+class name javax/swing/JFrame
+header extends java/awt/Frame implements javax/swing/WindowConstants,javax/accessibility/Accessible,javax/swing/RootPaneContainer,javax/swing/TransferHandler$HasGetTransferHandler nestMembers javax/swing/JFrame$AccessibleJFrame flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="JMenuBar",description="A\u005C;u0020;toplevel\u005C;u0020;window\u005C;u0020;which\u005C;u0020;can\u005C;u0020;be\u005C;u0020;minimized\u005C;u0020;to\u005C;u0020;an\u005C;u0020;icon.")@Ljavax/swing/SwingContainer;(delegate="getContentPane")
+innerclass innerClass javax/swing/JFrame$AccessibleJFrame outerClass javax/swing/JFrame innerClassName AccessibleJFrame flags 4
+innerclass innerClass javax/swing/TransferHandler$HasGetTransferHandler outerClass javax/swing/TransferHandler innerClassName HasGetTransferHandler flags 608
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JFrame$AccessibleJFrame
+header extends java/awt/Frame$AccessibleAWTFrame nestHost javax/swing/JFrame flags 21
+innerclass innerClass javax/swing/JFrame$AccessibleJFrame outerClass javax/swing/JFrame innerClassName AccessibleJFrame flags 4
+innerclass innerClass java/awt/Frame$AccessibleAWTFrame outerClass java/awt/Frame innerClassName AccessibleAWTFrame flags 4
+
+class name javax/swing/JInternalFrame
+header extends javax/swing/JComponent implements javax/accessibility/Accessible,javax/swing/WindowConstants,javax/swing/RootPaneContainer nestMembers javax/swing/JInternalFrame$JDesktopIcon,javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon,javax/swing/JInternalFrame$AccessibleJInternalFrame flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="JMenuBar",description="A\u005C;u0020;frame\u005C;u0020;container\u005C;u0020;which\u005C;u0020;is\u005C;u0020;contained\u005C;u0020;within\u005C;u0020;another\u005C;u0020;window.")@Ljavax/swing/SwingContainer;(delegate="getContentPane")
+innerclass innerClass javax/swing/JInternalFrame$JDesktopIcon outerClass javax/swing/JInternalFrame innerClassName JDesktopIcon flags 9
+innerclass innerClass javax/swing/JInternalFrame$AccessibleJInternalFrame outerClass javax/swing/JInternalFrame innerClassName AccessibleJInternalFrame flags 4
+innerclass innerClass javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon outerClass javax/swing/JInternalFrame$JDesktopIcon innerClassName AccessibleJDesktopIcon flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JInternalFrame$AccessibleJInternalFrame
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleValue nestHost javax/swing/JInternalFrame flags 21
+innerclass innerClass javax/swing/JInternalFrame$AccessibleJInternalFrame outerClass javax/swing/JInternalFrame innerClassName AccessibleJInternalFrame flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JInternalFrame$JDesktopIcon
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestHost javax/swing/JInternalFrame flags 21
+innerclass innerClass javax/swing/JInternalFrame$JDesktopIcon outerClass javax/swing/JInternalFrame innerClassName JDesktopIcon flags 9
+innerclass innerClass javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon outerClass javax/swing/JInternalFrame$JDesktopIcon innerClassName AccessibleJDesktopIcon flags 4
+
+class name javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleValue nestHost javax/swing/JInternalFrame flags 21
+innerclass innerClass javax/swing/JInternalFrame$JDesktopIcon outerClass javax/swing/JInternalFrame innerClassName JDesktopIcon flags 9
+innerclass innerClass javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon outerClass javax/swing/JInternalFrame$JDesktopIcon innerClassName AccessibleJDesktopIcon flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JLabel
+header extends javax/swing/JComponent implements javax/swing/SwingConstants,javax/accessibility/Accessible nestMembers javax/swing/JLabel$AccessibleJLabel flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;that\u005C;u0020;displays\u005C;u0020;a\u005C;u0020;short\u005C;u0020;string\u005C;u0020;and\u005C;u0020;an\u005C;u0020;icon.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JLabel$AccessibleJLabel outerClass javax/swing/JLabel innerClassName AccessibleJLabel flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JLabel$AccessibleJLabel
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleText,javax/accessibility/AccessibleExtendedComponent nestHost javax/swing/JLabel flags 21
+innerclass innerClass javax/swing/JLabel$AccessibleJLabel outerClass javax/swing/JLabel innerClassName AccessibleJLabel flags 4
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JLayeredPane
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JLayeredPane$AccessibleJLayeredPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="accessibleContext")
+innerclass innerClass javax/swing/JLayeredPane$AccessibleJLayeredPane outerClass javax/swing/JLayeredPane innerClassName AccessibleJLayeredPane flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JLayeredPane$AccessibleJLayeredPane
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JLayeredPane flags 21
+innerclass innerClass javax/swing/JLayeredPane$AccessibleJLayeredPane outerClass javax/swing/JLayeredPane innerClassName AccessibleJLayeredPane flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JList
+header extends javax/swing/JComponent implements javax/swing/Scrollable,javax/accessibility/Accessible nestMembers javax/swing/JList$AccessibleJList,javax/swing/JList$AccessibleJList$AccessibleJListChild,javax/swing/JList$DropLocation flags 21 signature <E:Ljava/lang/Object;>Ljavax/swing/JComponent;Ljavax/swing/Scrollable;Ljavax/accessibility/Accessible; runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;which\u005C;u0020;allows\u005C;u0020;for\u005C;u0020;the\u005C;u0020;selection\u005C;u0020;of\u005C;u0020;one\u005C;u0020;or\u005C;u0020;more\u005C;u0020;objects\u005C;u0020;from\u005C;u0020;a\u005C;u0020;list.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JList$AccessibleJList outerClass javax/swing/JList innerClassName AccessibleJList flags 4
+innerclass innerClass javax/swing/JList$DropLocation outerClass javax/swing/JList innerClassName DropLocation flags 19
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass javax/swing/JList$AccessibleJList$AccessibleJListChild outerClass javax/swing/JList$AccessibleJList innerClassName AccessibleJListChild flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JList$AccessibleJList
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleSelection,java/beans/PropertyChangeListener,javax/swing/event/ListSelectionListener,javax/swing/event/ListDataListener nestHost javax/swing/JList flags 21
+innerclass innerClass javax/swing/JList$AccessibleJList outerClass javax/swing/JList innerClassName AccessibleJList flags 4
+innerclass innerClass javax/swing/JList$AccessibleJList$AccessibleJListChild outerClass javax/swing/JList$AccessibleJList innerClassName AccessibleJListChild flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JList$AccessibleJList$AccessibleJListChild
+header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent,javax/accessibility/AccessibleAction nestHost javax/swing/JList flags 21
+innerclass innerClass javax/swing/JList$AccessibleJList outerClass javax/swing/JList innerClassName AccessibleJList flags 4
+innerclass innerClass javax/swing/JList$AccessibleJList$AccessibleJListChild outerClass javax/swing/JList$AccessibleJList innerClassName AccessibleJListChild flags 4
+
+class name javax/swing/JList$DropLocation
+header extends javax/swing/TransferHandler$DropLocation nestHost javax/swing/JList flags 31
+innerclass innerClass javax/swing/JList$DropLocation outerClass javax/swing/JList innerClassName DropLocation flags 19
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JMenu
+header extends javax/swing/JMenuItem implements javax/accessibility/Accessible,javax/swing/MenuElement nestMembers javax/swing/JMenu$AccessibleJMenu,javax/swing/JMenu$WinListener flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;popup\u005C;u0020;window\u005C;u0020;containing\u005C;u0020;menu\u005C;u0020;items\u005C;u0020;displayed\u005C;u0020;in\u005C;u0020;a\u005C;u0020;menu\u005C;u0020;bar.")@Ljavax/swing/SwingContainer;
+innerclass innerClass javax/swing/JMenu$AccessibleJMenu outerClass javax/swing/JMenu innerClassName AccessibleJMenu flags 4
+innerclass innerClass javax/swing/JMenu$WinListener outerClass javax/swing/JMenu innerClassName WinListener flags 4
+innerclass innerClass javax/swing/JPopupMenu$Separator outerClass javax/swing/JPopupMenu innerClassName Separator flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JMenu$AccessibleJMenu
+header extends javax/swing/JMenuItem$AccessibleJMenuItem implements javax/accessibility/AccessibleSelection nestHost javax/swing/JMenu flags 21
+innerclass innerClass javax/swing/JMenu$AccessibleJMenu outerClass javax/swing/JMenu innerClassName AccessibleJMenu flags 4
+innerclass innerClass javax/swing/JMenuItem$AccessibleJMenuItem outerClass javax/swing/JMenuItem innerClassName AccessibleJMenuItem flags 4
+
+class name javax/swing/JMenu$WinListener
+header extends java/awt/event/WindowAdapter implements java/io/Serializable nestHost javax/swing/JMenu flags 21
+innerclass innerClass javax/swing/JMenu$WinListener outerClass javax/swing/JMenu innerClassName WinListener flags 4
+
+class name javax/swing/JMenuBar
+header extends javax/swing/JComponent implements javax/accessibility/Accessible,javax/swing/MenuElement nestMembers javax/swing/JMenuBar$AccessibleJMenuBar flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;container\u005C;u0020;for\u005C;u0020;holding\u005C;u0020;and\u005C;u0020;displaying\u005C;u0020;menus.")@Ljavax/swing/SwingContainer;
+innerclass innerClass javax/swing/JMenuBar$AccessibleJMenuBar outerClass javax/swing/JMenuBar innerClassName AccessibleJMenuBar flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JMenuBar$AccessibleJMenuBar
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleSelection nestHost javax/swing/JMenuBar flags 21
+innerclass innerClass javax/swing/JMenuBar$AccessibleJMenuBar outerClass javax/swing/JMenuBar innerClassName AccessibleJMenuBar flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JMenuItem
+header extends javax/swing/AbstractButton implements javax/accessibility/Accessible,javax/swing/MenuElement nestMembers javax/swing/JMenuItem$AccessibleJMenuItem flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UIClassID",description="An\u005C;u0020;item\u005C;u0020;which\u005C;u0020;can\u005C;u0020;be\u005C;u0020;selected\u005C;u0020;in\u005C;u0020;a\u005C;u0020;menu.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JMenuItem$AccessibleJMenuItem outerClass javax/swing/JMenuItem innerClassName AccessibleJMenuItem flags 4
+
+class name javax/swing/JMenuItem$AccessibleJMenuItem
+header extends javax/swing/AbstractButton$AccessibleAbstractButton implements javax/swing/event/ChangeListener nestHost javax/swing/JMenuItem flags 21
+innerclass innerClass javax/swing/JMenuItem$AccessibleJMenuItem outerClass javax/swing/JMenuItem innerClassName AccessibleJMenuItem flags 4
+innerclass innerClass javax/swing/AbstractButton$AccessibleAbstractButton outerClass javax/swing/AbstractButton innerClassName AccessibleAbstractButton flags 404
+
+class name javax/swing/JOptionPane
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JOptionPane$AccessibleJOptionPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;which\u005C;u0020;implements\u005C;u0020;standard\u005C;u0020;dialog\u005C;u0020;box\u005C;u0020;controls.")@Ljavax/swing/SwingContainer;
+innerclass innerClass javax/swing/JOptionPane$AccessibleJOptionPane outerClass javax/swing/JOptionPane innerClassName AccessibleJOptionPane flags 4
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JOptionPane$AccessibleJOptionPane
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JOptionPane flags 21
+innerclass innerClass javax/swing/JOptionPane$AccessibleJOptionPane outerClass javax/swing/JOptionPane innerClassName AccessibleJOptionPane flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JPanel
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JPanel$AccessibleJPanel flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;generic\u005C;u0020;lightweight\u005C;u0020;container.")
+innerclass innerClass javax/swing/JPanel$AccessibleJPanel outerClass javax/swing/JPanel innerClassName AccessibleJPanel flags 4
+-method name getUIClassID descriptor ()Ljava/lang/String;
+method name getUIClassID descriptor ()Ljava/lang/String; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="A\u005C;u0020;string\u005C;u0020;that\u005C;u0020;specifies\u005C;u0020;the\u005C;u0020;name\u005C;u0020;of\u005C;u0020;the\u005C;u0020;L&F\u005C;u0020;class.")
+
+class name javax/swing/JPanel$AccessibleJPanel
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JPanel flags 21
+innerclass innerClass javax/swing/JPanel$AccessibleJPanel outerClass javax/swing/JPanel innerClassName AccessibleJPanel flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JPasswordField
+header extends javax/swing/JTextField nestMembers javax/swing/JPasswordField$AccessibleJPasswordField flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="Allows\u005C;u0020;the\u005C;u0020;editing\u005C;u0020;of\u005C;u0020;a\u005C;u0020;line\u005C;u0020;of\u005C;u0020;text\u005C;u0020;but\u005C;u0020;doesn't\u005C;u0020;show\u005C;u0020;the\u005C;u0020;characters.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JPasswordField$AccessibleJPasswordField outerClass javax/swing/JPasswordField innerClassName AccessibleJPasswordField flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JPasswordField$AccessibleJPasswordField
+header extends javax/swing/JTextField$AccessibleJTextField nestHost javax/swing/JPasswordField flags 21
+innerclass innerClass javax/swing/JPasswordField$AccessibleJPasswordField outerClass javax/swing/JPasswordField innerClassName AccessibleJPasswordField flags 4
+innerclass innerClass javax/swing/JTextField$AccessibleJTextField outerClass javax/swing/JTextField innerClassName AccessibleJTextField flags 4
+
+class name javax/swing/JPopupMenu
+header extends javax/swing/JComponent implements javax/accessibility/Accessible,javax/swing/MenuElement nestMembers javax/swing/JPopupMenu$Separator,javax/swing/JPopupMenu$AccessibleJPopupMenu flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;small\u005C;u0020;window\u005C;u0020;that\u005C;u0020;pops\u005C;u0020;up\u005C;u0020;and\u005C;u0020;displays\u005C;u0020;a\u005C;u0020;series\u005C;u0020;of\u005C;u0020;choices.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JPopupMenu$Separator outerClass javax/swing/JPopupMenu innerClassName Separator flags 9
+innerclass innerClass javax/swing/JPopupMenu$AccessibleJPopupMenu outerClass javax/swing/JPopupMenu innerClassName AccessibleJPopupMenu flags 4
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JPopupMenu$AccessibleJPopupMenu
+header extends javax/swing/JComponent$AccessibleJComponent implements java/beans/PropertyChangeListener nestHost javax/swing/JPopupMenu flags 21
+innerclass innerClass javax/swing/JPopupMenu$AccessibleJPopupMenu outerClass javax/swing/JPopupMenu innerClassName AccessibleJPopupMenu flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JPopupMenu$Separator
+header extends javax/swing/JSeparator nestHost javax/swing/JPopupMenu flags 21
+innerclass innerClass javax/swing/JPopupMenu$Separator outerClass javax/swing/JPopupMenu innerClassName Separator flags 9
+
+class name javax/swing/JProgressBar
+header extends javax/swing/JComponent implements javax/swing/SwingConstants,javax/accessibility/Accessible nestMembers javax/swing/JProgressBar$AccessibleJProgressBar flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;that\u005C;u0020;displays\u005C;u0020;an\u005C;u0020;integer\u005C;u0020;value.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JProgressBar$AccessibleJProgressBar outerClass javax/swing/JProgressBar innerClassName AccessibleJProgressBar flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JProgressBar$AccessibleJProgressBar
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleValue nestHost javax/swing/JProgressBar flags 21
+innerclass innerClass javax/swing/JProgressBar$AccessibleJProgressBar outerClass javax/swing/JProgressBar innerClassName AccessibleJProgressBar flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JRadioButton
+header extends javax/swing/JToggleButton implements javax/accessibility/Accessible nestMembers javax/swing/JRadioButton$AccessibleJRadioButton flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;component\u005C;u0020;which\u005C;u0020;can\u005C;u0020;display\u005C;u0020;it's\u005C;u0020;state\u005C;u0020;as\u005C;u0020;selected\u005C;u0020;or\u005C;u0020;deselected.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JRadioButton$AccessibleJRadioButton outerClass javax/swing/JRadioButton innerClassName AccessibleJRadioButton flags 4
+-method name getUIClassID descriptor ()Ljava/lang/String;
+method name getUIClassID descriptor ()Ljava/lang/String; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="A\u005C;u0020;string\u005C;u0020;that\u005C;u0020;specifies\u005C;u0020;the\u005C;u0020;name\u005C;u0020;of\u005C;u0020;the\u005C;u0020;L&F\u005C;u0020;class.")
+
+class name javax/swing/JRadioButton$AccessibleJRadioButton
+header extends javax/swing/JToggleButton$AccessibleJToggleButton nestHost javax/swing/JRadioButton flags 21
+innerclass innerClass javax/swing/JRadioButton$AccessibleJRadioButton outerClass javax/swing/JRadioButton innerClassName AccessibleJRadioButton flags 4
+innerclass innerClass javax/swing/JToggleButton$AccessibleJToggleButton outerClass javax/swing/JToggleButton innerClassName AccessibleJToggleButton flags 4
+
+class name javax/swing/JRadioButtonMenuItem
+header extends javax/swing/JMenuItem implements javax/accessibility/Accessible nestMembers javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;component\u005C;u0020;within\u005C;u0020;a\u005C;u0020;group\u005C;u0020;of\u005C;u0020;menu\u005C;u0020;items\u005C;u0020;which\u005C;u0020;can\u005C;u0020;be\u005C;u0020;selected.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem outerClass javax/swing/JRadioButtonMenuItem innerClassName AccessibleJRadioButtonMenuItem flags 4
+innerclass innerClass javax/swing/JToggleButton$ToggleButtonModel outerClass javax/swing/JToggleButton innerClassName ToggleButtonModel flags 9
+
+class name javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem
+header extends javax/swing/JMenuItem$AccessibleJMenuItem nestHost javax/swing/JRadioButtonMenuItem flags 21
+innerclass innerClass javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem outerClass javax/swing/JRadioButtonMenuItem innerClassName AccessibleJRadioButtonMenuItem flags 4
+innerclass innerClass javax/swing/JMenuItem$AccessibleJMenuItem outerClass javax/swing/JMenuItem innerClassName AccessibleJMenuItem flags 4
+
+class name javax/swing/JRootPane
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JRootPane$AccessibleJRootPane,javax/swing/JRootPane$RootLayout flags 21
+innerclass innerClass javax/swing/JRootPane$AccessibleJRootPane outerClass javax/swing/JRootPane innerClassName AccessibleJRootPane flags 4
+innerclass innerClass javax/swing/JRootPane$RootLayout outerClass javax/swing/JRootPane innerClassName RootLayout flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JRootPane$AccessibleJRootPane
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JRootPane flags 21
+innerclass innerClass javax/swing/JRootPane$AccessibleJRootPane outerClass javax/swing/JRootPane innerClassName AccessibleJRootPane flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JRootPane$RootLayout
+header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable nestHost javax/swing/JRootPane flags 21
+innerclass innerClass javax/swing/JRootPane$RootLayout outerClass javax/swing/JRootPane innerClassName RootLayout flags 4
+
+class name javax/swing/JScrollBar
+header extends javax/swing/JComponent implements java/awt/Adjustable,javax/accessibility/Accessible nestMembers javax/swing/JScrollBar$AccessibleJScrollBar flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;that\u005C;u0020;helps\u005C;u0020;determine\u005C;u0020;the\u005C;u0020;visible\u005C;u0020;content\u005C;u0020;range\u005C;u0020;of\u005C;u0020;an\u005C;u0020;area.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JScrollBar$AccessibleJScrollBar outerClass javax/swing/JScrollBar innerClassName AccessibleJScrollBar flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JScrollBar$AccessibleJScrollBar
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleValue nestHost javax/swing/JScrollBar flags 21
+innerclass innerClass javax/swing/JScrollBar$AccessibleJScrollBar outerClass javax/swing/JScrollBar innerClassName AccessibleJScrollBar flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JScrollPane
+header extends javax/swing/JComponent implements javax/swing/ScrollPaneConstants,javax/accessibility/Accessible nestMembers javax/swing/JScrollPane$AccessibleJScrollPane,javax/swing/JScrollPane$ScrollBar flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;specialized\u005C;u0020;container\u005C;u0020;that\u005C;u0020;manages\u005C;u0020;a\u005C;u0020;viewport,\u005C;u0020;optional\u005C;u0020;scrollbars\u005C;u0020;and\u005C;u0020;headers")@Ljavax/swing/SwingContainer;(delegate="getViewport")
+innerclass innerClass javax/swing/JScrollPane$AccessibleJScrollPane outerClass javax/swing/JScrollPane innerClassName AccessibleJScrollPane flags 4
+innerclass innerClass javax/swing/JScrollPane$ScrollBar outerClass javax/swing/JScrollPane innerClassName ScrollBar flags 4
+innerclass innerClass javax/swing/ScrollPaneLayout$UIResource outerClass javax/swing/ScrollPaneLayout innerClassName UIResource flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JScrollPane$AccessibleJScrollPane
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/swing/event/ChangeListener,java/beans/PropertyChangeListener nestHost javax/swing/JScrollPane flags 21
+innerclass innerClass javax/swing/JScrollPane$AccessibleJScrollPane outerClass javax/swing/JScrollPane innerClassName AccessibleJScrollPane flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JScrollPane$ScrollBar
+header extends javax/swing/JScrollBar implements javax/swing/plaf/UIResource nestHost javax/swing/JScrollPane flags 21
+innerclass innerClass javax/swing/JScrollPane$ScrollBar outerClass javax/swing/JScrollPane innerClassName ScrollBar flags 4
+
+class name javax/swing/JSeparator
+header extends javax/swing/JComponent implements javax/swing/SwingConstants,javax/accessibility/Accessible nestMembers javax/swing/JSeparator$AccessibleJSeparator flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;divider\u005C;u0020;between\u005C;u0020;menu\u005C;u0020;items.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JSeparator$AccessibleJSeparator outerClass javax/swing/JSeparator innerClassName AccessibleJSeparator flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JSeparator$AccessibleJSeparator
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JSeparator flags 21
+innerclass innerClass javax/swing/JSeparator$AccessibleJSeparator outerClass javax/swing/JSeparator innerClassName AccessibleJSeparator flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JSlider
+header extends javax/swing/JComponent implements javax/swing/SwingConstants,javax/accessibility/Accessible nestMembers javax/swing/JSlider$AccessibleJSlider flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;that\u005C;u0020;supports\u005C;u0020;selecting\u005C;u0020;a\u005C;u0020;integer\u005C;u0020;value\u005C;u0020;from\u005C;u0020;a\u005C;u0020;range.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JSlider$AccessibleJSlider outerClass javax/swing/JSlider innerClassName AccessibleJSlider flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JSlider$AccessibleJSlider
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleValue nestHost javax/swing/JSlider flags 21
+innerclass innerClass javax/swing/JSlider$AccessibleJSlider outerClass javax/swing/JSlider innerClassName AccessibleJSlider flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JSpinner
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JSpinner$AccessibleJSpinner,javax/swing/JSpinner$ListEditor,javax/swing/JSpinner$NumberEditor,javax/swing/JSpinner$DateEditor,javax/swing/JSpinner$DefaultEditor flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;single\u005C;u0020;line\u005C;u0020;input\u005C;u0020;field\u005C;u0020;that\u005C;u0020;lets\u005C;u0020;the\u005C;u0020;user\u005C;u0020;select\u005C;u0020;a\u005C;u0020;number\u005C;u0020;or\u005C;u0020;an\u005C;u0020;object\u005C;u0020;value\u005C;u0020;from\u005C;u0020;an\u005C;u0020;ordered\u005C;u0020;set.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JSpinner$AccessibleJSpinner outerClass javax/swing/JSpinner innerClassName AccessibleJSpinner flags 4
+innerclass innerClass javax/swing/JSpinner$ListEditor outerClass javax/swing/JSpinner innerClassName ListEditor flags 9
+innerclass innerClass javax/swing/JSpinner$NumberEditor outerClass javax/swing/JSpinner innerClassName NumberEditor flags 9
+innerclass innerClass javax/swing/JSpinner$DateEditor outerClass javax/swing/JSpinner innerClassName DateEditor flags 9
+innerclass innerClass javax/swing/JSpinner$DefaultEditor outerClass javax/swing/JSpinner innerClassName DefaultEditor flags 9
+
+class name javax/swing/JSpinner$AccessibleJSpinner
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleValue,javax/accessibility/AccessibleAction,javax/accessibility/AccessibleText,javax/accessibility/AccessibleEditableText,javax/swing/event/ChangeListener nestHost javax/swing/JSpinner flags 21
+innerclass innerClass javax/swing/JSpinner$AccessibleJSpinner outerClass javax/swing/JSpinner innerClassName AccessibleJSpinner flags 4
+innerclass innerClass javax/swing/JSpinner$DefaultEditor outerClass javax/swing/JSpinner innerClassName DefaultEditor flags 9
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JSpinner$DateEditor
+header extends javax/swing/JSpinner$DefaultEditor nestHost javax/swing/JSpinner flags 21
+innerclass innerClass javax/swing/JSpinner$DateEditor outerClass javax/swing/JSpinner innerClassName DateEditor flags 9
+innerclass innerClass javax/swing/JSpinner$DefaultEditor outerClass javax/swing/JSpinner innerClassName DefaultEditor flags 9
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatter outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatter flags 409
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatterFactory outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatterFactory flags 409
+
+class name javax/swing/JSpinner$DefaultEditor
+header extends javax/swing/JPanel implements javax/swing/event/ChangeListener,java/beans/PropertyChangeListener,java/awt/LayoutManager nestHost javax/swing/JSpinner flags 21
+innerclass innerClass javax/swing/JSpinner$DefaultEditor outerClass javax/swing/JSpinner innerClassName DefaultEditor flags 9
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/JSpinner$ListEditor
+header extends javax/swing/JSpinner$DefaultEditor nestHost javax/swing/JSpinner flags 21
+innerclass innerClass javax/swing/JSpinner$ListEditor outerClass javax/swing/JSpinner innerClassName ListEditor flags 9
+innerclass innerClass javax/swing/JSpinner$DefaultEditor outerClass javax/swing/JSpinner innerClassName DefaultEditor flags 9
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatter outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatter flags 409
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatterFactory outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatterFactory flags 409
+
+class name javax/swing/JSpinner$NumberEditor
+header extends javax/swing/JSpinner$DefaultEditor nestHost javax/swing/JSpinner flags 21
+innerclass innerClass javax/swing/JSpinner$NumberEditor outerClass javax/swing/JSpinner innerClassName NumberEditor flags 9
+innerclass innerClass javax/swing/JSpinner$DefaultEditor outerClass javax/swing/JSpinner innerClassName DefaultEditor flags 9
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatter outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatter flags 409
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatterFactory outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatterFactory flags 409
+
+class name javax/swing/JSplitPane
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JSplitPane$AccessibleJSplitPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI")
+innerclass innerClass javax/swing/JSplitPane$AccessibleJSplitPane outerClass javax/swing/JSplitPane innerClassName AccessibleJSplitPane flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+-method name getUI descriptor ()Ljavax/swing/plaf/SplitPaneUI;
+-method name getUIClassID descriptor ()Ljava/lang/String;
+-method name getMinimumDividerLocation descriptor ()I
+-method name getUI descriptor ()Ljavax/swing/plaf/ComponentUI;
+method name getUI descriptor ()Ljavax/swing/plaf/SplitPaneUI; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="The\u005C;u0020;L&F\u005C;u0020;object\u005C;u0020;that\u005C;u0020;renders\u005C;u0020;this\u005C;u0020;component.")
+method name getUIClassID descriptor ()Ljava/lang/String; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="A\u005C;u0020;string\u005C;u0020;that\u005C;u0020;specifies\u005C;u0020;the\u005C;u0020;name\u005C;u0020;of\u005C;u0020;the\u005C;u0020;L&F\u005C;u0020;class.")
+method name getMinimumDividerLocation descriptor ()I flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse,description="The\u005C;u0020;minimum\u005C;u0020;location\u005C;u0020;of\u005C;u0020;the\u005C;u0020;divider\u005C;u0020;from\u005C;u0020;the\u005C;u0020;L&F.")
+method name getUI descriptor ()Ljavax/swing/plaf/ComponentUI; flags 1041 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="The\u005C;u0020;L&F\u005C;u0020;object\u005C;u0020;that\u005C;u0020;renders\u005C;u0020;this\u005C;u0020;component.")
+
+class name javax/swing/JSplitPane$AccessibleJSplitPane
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleValue nestHost javax/swing/JSplitPane flags 21
+innerclass innerClass javax/swing/JSplitPane$AccessibleJSplitPane outerClass javax/swing/JSplitPane innerClassName AccessibleJSplitPane flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JTabbedPane
+header extends javax/swing/JComponent implements java/io/Serializable,javax/accessibility/Accessible,javax/swing/SwingConstants nestMembers javax/swing/JTabbedPane$AccessibleJTabbedPane,javax/swing/JTabbedPane$ModelListener flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;which\u005C;u0020;provides\u005C;u0020;a\u005C;u0020;tab\u005C;u0020;folder\u005C;u0020;metaphor\u005C;u0020;for\u005C;u0020;displaying\u005C;u0020;one\u005C;u0020;component\u005C;u0020;from\u005C;u0020;a\u005C;u0020;set\u005C;u0020;of\u005C;u0020;components.")@Ljavax/swing/SwingContainer;
+innerclass innerClass javax/swing/JTabbedPane$AccessibleJTabbedPane outerClass javax/swing/JTabbedPane innerClassName AccessibleJTabbedPane flags 4
+innerclass innerClass javax/swing/JTabbedPane$ModelListener outerClass javax/swing/JTabbedPane innerClassName ModelListener flags 4
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JTabbedPane$AccessibleJTabbedPane
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleSelection,javax/swing/event/ChangeListener nestHost javax/swing/JTabbedPane flags 21
+innerclass innerClass javax/swing/JTabbedPane$AccessibleJTabbedPane outerClass javax/swing/JTabbedPane innerClassName AccessibleJTabbedPane flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JTabbedPane$ModelListener
+header extends java/lang/Object implements javax/swing/event/ChangeListener,java/io/Serializable nestHost javax/swing/JTabbedPane flags 21
+innerclass innerClass javax/swing/JTabbedPane$ModelListener outerClass javax/swing/JTabbedPane innerClassName ModelListener flags 4
+
+class name javax/swing/JTable
+header extends javax/swing/JComponent implements javax/swing/event/TableModelListener,javax/swing/Scrollable,javax/swing/event/TableColumnModelListener,javax/swing/event/ListSelectionListener,javax/swing/event/CellEditorListener,javax/accessibility/Accessible,javax/swing/event/RowSorterListener nestMembers javax/swing/JTable$AccessibleJTable,javax/swing/JTable$AccessibleJTable$AccessibleJTableCell,javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange,javax/swing/JTable$DropLocation,javax/swing/JTable$PrintMode flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;which\u005C;u0020;displays\u005C;u0020;data\u005C;u0020;in\u005C;u0020;a\u005C;u0020;two\u005C;u0020;dimensional\u005C;u0020;grid.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JTable$AccessibleJTable outerClass javax/swing/JTable innerClassName AccessibleJTable flags 4
+innerclass innerClass javax/swing/JTable$DropLocation outerClass javax/swing/JTable innerClassName DropLocation flags 19
+innerclass innerClass javax/swing/JTable$PrintMode outerClass javax/swing/JTable innerClassName PrintMode flags 4019
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass javax/swing/table/DefaultTableCellRenderer$UIResource outerClass javax/swing/table/DefaultTableCellRenderer innerClassName UIResource flags 9
+innerclass innerClass javax/swing/JTable$AccessibleJTable$AccessibleJTableCell outerClass javax/swing/JTable$AccessibleJTable innerClassName AccessibleJTableCell flags 4
+innerclass innerClass javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange outerClass javax/swing/JTable$AccessibleJTable innerClassName AccessibleJTableModelChange flags 4
+innerclass innerClass javax/swing/event/RowSorterEvent$Type outerClass javax/swing/event/RowSorterEvent innerClassName Type flags 4019
+innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JTable$AccessibleJTable
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleSelection,javax/swing/event/ListSelectionListener,javax/swing/event/TableModelListener,javax/swing/event/TableColumnModelListener,javax/swing/event/CellEditorListener,java/beans/PropertyChangeListener,javax/accessibility/AccessibleExtendedTable nestHost javax/swing/JTable flags 21
+innerclass innerClass javax/swing/JTable$AccessibleJTable outerClass javax/swing/JTable innerClassName AccessibleJTable flags 4
+innerclass innerClass javax/swing/JTable$AccessibleJTable$AccessibleJTableCell outerClass javax/swing/JTable$AccessibleJTable innerClassName AccessibleJTableCell flags 4
+innerclass innerClass javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange outerClass javax/swing/JTable$AccessibleJTable innerClassName AccessibleJTableModelChange flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JTable$AccessibleJTable$AccessibleJTableCell
+header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent nestHost javax/swing/JTable flags 21
+innerclass innerClass javax/swing/JTable$AccessibleJTable outerClass javax/swing/JTable innerClassName AccessibleJTable flags 4
+innerclass innerClass javax/swing/JTable$AccessibleJTable$AccessibleJTableCell outerClass javax/swing/JTable$AccessibleJTable innerClassName AccessibleJTableCell flags 4
+
+class name javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange
+header extends java/lang/Object implements javax/accessibility/AccessibleTableModelChange nestHost javax/swing/JTable flags 21
+innerclass innerClass javax/swing/JTable$AccessibleJTable outerClass javax/swing/JTable innerClassName AccessibleJTable flags 4
+innerclass innerClass javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange outerClass javax/swing/JTable$AccessibleJTable innerClassName AccessibleJTableModelChange flags 4
+
+class name javax/swing/JTable$DropLocation
+header extends javax/swing/TransferHandler$DropLocation nestHost javax/swing/JTable flags 31
+innerclass innerClass javax/swing/JTable$DropLocation outerClass javax/swing/JTable innerClassName DropLocation flags 19
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JTable$PrintMode
+header extends java/lang/Enum nestHost javax/swing/JTable flags 4031 signature Ljava/lang/Enum<Ljavax/swing/JTable$PrintMode;>;
+innerclass innerClass javax/swing/JTable$PrintMode outerClass javax/swing/JTable innerClassName PrintMode flags 4019
+
+class name javax/swing/JTextArea
+header extends javax/swing/text/JTextComponent nestMembers javax/swing/JTextArea$AccessibleJTextArea flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UIClassID",description="A\u005C;u0020;multi-line\u005C;u0020;area\u005C;u0020;that\u005C;u0020;displays\u005C;u0020;plain\u005C;u0020;text.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JTextArea$AccessibleJTextArea outerClass javax/swing/JTextArea innerClassName AccessibleJTextArea flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JTextArea$AccessibleJTextArea
+header extends javax/swing/text/JTextComponent$AccessibleJTextComponent nestHost javax/swing/JTextArea flags 21
+innerclass innerClass javax/swing/JTextArea$AccessibleJTextArea outerClass javax/swing/JTextArea innerClassName AccessibleJTextArea flags 4
+innerclass innerClass javax/swing/text/JTextComponent$AccessibleJTextComponent outerClass javax/swing/text/JTextComponent innerClassName AccessibleJTextComponent flags 1
+
+class name javax/swing/JTextField
+header extends javax/swing/text/JTextComponent implements javax/swing/SwingConstants nestMembers javax/swing/JTextField$AccessibleJTextField flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UIClassID",description="A\u005C;u0020;component\u005C;u0020;which\u005C;u0020;allows\u005C;u0020;for\u005C;u0020;the\u005C;u0020;editing\u005C;u0020;of\u005C;u0020;a\u005C;u0020;single\u005C;u0020;line\u005C;u0020;of\u005C;u0020;text.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JTextField$AccessibleJTextField outerClass javax/swing/JTextField innerClassName AccessibleJTextField flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JTextField$AccessibleJTextField
+header extends javax/swing/text/JTextComponent$AccessibleJTextComponent nestHost javax/swing/JTextField flags 21
+innerclass innerClass javax/swing/JTextField$AccessibleJTextField outerClass javax/swing/JTextField innerClassName AccessibleJTextField flags 4
+innerclass innerClass javax/swing/text/JTextComponent$AccessibleJTextComponent outerClass javax/swing/text/JTextComponent innerClassName AccessibleJTextComponent flags 1
+
+class name javax/swing/JTextPane
+header extends javax/swing/JEditorPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;text\u005C;u0020;component\u005C;u0020;that\u005C;u0020;can\u005C;u0020;be\u005C;u0020;marked\u005C;u0020;up\u005C;u0020;with\u005C;u0020;attributes\u005C;u0020;that\u005C;u0020;are\u005C;u0020;graphically\u005C;u0020;represented.")@Ljavax/swing/SwingContainer;
+
+class name javax/swing/JToggleButton
+header extends javax/swing/AbstractButton implements javax/accessibility/Accessible nestMembers javax/swing/JToggleButton$AccessibleJToggleButton,javax/swing/JToggleButton$ToggleButtonModel flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UIClassID",description="An\u005C;u0020;implementation\u005C;u0020;of\u005C;u0020;a\u005C;u0020;two-state\u005C;u0020;button.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JToggleButton$AccessibleJToggleButton outerClass javax/swing/JToggleButton innerClassName AccessibleJToggleButton flags 4
+innerclass innerClass javax/swing/JToggleButton$ToggleButtonModel outerClass javax/swing/JToggleButton innerClassName ToggleButtonModel flags 9
+innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019
+-method name getUIClassID descriptor ()Ljava/lang/String;
+method name getUIClassID descriptor ()Ljava/lang/String; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse,description="A\u005C;u0020;string\u005C;u0020;that\u005C;u0020;specifies\u005C;u0020;the\u005C;u0020;name\u005C;u0020;of\u005C;u0020;the\u005C;u0020;L&F\u005C;u0020;class")
+
+class name javax/swing/JToggleButton$AccessibleJToggleButton
+header extends javax/swing/AbstractButton$AccessibleAbstractButton implements java/awt/event/ItemListener nestHost javax/swing/JToggleButton flags 21
+innerclass innerClass javax/swing/JToggleButton$AccessibleJToggleButton outerClass javax/swing/JToggleButton innerClassName AccessibleJToggleButton flags 4
+innerclass innerClass javax/swing/AbstractButton$AccessibleAbstractButton outerClass javax/swing/AbstractButton innerClassName AccessibleAbstractButton flags 404
+
+class name javax/swing/JToggleButton$ToggleButtonModel
+header extends javax/swing/DefaultButtonModel nestHost javax/swing/JToggleButton flags 21
+innerclass innerClass javax/swing/JToggleButton$ToggleButtonModel outerClass javax/swing/JToggleButton innerClassName ToggleButtonModel flags 9
+
+class name javax/swing/JToolBar
+header extends javax/swing/JComponent implements javax/swing/SwingConstants,javax/accessibility/Accessible nestMembers javax/swing/JToolBar$AccessibleJToolBar,javax/swing/JToolBar$Separator flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;which\u005C;u0020;displays\u005C;u0020;commonly\u005C;u0020;used\u005C;u0020;controls\u005C;u0020;or\u005C;u0020;Actions.")@Ljavax/swing/SwingContainer;
+innerclass innerClass javax/swing/JToolBar$AccessibleJToolBar outerClass javax/swing/JToolBar innerClassName AccessibleJToolBar flags 4
+innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JToolBar$AccessibleJToolBar
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JToolBar flags 21
+innerclass innerClass javax/swing/JToolBar$AccessibleJToolBar outerClass javax/swing/JToolBar innerClassName AccessibleJToolBar flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JToolBar$Separator
+header extends javax/swing/JSeparator nestHost javax/swing/JToolBar flags 21
+innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9
+
+class name javax/swing/JToolTip
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JToolTip$AccessibleJToolTip flags 21
+innerclass innerClass javax/swing/JToolTip$AccessibleJToolTip outerClass javax/swing/JToolTip innerClassName AccessibleJToolTip flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JToolTip$AccessibleJToolTip
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JToolTip flags 21
+innerclass innerClass javax/swing/JToolTip$AccessibleJToolTip outerClass javax/swing/JToolTip innerClassName AccessibleJToolTip flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JTree
+header extends javax/swing/JComponent implements javax/swing/Scrollable,javax/accessibility/Accessible nestMembers javax/swing/JTree$AccessibleJTree,javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode,javax/swing/JTree$DynamicUtilTreeNode,javax/swing/JTree$TreeModelHandler,javax/swing/JTree$TreeSelectionRedirector,javax/swing/JTree$EmptySelectionModel,javax/swing/JTree$DropLocation flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI",description="A\u005C;u0020;component\u005C;u0020;that\u005C;u0020;displays\u005C;u0020;a\u005C;u0020;set\u005C;u0020;of\u005C;u0020;hierarchical\u005C;u0020;data\u005C;u0020;as\u005C;u0020;an\u005C;u0020;outline.")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/JTree$AccessibleJTree outerClass javax/swing/JTree innerClassName AccessibleJTree flags 4
+innerclass innerClass javax/swing/JTree$DynamicUtilTreeNode outerClass javax/swing/JTree innerClassName DynamicUtilTreeNode flags 9
+innerclass innerClass javax/swing/JTree$TreeModelHandler outerClass javax/swing/JTree innerClassName TreeModelHandler flags 4
+innerclass innerClass javax/swing/JTree$TreeSelectionRedirector outerClass javax/swing/JTree innerClassName TreeSelectionRedirector flags 4
+innerclass innerClass javax/swing/JTree$EmptySelectionModel outerClass javax/swing/JTree innerClassName EmptySelectionModel flags c
+innerclass innerClass javax/swing/JTree$DropLocation outerClass javax/swing/JTree innerClassName DropLocation flags 19
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode outerClass javax/swing/JTree$AccessibleJTree innerClassName AccessibleJTreeNode flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JTree$AccessibleJTree
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleSelection,javax/swing/event/TreeSelectionListener,javax/swing/event/TreeModelListener,javax/swing/event/TreeExpansionListener nestHost javax/swing/JTree flags 21
+innerclass innerClass javax/swing/JTree$AccessibleJTree outerClass javax/swing/JTree innerClassName AccessibleJTree flags 4
+innerclass innerClass javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode outerClass javax/swing/JTree$AccessibleJTree innerClassName AccessibleJTreeNode flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode
+header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent,javax/accessibility/AccessibleSelection,javax/accessibility/AccessibleAction nestHost javax/swing/JTree flags 21
+innerclass innerClass javax/swing/JTree$AccessibleJTree outerClass javax/swing/JTree innerClassName AccessibleJTree flags 4
+innerclass innerClass javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode outerClass javax/swing/JTree$AccessibleJTree innerClassName AccessibleJTreeNode flags 4
+
+class name javax/swing/JTree$DropLocation
+header extends javax/swing/TransferHandler$DropLocation nestHost javax/swing/JTree flags 31
+innerclass innerClass javax/swing/JTree$DropLocation outerClass javax/swing/JTree innerClassName DropLocation flags 19
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JTree$DynamicUtilTreeNode
+header extends javax/swing/tree/DefaultMutableTreeNode nestHost javax/swing/JTree flags 21
+innerclass innerClass javax/swing/JTree$DynamicUtilTreeNode outerClass javax/swing/JTree innerClassName DynamicUtilTreeNode flags 9
+
+class name javax/swing/JTree$EmptySelectionModel
+header extends javax/swing/tree/DefaultTreeSelectionModel nestHost javax/swing/JTree flags 21
+innerclass innerClass javax/swing/JTree$EmptySelectionModel outerClass javax/swing/JTree innerClassName EmptySelectionModel flags c
+
+class name javax/swing/JTree$TreeModelHandler
+header extends java/lang/Object implements javax/swing/event/TreeModelListener nestHost javax/swing/JTree flags 21
+innerclass innerClass javax/swing/JTree$TreeModelHandler outerClass javax/swing/JTree innerClassName TreeModelHandler flags 4
+
+class name javax/swing/JTree$TreeSelectionRedirector
+header extends java/lang/Object implements java/io/Serializable,javax/swing/event/TreeSelectionListener nestHost javax/swing/JTree flags 21
+innerclass innerClass javax/swing/JTree$TreeSelectionRedirector outerClass javax/swing/JTree innerClassName TreeSelectionRedirector flags 4
+
+class name javax/swing/JViewport
+header extends javax/swing/JComponent implements javax/accessibility/Accessible nestMembers javax/swing/JViewport$AccessibleJViewport,javax/swing/JViewport$ViewListener flags 21
+innerclass innerClass javax/swing/JViewport$AccessibleJViewport outerClass javax/swing/JViewport innerClassName AccessibleJViewport flags 4
+innerclass innerClass javax/swing/JViewport$ViewListener outerClass javax/swing/JViewport innerClassName ViewListener flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JViewport$AccessibleJViewport
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/JViewport flags 21
+innerclass innerClass javax/swing/JViewport$AccessibleJViewport outerClass javax/swing/JViewport innerClassName AccessibleJViewport flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/JViewport$ViewListener
+header extends java/awt/event/ComponentAdapter implements java/io/Serializable nestHost javax/swing/JViewport flags 21
+innerclass innerClass javax/swing/JViewport$ViewListener outerClass javax/swing/JViewport innerClassName ViewListener flags 4
+
+class name javax/swing/JWindow
+header extends java/awt/Window implements javax/accessibility/Accessible,javax/swing/RootPaneContainer,javax/swing/TransferHandler$HasGetTransferHandler nestMembers javax/swing/JWindow$AccessibleJWindow flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="accessibleContext",description="A\u005C;u0020;toplevel\u005C;u0020;window\u005C;u0020;which\u005C;u0020;has\u005C;u0020;no\u005C;u0020;system\u005C;u0020;border\u005C;u0020;or\u005C;u0020;controls.")@Ljavax/swing/SwingContainer;(delegate="getContentPane")
+innerclass innerClass javax/swing/JWindow$AccessibleJWindow outerClass javax/swing/JWindow innerClassName AccessibleJWindow flags 4
+innerclass innerClass javax/swing/TransferHandler$HasGetTransferHandler outerClass javax/swing/TransferHandler innerClassName HasGetTransferHandler flags 608
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/JWindow$AccessibleJWindow
+header extends java/awt/Window$AccessibleAWTWindow nestHost javax/swing/JWindow flags 21
+innerclass innerClass javax/swing/JWindow$AccessibleJWindow outerClass javax/swing/JWindow innerClassName AccessibleJWindow flags 4
+innerclass innerClass java/awt/Window$AccessibleAWTWindow outerClass java/awt/Window innerClassName AccessibleAWTWindow flags 4
+
+class name javax/swing/LayoutFocusTraversalPolicy
+header extends javax/swing/SortingFocusTraversalPolicy implements java/io/Serializable flags 21
+
+class name javax/swing/LayoutStyle
+header extends java/lang/Object nestMembers javax/swing/LayoutStyle$ComponentPlacement flags 421
+innerclass innerClass javax/swing/LayoutStyle$ComponentPlacement outerClass javax/swing/LayoutStyle innerClassName ComponentPlacement flags 4019
+
+class name javax/swing/LayoutStyle$ComponentPlacement
+header extends java/lang/Enum nestHost javax/swing/LayoutStyle flags 4031 signature Ljava/lang/Enum<Ljavax/swing/LayoutStyle$ComponentPlacement;>;
+innerclass innerClass javax/swing/LayoutStyle$ComponentPlacement outerClass javax/swing/LayoutStyle innerClassName ComponentPlacement flags 4019
+
+class name javax/swing/ListCellRenderer
+header extends java/lang/Object flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name javax/swing/ListModel
+header extends java/lang/Object flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name javax/swing/ListSelectionModel
+header extends java/lang/Object flags 601
+method name getSelectedIndices descriptor ()[I flags 1
+method name getSelectedItemsCount descriptor ()I flags 1
+
+class name javax/swing/LookAndFeel
+header extends java/lang/Object flags 421
+innerclass innerClass javax/swing/text/JTextComponent$KeyBinding outerClass javax/swing/text/JTextComponent innerClassName KeyBinding flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/MenuElement
+header extends java/lang/Object flags 601
+
+class name javax/swing/MenuSelectionManager
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/MutableComboBoxModel
+header extends java/lang/Object implements javax/swing/ComboBoxModel flags 601 signature <E:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/swing/ComboBoxModel<TE;>;
+
+class name javax/swing/OverlayLayout
+header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21
+
+class name javax/swing/Painter
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name javax/swing/ProgressMonitor
+header extends java/lang/Object implements javax/accessibility/Accessible nestMembers javax/swing/ProgressMonitor$AccessibleProgressMonitor flags 21
+innerclass innerClass javax/swing/ProgressMonitor$AccessibleProgressMonitor outerClass javax/swing/ProgressMonitor innerClassName AccessibleProgressMonitor flags 4
+
+class name javax/swing/ProgressMonitor$AccessibleProgressMonitor
+header extends javax/accessibility/AccessibleContext implements javax/accessibility/AccessibleText,javax/swing/event/ChangeListener,java/beans/PropertyChangeListener nestHost javax/swing/ProgressMonitor flags 21
+innerclass innerClass javax/swing/ProgressMonitor$AccessibleProgressMonitor outerClass javax/swing/ProgressMonitor innerClassName AccessibleProgressMonitor flags 4
+
+class name javax/swing/ProgressMonitorInputStream
+header extends java/io/FilterInputStream flags 21
+
+class name javax/swing/Renderer
+header extends java/lang/Object flags 601
+
+class name javax/swing/RootPaneContainer
+header extends java/lang/Object flags 601
+
+class name javax/swing/RowFilter
+header extends java/lang/Object nestMembers javax/swing/RowFilter$Entry,javax/swing/RowFilter$ComparisonType flags 421 signature <M:Ljava/lang/Object;I:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass javax/swing/RowFilter$Entry outerClass javax/swing/RowFilter innerClassName Entry flags 409
+innerclass innerClass javax/swing/RowFilter$ComparisonType outerClass javax/swing/RowFilter innerClassName ComparisonType flags 4019
+
+class name javax/swing/RowFilter$ComparisonType
+header extends java/lang/Enum nestHost javax/swing/RowFilter flags 4031 signature Ljava/lang/Enum<Ljavax/swing/RowFilter$ComparisonType;>;
+innerclass innerClass javax/swing/RowFilter$ComparisonType outerClass javax/swing/RowFilter innerClassName ComparisonType flags 4019
+
+class name javax/swing/RowFilter$Entry
+header extends java/lang/Object nestHost javax/swing/RowFilter flags 421 signature <M:Ljava/lang/Object;I:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass javax/swing/RowFilter$Entry outerClass javax/swing/RowFilter innerClassName Entry flags 409
+
+class name javax/swing/RowSorter
+header extends java/lang/Object nestMembers javax/swing/RowSorter$SortKey flags 421 signature <M:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass javax/swing/RowSorter$SortKey outerClass javax/swing/RowSorter innerClassName SortKey flags 9
+innerclass innerClass javax/swing/event/RowSorterEvent$Type outerClass javax/swing/event/RowSorterEvent innerClassName Type flags 4019
+
+class name javax/swing/RowSorter$SortKey
+header extends java/lang/Object nestHost javax/swing/RowSorter flags 21
+innerclass innerClass javax/swing/RowSorter$SortKey outerClass javax/swing/RowSorter innerClassName SortKey flags 9
+
+class name javax/swing/ScrollPaneConstants
+header extends java/lang/Object flags 601
+
+class name javax/swing/ScrollPaneLayout
+header extends java/lang/Object implements java/awt/LayoutManager,javax/swing/ScrollPaneConstants,java/io/Serializable nestMembers javax/swing/ScrollPaneLayout$UIResource flags 21
+innerclass innerClass javax/swing/ScrollPaneLayout$UIResource outerClass javax/swing/ScrollPaneLayout innerClassName UIResource flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/ScrollPaneLayout$UIResource
+header extends javax/swing/ScrollPaneLayout implements javax/swing/plaf/UIResource nestHost javax/swing/ScrollPaneLayout flags 21
+innerclass innerClass javax/swing/ScrollPaneLayout$UIResource outerClass javax/swing/ScrollPaneLayout innerClassName UIResource flags 9
+
+class name javax/swing/Scrollable
+header extends java/lang/Object flags 601
+
+class name javax/swing/SingleSelectionModel
+header extends java/lang/Object flags 601
+
+class name javax/swing/SizeRequirements
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/SizeSequence
+header extends java/lang/Object flags 21
+
+class name javax/swing/SortOrder
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljavax/swing/SortOrder;>;
+
+class name javax/swing/SortingFocusTraversalPolicy
+header extends javax/swing/InternalFrameFocusTraversalPolicy flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/SpinnerDateModel
+header extends javax/swing/AbstractSpinnerModel implements java/io/Serializable flags 21
+
+class name javax/swing/SpinnerListModel
+header extends javax/swing/AbstractSpinnerModel implements java/io/Serializable flags 21
+
+class name javax/swing/SpinnerModel
+header extends java/lang/Object flags 601
+
+class name javax/swing/SpinnerNumberModel
+header extends javax/swing/AbstractSpinnerModel implements java/io/Serializable flags 21
+
+class name javax/swing/SpringLayout
+header extends java/lang/Object implements java/awt/LayoutManager2 nestMembers javax/swing/SpringLayout$Constraints flags 21
+innerclass innerClass javax/swing/SpringLayout$Constraints outerClass javax/swing/SpringLayout innerClassName Constraints flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/SpringLayout$Constraints
+header extends java/lang/Object nestHost javax/swing/SpringLayout flags 21
+innerclass innerClass javax/swing/SpringLayout$Constraints outerClass javax/swing/SpringLayout innerClassName Constraints flags 9
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/SwingConstants
+header extends java/lang/Object flags 601
+
+class name javax/swing/SwingContainer
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name javax/swing/SwingWorker
+header extends java/lang/Object implements java/util/concurrent/RunnableFuture nestMembers javax/swing/SwingWorker$StateValue flags 421 signature <T:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/RunnableFuture<TT;>;
+innerclass innerClass javax/swing/SwingWorker$StateValue outerClass javax/swing/SwingWorker innerClassName StateValue flags 4019
+
+class name javax/swing/SwingWorker$StateValue
+header extends java/lang/Enum nestHost javax/swing/SwingWorker flags 4031 signature Ljava/lang/Enum<Ljavax/swing/SwingWorker$StateValue;>;
+innerclass innerClass javax/swing/SwingWorker$StateValue outerClass javax/swing/SwingWorker innerClassName StateValue flags 4019
+
+class name javax/swing/ToolTipManager
+header extends java/awt/event/MouseAdapter implements java/awt/event/MouseMotionListener nestMembers javax/swing/ToolTipManager$stillInsideTimerAction,javax/swing/ToolTipManager$outsideTimerAction,javax/swing/ToolTipManager$insideTimerAction flags 21
+innerclass innerClass javax/swing/ToolTipManager$stillInsideTimerAction outerClass javax/swing/ToolTipManager innerClassName stillInsideTimerAction flags 4
+innerclass innerClass javax/swing/ToolTipManager$outsideTimerAction outerClass javax/swing/ToolTipManager innerClassName outsideTimerAction flags 4
+innerclass innerClass javax/swing/ToolTipManager$insideTimerAction outerClass javax/swing/ToolTipManager innerClassName insideTimerAction flags 4
+
+class name javax/swing/ToolTipManager$insideTimerAction
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/ToolTipManager flags 21
+innerclass innerClass javax/swing/ToolTipManager$insideTimerAction outerClass javax/swing/ToolTipManager innerClassName insideTimerAction flags 4
+
+class name javax/swing/ToolTipManager$outsideTimerAction
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/ToolTipManager flags 21
+innerclass innerClass javax/swing/ToolTipManager$outsideTimerAction outerClass javax/swing/ToolTipManager innerClassName outsideTimerAction flags 4
+
+class name javax/swing/ToolTipManager$stillInsideTimerAction
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/ToolTipManager flags 21
+innerclass innerClass javax/swing/ToolTipManager$stillInsideTimerAction outerClass javax/swing/ToolTipManager innerClassName stillInsideTimerAction flags 4
+
+class name javax/swing/TransferHandler
+header extends java/lang/Object implements java/io/Serializable nestMembers javax/swing/TransferHandler$TransferSupport,javax/swing/TransferHandler$DropLocation,javax/swing/TransferHandler$HasGetTransferHandler flags 21
+innerclass innerClass javax/swing/TransferHandler$TransferSupport outerClass javax/swing/TransferHandler innerClassName TransferSupport flags 19
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass javax/swing/TransferHandler$HasGetTransferHandler outerClass javax/swing/TransferHandler innerClassName HasGetTransferHandler flags 608
+
+class name javax/swing/TransferHandler$DropLocation
+header extends java/lang/Object nestHost javax/swing/TransferHandler flags 21
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/TransferHandler$HasGetTransferHandler
+header extends java/lang/Object nestHost javax/swing/TransferHandler flags 600
+innerclass innerClass javax/swing/TransferHandler$HasGetTransferHandler outerClass javax/swing/TransferHandler innerClassName HasGetTransferHandler flags 608
+
+class name javax/swing/TransferHandler$TransferSupport
+header extends java/lang/Object nestHost javax/swing/TransferHandler flags 31
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass javax/swing/TransferHandler$TransferSupport outerClass javax/swing/TransferHandler innerClassName TransferSupport flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/UIClientPropertyKey
+header extends java/lang/Object flags 601
+
+class name javax/swing/UIDefaults
+header extends java/util/Hashtable nestMembers javax/swing/UIDefaults$LazyInputMap,javax/swing/UIDefaults$ProxyLazyValue,javax/swing/UIDefaults$ActiveValue,javax/swing/UIDefaults$LazyValue flags 21 signature Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
+innerclass innerClass javax/swing/UIDefaults$LazyInputMap outerClass javax/swing/UIDefaults innerClassName LazyInputMap flags 9
+innerclass innerClass javax/swing/UIDefaults$ProxyLazyValue outerClass javax/swing/UIDefaults innerClassName ProxyLazyValue flags 9
+innerclass innerClass javax/swing/UIDefaults$ActiveValue outerClass javax/swing/UIDefaults innerClassName ActiveValue flags 609
+innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/UIDefaults$ActiveValue
+header extends java/lang/Object nestHost javax/swing/UIDefaults flags 601
+innerclass innerClass javax/swing/UIDefaults$ActiveValue outerClass javax/swing/UIDefaults innerClassName ActiveValue flags 609
+
+class name javax/swing/UIDefaults$LazyInputMap
+header extends java/lang/Object implements javax/swing/UIDefaults$LazyValue nestHost javax/swing/UIDefaults flags 21
+innerclass innerClass javax/swing/UIDefaults$LazyInputMap outerClass javax/swing/UIDefaults innerClassName LazyInputMap flags 9
+innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609
+
+class name javax/swing/UIDefaults$LazyValue
+header extends java/lang/Object nestHost javax/swing/UIDefaults flags 601
+innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609
+
+class name javax/swing/UIDefaults$ProxyLazyValue
+header extends java/lang/Object implements javax/swing/UIDefaults$LazyValue nestHost javax/swing/UIDefaults flags 21
+innerclass innerClass javax/swing/UIDefaults$ProxyLazyValue outerClass javax/swing/UIDefaults innerClassName ProxyLazyValue flags 9
+innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/UIManager
+header extends java/lang/Object implements java/io/Serializable nestMembers javax/swing/UIManager$LookAndFeelInfo flags 21
+innerclass innerClass javax/swing/UIManager$LookAndFeelInfo outerClass javax/swing/UIManager innerClassName LookAndFeelInfo flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/UIManager$LookAndFeelInfo
+header extends java/lang/Object nestHost javax/swing/UIManager flags 21
+innerclass innerClass javax/swing/UIManager$LookAndFeelInfo outerClass javax/swing/UIManager innerClassName LookAndFeelInfo flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/UnsupportedLookAndFeelException
+header extends java/lang/Exception flags 21
+
+class name javax/swing/ViewportLayout
+header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21
+
+class name javax/swing/WindowConstants
+header extends java/lang/Object flags 601
+
+class name javax/swing/border/AbstractBorder
+header extends java/lang/Object implements javax/swing/border/Border,java/io/Serializable flags 421
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/border/BevelBorder
+header extends javax/swing/border/AbstractBorder flags 21
+
+class name javax/swing/border/Border
+header extends java/lang/Object flags 601
+
+class name javax/swing/border/CompoundBorder
+header extends javax/swing/border/AbstractBorder flags 21
+
+class name javax/swing/border/EmptyBorder
+header extends javax/swing/border/AbstractBorder implements java/io/Serializable flags 21
+
+class name javax/swing/border/EtchedBorder
+header extends javax/swing/border/AbstractBorder flags 21
+
+class name javax/swing/border/LineBorder
+header extends javax/swing/border/AbstractBorder flags 21
+innerclass innerClass java/awt/geom/RoundRectangle2D$Float outerClass java/awt/geom/RoundRectangle2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9
+
+class name javax/swing/border/MatteBorder
+header extends javax/swing/border/EmptyBorder flags 21
+
+class name javax/swing/border/SoftBevelBorder
+header extends javax/swing/border/BevelBorder flags 21
+
+class name javax/swing/border/StrokeBorder
+header extends javax/swing/border/AbstractBorder flags 21
+innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9
+innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409
+
+class name javax/swing/colorchooser/ColorChooserComponentFactory
+header extends java/lang/Object flags 21
+
+class name javax/swing/colorchooser/ColorSelectionModel
+header extends java/lang/Object flags 601
+
+class name javax/swing/colorchooser/DefaultColorSelectionModel
+header extends java/lang/Object implements javax/swing/colorchooser/ColorSelectionModel,java/io/Serializable flags 21
+
+class name javax/swing/event/AncestorEvent
+header extends java/awt/AWTEvent flags 21
+
+class name javax/swing/event/AncestorListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/CaretEvent
+header extends java/util/EventObject flags 421
+
+class name javax/swing/event/CaretListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/CellEditorListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/ChangeEvent
+header extends java/util/EventObject flags 21
+
+class name javax/swing/event/ChangeListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/DocumentEvent
+header extends java/lang/Object nestMembers javax/swing/event/DocumentEvent$ElementChange,javax/swing/event/DocumentEvent$EventType flags 601
+innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609
+innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19
+
+class name javax/swing/event/DocumentEvent$ElementChange
+header extends java/lang/Object nestHost javax/swing/event/DocumentEvent flags 601
+innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609
+
+class name javax/swing/event/DocumentEvent$EventType
+header extends java/lang/Object nestHost javax/swing/event/DocumentEvent flags 31
+innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19
+
+class name javax/swing/event/DocumentListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/EventListenerList
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/event/HyperlinkEvent
+header extends java/util/EventObject nestMembers javax/swing/event/HyperlinkEvent$EventType flags 21
+innerclass innerClass javax/swing/event/HyperlinkEvent$EventType outerClass javax/swing/event/HyperlinkEvent innerClassName EventType flags 19
+
+class name javax/swing/event/HyperlinkEvent$EventType
+header extends java/lang/Object nestHost javax/swing/event/HyperlinkEvent flags 31
+innerclass innerClass javax/swing/event/HyperlinkEvent$EventType outerClass javax/swing/event/HyperlinkEvent innerClassName EventType flags 19
+
+class name javax/swing/event/HyperlinkListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/InternalFrameAdapter
+header extends java/lang/Object implements javax/swing/event/InternalFrameListener flags 421
+
+class name javax/swing/event/InternalFrameEvent
+header extends java/awt/AWTEvent flags 21
+
+class name javax/swing/event/InternalFrameListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/ListDataEvent
+header extends java/util/EventObject flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/event/ListDataListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/ListSelectionEvent
+header extends java/util/EventObject flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/event/ListSelectionListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/MenuDragMouseEvent
+header extends java/awt/event/MouseEvent flags 21
+
+class name javax/swing/event/MenuDragMouseListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/MenuEvent
+header extends java/util/EventObject flags 21
+
+class name javax/swing/event/MenuKeyEvent
+header extends java/awt/event/KeyEvent flags 21
+
+class name javax/swing/event/MenuKeyListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/MenuListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/MouseInputAdapter
+header extends java/awt/event/MouseAdapter implements javax/swing/event/MouseInputListener flags 421
+
+class name javax/swing/event/MouseInputListener
+header extends java/lang/Object implements java/awt/event/MouseListener,java/awt/event/MouseMotionListener flags 601
+
+class name javax/swing/event/PopupMenuEvent
+header extends java/util/EventObject flags 21
+
+class name javax/swing/event/PopupMenuListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/RowSorterEvent
+header extends java/util/EventObject nestMembers javax/swing/event/RowSorterEvent$Type flags 21
+innerclass innerClass javax/swing/event/RowSorterEvent$Type outerClass javax/swing/event/RowSorterEvent innerClassName Type flags 4019
+
+class name javax/swing/event/RowSorterEvent$Type
+header extends java/lang/Enum nestHost javax/swing/event/RowSorterEvent flags 4031 signature Ljava/lang/Enum<Ljavax/swing/event/RowSorterEvent$Type;>;
+innerclass innerClass javax/swing/event/RowSorterEvent$Type outerClass javax/swing/event/RowSorterEvent innerClassName Type flags 4019
+
+class name javax/swing/event/RowSorterListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/TableColumnModelEvent
+header extends java/util/EventObject flags 21
+
+class name javax/swing/event/TableColumnModelListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/TableModelEvent
+header extends java/util/EventObject flags 21
+
+class name javax/swing/event/TableModelListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/TreeExpansionEvent
+header extends java/util/EventObject flags 21
+
+class name javax/swing/event/TreeExpansionListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/TreeModelEvent
+header extends java/util/EventObject flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/event/TreeModelListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/TreeSelectionEvent
+header extends java/util/EventObject flags 21
+
+class name javax/swing/event/TreeSelectionListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/TreeWillExpandListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/event/UndoableEditEvent
+header extends java/util/EventObject flags 21
+
+class name javax/swing/event/UndoableEditListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/swing/filechooser/FileFilter
+header extends java/lang/Object flags 421
+
+class name javax/swing/filechooser/FileNameExtensionFilter
+header extends javax/swing/filechooser/FileFilter flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/filechooser/FileView
+header extends java/lang/Object flags 421
+
+class name javax/swing/plaf/ActionMapUIResource
+header extends javax/swing/ActionMap implements javax/swing/plaf/UIResource flags 21
+
+class name javax/swing/plaf/BorderUIResource
+header extends java/lang/Object implements javax/swing/border/Border,javax/swing/plaf/UIResource,java/io/Serializable nestMembers javax/swing/plaf/BorderUIResource$TitledBorderUIResource,javax/swing/plaf/BorderUIResource$MatteBorderUIResource,javax/swing/plaf/BorderUIResource$EtchedBorderUIResource,javax/swing/plaf/BorderUIResource$BevelBorderUIResource,javax/swing/plaf/BorderUIResource$LineBorderUIResource,javax/swing/plaf/BorderUIResource$EmptyBorderUIResource,javax/swing/plaf/BorderUIResource$CompoundBorderUIResource flags 21
+innerclass innerClass javax/swing/plaf/BorderUIResource$TitledBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName TitledBorderUIResource flags 9
+innerclass innerClass javax/swing/plaf/BorderUIResource$MatteBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName MatteBorderUIResource flags 9
+innerclass innerClass javax/swing/plaf/BorderUIResource$EtchedBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName EtchedBorderUIResource flags 9
+innerclass innerClass javax/swing/plaf/BorderUIResource$BevelBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName BevelBorderUIResource flags 9
+innerclass innerClass javax/swing/plaf/BorderUIResource$LineBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName LineBorderUIResource flags 9
+innerclass innerClass javax/swing/plaf/BorderUIResource$EmptyBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName EmptyBorderUIResource flags 9
+innerclass innerClass javax/swing/plaf/BorderUIResource$CompoundBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName CompoundBorderUIResource flags 9
+
+class name javax/swing/plaf/BorderUIResource$BevelBorderUIResource
+header extends javax/swing/border/BevelBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/BorderUIResource flags 21
+innerclass innerClass javax/swing/plaf/BorderUIResource$BevelBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName BevelBorderUIResource flags 9
+
+class name javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
+header extends javax/swing/border/CompoundBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/BorderUIResource flags 21
+innerclass innerClass javax/swing/plaf/BorderUIResource$CompoundBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName CompoundBorderUIResource flags 9
+
+class name javax/swing/plaf/BorderUIResource$EmptyBorderUIResource
+header extends javax/swing/border/EmptyBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/BorderUIResource flags 21
+innerclass innerClass javax/swing/plaf/BorderUIResource$EmptyBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName EmptyBorderUIResource flags 9
+
+class name javax/swing/plaf/BorderUIResource$EtchedBorderUIResource
+header extends javax/swing/border/EtchedBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/BorderUIResource flags 21
+innerclass innerClass javax/swing/plaf/BorderUIResource$EtchedBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName EtchedBorderUIResource flags 9
+
+class name javax/swing/plaf/BorderUIResource$LineBorderUIResource
+header extends javax/swing/border/LineBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/BorderUIResource flags 21
+innerclass innerClass javax/swing/plaf/BorderUIResource$LineBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName LineBorderUIResource flags 9
+
+class name javax/swing/plaf/BorderUIResource$MatteBorderUIResource
+header extends javax/swing/border/MatteBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/BorderUIResource flags 21
+innerclass innerClass javax/swing/plaf/BorderUIResource$MatteBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName MatteBorderUIResource flags 9
+
+class name javax/swing/plaf/BorderUIResource$TitledBorderUIResource
+header extends javax/swing/border/TitledBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/BorderUIResource flags 21
+innerclass innerClass javax/swing/plaf/BorderUIResource$TitledBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName TitledBorderUIResource flags 9
+
+class name javax/swing/plaf/ButtonUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/ColorChooserUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/ColorUIResource
+header extends java/awt/Color implements javax/swing/plaf/UIResource flags 21
+
+class name javax/swing/plaf/ComboBoxUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/ComponentInputMapUIResource
+header extends javax/swing/ComponentInputMap implements javax/swing/plaf/UIResource flags 21
+
+class name javax/swing/plaf/ComponentUI
+header extends java/lang/Object flags 421
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/plaf/DesktopIconUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/DesktopPaneUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/DimensionUIResource
+header extends java/awt/Dimension implements javax/swing/plaf/UIResource flags 21
+
+class name javax/swing/plaf/FileChooserUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/FontUIResource
+header extends java/awt/Font implements javax/swing/plaf/UIResource flags 21
+
+class name javax/swing/plaf/IconUIResource
+header extends java/lang/Object implements javax/swing/Icon,javax/swing/plaf/UIResource,java/io/Serializable flags 21
+
+class name javax/swing/plaf/InputMapUIResource
+header extends javax/swing/InputMap implements javax/swing/plaf/UIResource flags 21
+
+class name javax/swing/plaf/InsetsUIResource
+header extends java/awt/Insets implements javax/swing/plaf/UIResource flags 21
+
+class name javax/swing/plaf/InternalFrameUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/LabelUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/LayerUI
+header extends javax/swing/plaf/ComponentUI implements java/io/Serializable flags 21 signature <V:Ljava/awt/Component;>Ljavax/swing/plaf/ComponentUI;Ljava/io/Serializable;
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/plaf/ListUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/MenuBarUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/MenuItemUI
+header extends javax/swing/plaf/ButtonUI flags 421
+
+class name javax/swing/plaf/OptionPaneUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/PanelUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/PopupMenuUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/ProgressBarUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/RootPaneUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/ScrollBarUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/ScrollPaneUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/SeparatorUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/SliderUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/SpinnerUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/SplitPaneUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/TabbedPaneUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/TableHeaderUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/TableUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/TextUI
+header extends javax/swing/plaf/ComponentUI flags 421
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/plaf/ToolBarUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/ToolTipUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/TreeUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/UIResource
+header extends java/lang/Object flags 601
+
+class name javax/swing/plaf/ViewportUI
+header extends javax/swing/plaf/ComponentUI flags 421
+
+class name javax/swing/plaf/basic/BasicArrowButton
+header extends javax/swing/JButton implements javax/swing/SwingConstants flags 21
+innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9
+
+class name javax/swing/plaf/basic/BasicBorders
+header extends java/lang/Object nestMembers javax/swing/plaf/basic/BasicBorders$SplitPaneBorder,javax/swing/plaf/basic/BasicBorders$FieldBorder,javax/swing/plaf/basic/BasicBorders$MarginBorder,javax/swing/plaf/basic/BasicBorders$MenuBarBorder,javax/swing/plaf/basic/BasicBorders$RadioButtonBorder,javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder,javax/swing/plaf/basic/BasicBorders$ButtonBorder,javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$SplitPaneBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName SplitPaneBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$FieldBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName FieldBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$MarginBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName MarginBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$MenuBarBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName MenuBarBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$RadioButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName RadioButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName ToggleButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$ButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName ButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName RolloverButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/BorderUIResource$CompoundBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName CompoundBorderUIResource flags 9
+innerclass innerClass javax/swing/plaf/BorderUIResource$LineBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName LineBorderUIResource flags 9
+
+class name javax/swing/plaf/basic/BasicBorders$ButtonBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/basic/BasicBorders flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$ButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName ButtonBorder flags 9
+
+class name javax/swing/plaf/basic/BasicBorders$FieldBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/basic/BasicBorders flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$FieldBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName FieldBorder flags 9
+
+class name javax/swing/plaf/basic/BasicBorders$MarginBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/basic/BasicBorders flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$MarginBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName MarginBorder flags 9
+
+class name javax/swing/plaf/basic/BasicBorders$MenuBarBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/basic/BasicBorders flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$MenuBarBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName MenuBarBorder flags 9
+
+class name javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
+header extends javax/swing/plaf/basic/BasicBorders$ButtonBorder nestHost javax/swing/plaf/basic/BasicBorders flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$RadioButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName RadioButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$ButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName ButtonBorder flags 9
+
+class name javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder
+header extends javax/swing/plaf/basic/BasicBorders$ButtonBorder nestHost javax/swing/plaf/basic/BasicBorders flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName RolloverButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$ButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName ButtonBorder flags 9
+
+class name javax/swing/plaf/basic/BasicBorders$SplitPaneBorder
+header extends java/lang/Object implements javax/swing/border/Border,javax/swing/plaf/UIResource nestHost javax/swing/plaf/basic/BasicBorders flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$SplitPaneBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName SplitPaneBorder flags 9
+
+class name javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder
+header extends javax/swing/plaf/basic/BasicBorders$ButtonBorder nestHost javax/swing/plaf/basic/BasicBorders flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName ToggleButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$ButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName ButtonBorder flags 9
+
+class name javax/swing/plaf/basic/BasicButtonUI
+header extends javax/swing/plaf/ButtonUI flags 21
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicCheckBoxMenuItemUI
+header extends javax/swing/plaf/basic/BasicMenuItemUI flags 21
+
+class name javax/swing/plaf/basic/BasicCheckBoxUI
+header extends javax/swing/plaf/basic/BasicRadioButtonUI flags 21
+
+class name javax/swing/plaf/basic/BasicColorChooserUI
+header extends javax/swing/plaf/ColorChooserUI nestMembers javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler outerClass javax/swing/plaf/basic/BasicColorChooserUI innerClassName PropertyHandler flags 1
+
+class name javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicColorChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler outerClass javax/swing/plaf/basic/BasicColorChooserUI innerClassName PropertyHandler flags 1
+
+class name javax/swing/plaf/basic/BasicComboBoxEditor
+header extends java/lang/Object implements javax/swing/ComboBoxEditor,java/awt/event/FocusListener nestMembers javax/swing/plaf/basic/BasicComboBoxEditor$UIResource flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxEditor$UIResource outerClass javax/swing/plaf/basic/BasicComboBoxEditor innerClassName UIResource flags 9
+
+class name javax/swing/plaf/basic/BasicComboBoxEditor$UIResource
+header extends javax/swing/plaf/basic/BasicComboBoxEditor implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/basic/BasicComboBoxEditor flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxEditor$UIResource outerClass javax/swing/plaf/basic/BasicComboBoxEditor innerClassName UIResource flags 9
+
+class name javax/swing/plaf/basic/BasicComboBoxRenderer
+header extends javax/swing/JLabel implements javax/swing/ListCellRenderer,java/io/Serializable nestMembers javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource flags 21 signature Ljavax/swing/JLabel;Ljavax/swing/ListCellRenderer<Ljava/lang/Object;>;Ljava/io/Serializable;
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource outerClass javax/swing/plaf/basic/BasicComboBoxRenderer innerClassName UIResource flags 9
+
+class name javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource
+header extends javax/swing/plaf/basic/BasicComboBoxRenderer implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/basic/BasicComboBoxRenderer flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource outerClass javax/swing/plaf/basic/BasicComboBoxRenderer innerClassName UIResource flags 9
+
+class name javax/swing/plaf/basic/BasicComboBoxUI
+header extends javax/swing/plaf/ComboBoxUI nestMembers javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager,javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler,javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler,javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler,javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler,javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName ComboBoxLayoutManager flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName PropertyChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName ItemHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName ListDataHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName FocusHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName KeyHandler flags 1
+innerclass innerClass javax/swing/JComboBox$KeySelectionManager outerClass javax/swing/JComboBox innerClassName KeySelectionManager flags 609
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource outerClass javax/swing/plaf/basic/BasicComboBoxRenderer innerClassName UIResource flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxEditor$UIResource outerClass javax/swing/plaf/basic/BasicComboBoxEditor innerClassName UIResource flags 9
+
+class name javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager
+header extends java/lang/Object implements java/awt/LayoutManager nestHost javax/swing/plaf/basic/BasicComboBoxUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName ComboBoxLayoutManager flags 1
+
+class name javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler
+header extends java/lang/Object implements java/awt/event/FocusListener nestHost javax/swing/plaf/basic/BasicComboBoxUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName FocusHandler flags 1
+
+class name javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler
+header extends java/lang/Object implements java/awt/event/ItemListener nestHost javax/swing/plaf/basic/BasicComboBoxUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName ItemHandler flags 1
+
+class name javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler
+header extends java/awt/event/KeyAdapter nestHost javax/swing/plaf/basic/BasicComboBoxUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName KeyHandler flags 1
+
+class name javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler
+header extends java/lang/Object implements javax/swing/event/ListDataListener nestHost javax/swing/plaf/basic/BasicComboBoxUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName ListDataHandler flags 1
+
+class name javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicComboBoxUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicComboPopup
+header extends javax/swing/JPopupMenu implements javax/swing/plaf/basic/ComboPopup nestMembers javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler,javax/swing/plaf/basic/BasicComboPopup$ItemHandler,javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler,javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler,javax/swing/plaf/basic/BasicComboPopup$ListDataHandler,javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler,javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler,javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler,javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName PropertyChangeHandler flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ItemHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ItemHandler flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ListMouseMotionHandler flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ListMouseHandler flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ListDataHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ListDataHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ListSelectionHandler flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName InvocationKeyHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName InvocationMouseMotionHandler flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName InvocationMouseHandler flags 4
+
+class name javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler
+header extends java/awt/event/KeyAdapter nestHost javax/swing/plaf/basic/BasicComboPopup flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName InvocationKeyHandler flags 1
+
+class name javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler
+header extends java/awt/event/MouseAdapter nestHost javax/swing/plaf/basic/BasicComboPopup flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName InvocationMouseHandler flags 4
+
+class name javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler
+header extends java/awt/event/MouseMotionAdapter nestHost javax/swing/plaf/basic/BasicComboPopup flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName InvocationMouseMotionHandler flags 4
+
+class name javax/swing/plaf/basic/BasicComboPopup$ItemHandler
+header extends java/lang/Object implements java/awt/event/ItemListener nestHost javax/swing/plaf/basic/BasicComboPopup flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ItemHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ItemHandler flags 4
+
+class name javax/swing/plaf/basic/BasicComboPopup$ListDataHandler
+header extends java/lang/Object implements javax/swing/event/ListDataListener nestHost javax/swing/plaf/basic/BasicComboPopup flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ListDataHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ListDataHandler flags 1
+
+class name javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler
+header extends java/awt/event/MouseAdapter nestHost javax/swing/plaf/basic/BasicComboPopup flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ListMouseHandler flags 4
+
+class name javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler
+header extends java/awt/event/MouseMotionAdapter nestHost javax/swing/plaf/basic/BasicComboPopup flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ListMouseMotionHandler flags 4
+
+class name javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler
+header extends java/lang/Object implements javax/swing/event/ListSelectionListener nestHost javax/swing/plaf/basic/BasicComboPopup flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName ListSelectionHandler flags 4
+
+class name javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicComboPopup flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName PropertyChangeHandler flags 4
+
+class name javax/swing/plaf/basic/BasicDesktopIconUI
+header extends javax/swing/plaf/DesktopIconUI nestMembers javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicDesktopIconUI innerClassName MouseInputHandler flags 1
+innerclass innerClass javax/swing/JInternalFrame$JDesktopIcon outerClass javax/swing/JInternalFrame innerClassName JDesktopIcon flags 9
+
+class name javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler
+header extends javax/swing/event/MouseInputAdapter nestHost javax/swing/plaf/basic/BasicDesktopIconUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicDesktopIconUI innerClassName MouseInputHandler flags 1
+innerclass innerClass javax/swing/JInternalFrame$JDesktopIcon outerClass javax/swing/JInternalFrame innerClassName JDesktopIcon flags 9
+
+class name javax/swing/plaf/basic/BasicDesktopPaneUI
+header extends javax/swing/plaf/DesktopPaneUI nestMembers javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction,javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction,javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction,javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction,javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName NavigateAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName MaximizeAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName MinimizeAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName CloseAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName OpenAction flags 4
+
+class name javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicDesktopPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName CloseAction flags 4
+
+class name javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicDesktopPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName MaximizeAction flags 4
+
+class name javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicDesktopPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName MinimizeAction flags 4
+
+class name javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicDesktopPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName NavigateAction flags 4
+
+class name javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicDesktopPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction outerClass javax/swing/plaf/basic/BasicDesktopPaneUI innerClassName OpenAction flags 4
+
+class name javax/swing/plaf/basic/BasicFileChooserUI
+header extends javax/swing/plaf/FileChooserUI nestMembers javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView,javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter,javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction,javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction,javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction,javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction,javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction,javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction,javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener,javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName BasicFileView flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName AcceptAllFileFilter flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName UpdateAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName CancelSelectionAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName ApproveSelectionAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName ChangeToParentDirectoryAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName GoHomeAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName NewFolderAction flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName SelectionListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName DoubleClickListener flags 4
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter
+header extends javax/swing/filechooser/FileFilter nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName AcceptAllFileFilter flags 4
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName ApproveSelectionAction flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView
+header extends javax/swing/filechooser/FileView nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName BasicFileView flags 4
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName CancelSelectionAction flags 4
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName ChangeToParentDirectoryAction flags 4
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener
+header extends java/awt/event/MouseAdapter nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName DoubleClickListener flags 4
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName GoHomeAction flags 4
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName NewFolderAction flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener
+header extends java/lang/Object implements javax/swing/event/ListSelectionListener nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName SelectionListener flags 4
+
+class name javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction outerClass javax/swing/plaf/basic/BasicFileChooserUI innerClassName UpdateAction flags 4
+
+class name javax/swing/plaf/basic/BasicFormattedTextFieldUI
+header extends javax/swing/plaf/basic/BasicTextFieldUI flags 21
+
+class name javax/swing/plaf/basic/BasicGraphicsUtils
+header extends java/lang/Object flags 21
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane
+header extends javax/swing/JComponent nestMembers javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar,javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction,javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction,javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction,javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction,javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction,javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction,javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout,javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName SystemMenuBar flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName SizeAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName MoveAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName RestoreAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName IconifyAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName MaximizeAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName CloseAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName TitlePaneLayout flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName PropertyChangeHandler flags 1
+innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicInternalFrameTitlePane flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName CloseAction flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicInternalFrameTitlePane flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName IconifyAction flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicInternalFrameTitlePane flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName MaximizeAction flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicInternalFrameTitlePane flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName MoveAction flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicInternalFrameTitlePane flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicInternalFrameTitlePane flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName RestoreAction flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicInternalFrameTitlePane flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName SizeAction flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar
+header extends javax/swing/JMenuBar nestHost javax/swing/plaf/basic/BasicInternalFrameTitlePane flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName SystemMenuBar flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout
+header extends java/lang/Object implements java/awt/LayoutManager nestHost javax/swing/plaf/basic/BasicInternalFrameTitlePane flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout outerClass javax/swing/plaf/basic/BasicInternalFrameTitlePane innerClassName TitlePaneLayout flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameUI
+header extends javax/swing/plaf/InternalFrameUI nestMembers javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener,javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher,javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler,javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener,javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout,javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName BasicInternalFrameListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName GlassPaneDispatcher flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName ComponentHandler flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName BorderListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName InternalFrameLayout flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName InternalFramePropertyChangeListener flags 1
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener
+header extends java/lang/Object implements javax/swing/event/InternalFrameListener nestHost javax/swing/plaf/basic/BasicInternalFrameUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName BasicInternalFrameListener flags 4
+
+class name javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener
+header extends javax/swing/event/MouseInputAdapter implements javax/swing/SwingConstants nestHost javax/swing/plaf/basic/BasicInternalFrameUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName BorderListener flags 4
+
+class name javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler
+header extends java/lang/Object implements java/awt/event/ComponentListener nestHost javax/swing/plaf/basic/BasicInternalFrameUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName ComponentHandler flags 4
+
+class name javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher
+header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicInternalFrameUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName GlassPaneDispatcher flags 4
+
+class name javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout
+header extends java/lang/Object implements java/awt/LayoutManager nestHost javax/swing/plaf/basic/BasicInternalFrameUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName InternalFrameLayout flags 1
+
+class name javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicInternalFrameUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener outerClass javax/swing/plaf/basic/BasicInternalFrameUI innerClassName InternalFramePropertyChangeListener flags 1
+
+class name javax/swing/plaf/basic/BasicListUI
+header extends javax/swing/plaf/ListUI nestMembers javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler,javax/swing/plaf/basic/BasicListUI$ListDataHandler,javax/swing/plaf/basic/BasicListUI$ListSelectionHandler,javax/swing/plaf/basic/BasicListUI$FocusHandler,javax/swing/plaf/basic/BasicListUI$MouseInputHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName PropertyChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$ListDataHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName ListDataHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$ListSelectionHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName ListSelectionHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$FocusHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName FocusHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName MouseInputHandler flags 1
+innerclass innerClass javax/swing/JList$DropLocation outerClass javax/swing/JList innerClassName DropLocation flags 19
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/plaf/basic/BasicListUI$FocusHandler
+header extends java/lang/Object implements java/awt/event/FocusListener nestHost javax/swing/plaf/basic/BasicListUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$FocusHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName FocusHandler flags 1
+
+class name javax/swing/plaf/basic/BasicListUI$ListDataHandler
+header extends java/lang/Object implements javax/swing/event/ListDataListener nestHost javax/swing/plaf/basic/BasicListUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$ListDataHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName ListDataHandler flags 1
+
+class name javax/swing/plaf/basic/BasicListUI$ListSelectionHandler
+header extends java/lang/Object implements javax/swing/event/ListSelectionListener nestHost javax/swing/plaf/basic/BasicListUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$ListSelectionHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName ListSelectionHandler flags 1
+
+class name javax/swing/plaf/basic/BasicListUI$MouseInputHandler
+header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicListUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName MouseInputHandler flags 1
+
+class name javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicListUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicListUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicMenuItemUI
+header extends javax/swing/plaf/MenuItemUI nestMembers javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicMenuItemUI innerClassName MouseInputHandler flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler
+header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicMenuItemUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicMenuItemUI innerClassName MouseInputHandler flags 4
+
+class name javax/swing/plaf/basic/BasicMenuUI
+header extends javax/swing/plaf/basic/BasicMenuItemUI nestMembers javax/swing/plaf/basic/BasicMenuUI$ChangeHandler,javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicMenuUI$ChangeHandler outerClass javax/swing/plaf/basic/BasicMenuUI innerClassName ChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicMenuUI innerClassName MouseInputHandler flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicMenuUI$ChangeHandler
+header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicMenuUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicMenuUI$ChangeHandler outerClass javax/swing/plaf/basic/BasicMenuUI innerClassName ChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler
+header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicMenuUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicMenuUI innerClassName MouseInputHandler flags 4
+
+class name javax/swing/plaf/basic/BasicOptionPaneUI
+header extends javax/swing/plaf/OptionPaneUI nestMembers javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener,javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler,javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener outerClass javax/swing/plaf/basic/BasicOptionPaneUI innerClassName ButtonActionListener flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicOptionPaneUI innerClassName PropertyChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout outerClass javax/swing/plaf/basic/BasicOptionPaneUI innerClassName ButtonAreaLayout flags 9
+
+class name javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicOptionPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener outerClass javax/swing/plaf/basic/BasicOptionPaneUI innerClassName ButtonActionListener flags 1
+
+class name javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout
+header extends java/lang/Object implements java/awt/LayoutManager nestHost javax/swing/plaf/basic/BasicOptionPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout outerClass javax/swing/plaf/basic/BasicOptionPaneUI innerClassName ButtonAreaLayout flags 9
+
+class name javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicOptionPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicOptionPaneUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicPanelUI
+header extends javax/swing/plaf/PanelUI flags 21
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/plaf/basic/BasicPasswordFieldUI
+header extends javax/swing/plaf/basic/BasicTextFieldUI flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicPopupMenuSeparatorUI
+header extends javax/swing/plaf/basic/BasicSeparatorUI flags 21
+
+class name javax/swing/plaf/basic/BasicProgressBarUI
+header extends javax/swing/plaf/ProgressBarUI nestMembers javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler outerClass javax/swing/plaf/basic/BasicProgressBarUI innerClassName ChangeHandler flags 1
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler
+header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicProgressBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler outerClass javax/swing/plaf/basic/BasicProgressBarUI innerClassName ChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicRadioButtonMenuItemUI
+header extends javax/swing/plaf/basic/BasicMenuItemUI flags 21
+
+class name javax/swing/plaf/basic/BasicScrollBarUI
+header extends javax/swing/plaf/ScrollBarUI implements java/awt/LayoutManager,javax/swing/SwingConstants nestMembers javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler,javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener,javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener,javax/swing/plaf/basic/BasicScrollBarUI$TrackListener,javax/swing/plaf/basic/BasicScrollBarUI$ModelListener flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName PropertyChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ScrollListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ArrowButtonListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$TrackListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName TrackListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ModelListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ModelListener flags 4
+
+class name javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener
+header extends java/awt/event/MouseAdapter nestHost javax/swing/plaf/basic/BasicScrollBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ArrowButtonListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ScrollListener flags 4
+
+class name javax/swing/plaf/basic/BasicScrollBarUI$ModelListener
+header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicScrollBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ModelListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ModelListener flags 4
+
+class name javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicScrollBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicScrollBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ScrollListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$TrackListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName TrackListener flags 4
+
+class name javax/swing/plaf/basic/BasicScrollBarUI$TrackListener
+header extends java/awt/event/MouseAdapter implements java/awt/event/MouseMotionListener nestHost javax/swing/plaf/basic/BasicScrollBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$TrackListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName TrackListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ScrollListener flags 4
+
+class name javax/swing/plaf/basic/BasicScrollPaneUI
+header extends javax/swing/plaf/ScrollPaneUI implements javax/swing/ScrollPaneConstants nestMembers javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler,javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler,javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener,javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener,javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName PropertyChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName MouseWheelHandler flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName VSBChangeListener flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName HSBChangeListener flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName ViewportChangeHandler flags 1
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+
+class name javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener
+header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicScrollPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName HSBChangeListener flags 1
+
+class name javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler
+header extends java/lang/Object implements java/awt/event/MouseWheelListener nestHost javax/swing/plaf/basic/BasicScrollPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName MouseWheelHandler flags 4
+
+class name javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicScrollPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener
+header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicScrollPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName VSBChangeListener flags 1
+
+class name javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler
+header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicScrollPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName ViewportChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSeparatorUI
+header extends javax/swing/plaf/SeparatorUI flags 21
+
+class name javax/swing/plaf/basic/BasicSliderUI
+header extends javax/swing/plaf/SliderUI nestMembers javax/swing/plaf/basic/BasicSliderUI$ActionScroller,javax/swing/plaf/basic/BasicSliderUI$FocusHandler,javax/swing/plaf/basic/BasicSliderUI$ComponentHandler,javax/swing/plaf/basic/BasicSliderUI$ScrollListener,javax/swing/plaf/basic/BasicSliderUI$TrackListener,javax/swing/plaf/basic/BasicSliderUI$ChangeHandler,javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ActionScroller outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ActionScroller flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$FocusHandler outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName FocusHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ComponentHandler outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ComponentHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ScrollListener outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ScrollListener flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$TrackListener outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName TrackListener flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ChangeHandler outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName PropertyChangeHandler flags 1
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicSliderUI$ActionScroller
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicSliderUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ActionScroller outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ActionScroller flags 1
+
+class name javax/swing/plaf/basic/BasicSliderUI$ChangeHandler
+header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicSliderUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ChangeHandler outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSliderUI$ComponentHandler
+header extends java/awt/event/ComponentAdapter nestHost javax/swing/plaf/basic/BasicSliderUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ComponentHandler outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ComponentHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSliderUI$FocusHandler
+header extends java/lang/Object implements java/awt/event/FocusListener nestHost javax/swing/plaf/basic/BasicSliderUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$FocusHandler outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName FocusHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicSliderUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSliderUI$ScrollListener
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicSliderUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ScrollListener outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ScrollListener flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$TrackListener outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName TrackListener flags 1
+
+class name javax/swing/plaf/basic/BasicSliderUI$TrackListener
+header extends javax/swing/event/MouseInputAdapter nestHost javax/swing/plaf/basic/BasicSliderUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$TrackListener outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName TrackListener flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ScrollListener outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ScrollListener flags 1
+
+class name javax/swing/plaf/basic/BasicSplitPaneDivider
+header extends java/awt/Container implements java/beans/PropertyChangeListener nestMembers javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout,javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController,javax/swing/plaf/basic/BasicSplitPaneDivider$DragController,javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName DividerLayout flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName VerticalDragController flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$DragController outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName DragController flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName MouseHandler flags 4
+
+class name javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout
+header extends java/lang/Object implements java/awt/LayoutManager nestHost javax/swing/plaf/basic/BasicSplitPaneDivider flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName DividerLayout flags 4
+
+class name javax/swing/plaf/basic/BasicSplitPaneDivider$DragController
+header extends java/lang/Object nestHost javax/swing/plaf/basic/BasicSplitPaneDivider flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$DragController outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName DragController flags 4
+
+class name javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler
+header extends java/awt/event/MouseAdapter implements java/awt/event/MouseMotionListener nestHost javax/swing/plaf/basic/BasicSplitPaneDivider flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName MouseHandler flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$DragController outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName DragController flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName VerticalDragController flags 4
+
+class name javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController
+header extends javax/swing/plaf/basic/BasicSplitPaneDivider$DragController nestHost javax/swing/plaf/basic/BasicSplitPaneDivider flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName VerticalDragController flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneDivider$DragController outerClass javax/swing/plaf/basic/BasicSplitPaneDivider innerClassName DragController flags 4
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI
+header extends javax/swing/plaf/SplitPaneUI nestMembers javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager,javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager,javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler,javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler,javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler,javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler,javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler,javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler,javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicVerticalLayoutManager flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicHorizontalLayoutManager flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardResizeToggleHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardEndHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardHomeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardDownRightHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardUpLeftHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName FocusHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName PropertyHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager
+header extends java/lang/Object implements java/awt/LayoutManager2 nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicHorizontalLayoutManager flags 1
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager
+header extends javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicVerticalLayoutManager flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicHorizontalLayoutManager flags 1
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler
+header extends java/awt/event/FocusAdapter nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName FocusHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardDownRightHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardEndHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardHomeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardResizeToggleHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler
+header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName KeyboardUpLeftHandler flags 1
+
+class name javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName PropertyHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTabbedPaneUI
+header extends javax/swing/plaf/TabbedPaneUI implements javax/swing/SwingConstants nestMembers javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler,javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler,javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler,javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler,javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName FocusHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName MouseHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName TabSelectionHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName PropertyChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName TabbedPaneLayout flags 1
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler
+header extends java/awt/event/FocusAdapter nestHost javax/swing/plaf/basic/BasicTabbedPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName FocusHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler
+header extends java/awt/event/MouseAdapter nestHost javax/swing/plaf/basic/BasicTabbedPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName MouseHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicTabbedPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler
+header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicTabbedPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName TabSelectionHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout
+header extends java/lang/Object implements java/awt/LayoutManager nestHost javax/swing/plaf/basic/BasicTabbedPaneUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName TabbedPaneLayout flags 1
+
+class name javax/swing/plaf/basic/BasicTableHeaderUI
+header extends javax/swing/plaf/TableHeaderUI nestMembers javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicTableHeaderUI innerClassName MouseInputHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler
+header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicTableHeaderUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicTableHeaderUI innerClassName MouseInputHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTableUI
+header extends javax/swing/plaf/TableUI nestMembers javax/swing/plaf/basic/BasicTableUI$MouseInputHandler,javax/swing/plaf/basic/BasicTableUI$FocusHandler,javax/swing/plaf/basic/BasicTableUI$KeyHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTableUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicTableUI innerClassName MouseInputHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTableUI$FocusHandler outerClass javax/swing/plaf/basic/BasicTableUI innerClassName FocusHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTableUI$KeyHandler outerClass javax/swing/plaf/basic/BasicTableUI innerClassName KeyHandler flags 1
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+innerclass innerClass javax/swing/JTable$DropLocation outerClass javax/swing/JTable innerClassName DropLocation flags 19
+innerclass innerClass javax/swing/JTable$PrintMode outerClass javax/swing/JTable innerClassName PrintMode flags 4019
+
+class name javax/swing/plaf/basic/BasicTableUI$FocusHandler
+header extends java/lang/Object implements java/awt/event/FocusListener nestHost javax/swing/plaf/basic/BasicTableUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTableUI$FocusHandler outerClass javax/swing/plaf/basic/BasicTableUI innerClassName FocusHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTableUI$KeyHandler
+header extends java/lang/Object implements java/awt/event/KeyListener nestHost javax/swing/plaf/basic/BasicTableUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTableUI$KeyHandler outerClass javax/swing/plaf/basic/BasicTableUI innerClassName KeyHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTableUI$MouseInputHandler
+header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicTableUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTableUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicTableUI innerClassName MouseInputHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTextPaneUI
+header extends javax/swing/plaf/basic/BasicEditorPaneUI flags 21
+
+class name javax/swing/plaf/basic/BasicTextUI
+header extends javax/swing/plaf/TextUI implements javax/swing/text/ViewFactory nestMembers javax/swing/plaf/basic/BasicTextUI$BasicHighlighter,javax/swing/plaf/basic/BasicTextUI$BasicCaret flags 421
+innerclass innerClass javax/swing/plaf/basic/BasicTextUI$BasicHighlighter outerClass javax/swing/plaf/basic/BasicTextUI innerClassName BasicHighlighter flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicTextUI$BasicCaret outerClass javax/swing/plaf/basic/BasicTextUI innerClassName BasicCaret flags 9
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass javax/swing/text/JTextComponent$KeyBinding outerClass javax/swing/text/JTextComponent innerClassName KeyBinding flags 9
+innerclass innerClass javax/swing/text/DefaultEditorKit$InsertBreakAction outerClass javax/swing/text/DefaultEditorKit innerClassName InsertBreakAction flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/basic/BasicTextUI$BasicCaret
+header extends javax/swing/text/DefaultCaret implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/basic/BasicTextUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTextUI$BasicCaret outerClass javax/swing/plaf/basic/BasicTextUI innerClassName BasicCaret flags 9
+
+class name javax/swing/plaf/basic/BasicTextUI$BasicHighlighter
+header extends javax/swing/text/DefaultHighlighter implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/basic/BasicTextUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTextUI$BasicHighlighter outerClass javax/swing/plaf/basic/BasicTextUI innerClassName BasicHighlighter flags 9
+
+class name javax/swing/plaf/basic/BasicToggleButtonUI
+header extends javax/swing/plaf/basic/BasicButtonUI flags 21
+
+class name javax/swing/plaf/basic/BasicToolBarSeparatorUI
+header extends javax/swing/plaf/basic/BasicSeparatorUI flags 21
+innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9
+
+class name javax/swing/plaf/basic/BasicToolBarUI
+header extends javax/swing/plaf/ToolBarUI implements javax/swing/SwingConstants nestMembers javax/swing/plaf/basic/BasicToolBarUI$DragWindow,javax/swing/plaf/basic/BasicToolBarUI$DockingListener,javax/swing/plaf/basic/BasicToolBarUI$PropertyListener,javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener,javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener,javax/swing/plaf/basic/BasicToolBarUI$FrameListener flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$DragWindow outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName DragWindow flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$DockingListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName DockingListener flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$PropertyListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName PropertyListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName ToolBarFocusListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName ToolBarContListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$FrameListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName FrameListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName RolloverButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$ButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName ButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$RadioButtonBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName RadioButtonBorder flags 9
+
+class name javax/swing/plaf/basic/BasicToolBarUI$DockingListener
+header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicToolBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$DockingListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName DockingListener flags 1
+
+class name javax/swing/plaf/basic/BasicToolBarUI$DragWindow
+header extends java/awt/Window nestHost javax/swing/plaf/basic/BasicToolBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$DragWindow outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName DragWindow flags 4
+
+class name javax/swing/plaf/basic/BasicToolBarUI$FrameListener
+header extends java/awt/event/WindowAdapter nestHost javax/swing/plaf/basic/BasicToolBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$FrameListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName FrameListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$DragWindow outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName DragWindow flags 4
+
+class name javax/swing/plaf/basic/BasicToolBarUI$PropertyListener
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicToolBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$PropertyListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName PropertyListener flags 4
+
+class name javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener
+header extends java/lang/Object implements java/awt/event/ContainerListener nestHost javax/swing/plaf/basic/BasicToolBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName ToolBarContListener flags 4
+
+class name javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener
+header extends java/lang/Object implements java/awt/event/FocusListener nestHost javax/swing/plaf/basic/BasicToolBarUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName ToolBarFocusListener flags 4
+
+class name javax/swing/plaf/basic/BasicTreeUI
+header extends javax/swing/plaf/TreeUI nestMembers javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler,javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction,javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction,javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction,javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction,javax/swing/plaf/basic/BasicTreeUI$TreePageAction,javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction,javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler,javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler,javax/swing/plaf/basic/BasicTreeUI$MouseHandler,javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler,javax/swing/plaf/basic/BasicTreeUI$FocusHandler,javax/swing/plaf/basic/BasicTreeUI$KeyHandler,javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler,javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler,javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler,javax/swing/plaf/basic/BasicTreeUI$ComponentHandler,javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName MouseInputHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeCancelEditingAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeToggleAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeHomeAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeIncrementAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreePageAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreePageAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeTraverseAction flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName SelectionModelPropertyChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName PropertyChangeHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$MouseHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName MouseHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName NodeDimensionsHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$FocusHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName FocusHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$KeyHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName KeyHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName CellEditorHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeSelectionHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeModelHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$ComponentHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName ComponentHandler flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeExpansionHandler flags 1
+innerclass innerClass javax/swing/tree/AbstractLayoutCache$NodeDimensions outerClass javax/swing/tree/AbstractLayoutCache innerClassName NodeDimensions flags 409
+innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019
+innerclass innerClass javax/swing/JTree$DropLocation outerClass javax/swing/JTree innerClassName DropLocation flags 19
+
+class name javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler
+header extends java/lang/Object implements javax/swing/event/CellEditorListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName CellEditorHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$ComponentHandler
+header extends java/awt/event/ComponentAdapter implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$ComponentHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName ComponentHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$FocusHandler
+header extends java/lang/Object implements java/awt/event/FocusListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$FocusHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName FocusHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$KeyHandler
+header extends java/awt/event/KeyAdapter nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$KeyHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName KeyHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$MouseHandler
+header extends java/awt/event/MouseAdapter implements java/awt/event/MouseMotionListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$MouseHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName MouseHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler
+header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName MouseInputHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler
+header extends javax/swing/tree/AbstractLayoutCache$NodeDimensions nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName NodeDimensionsHandler flags 1
+innerclass innerClass javax/swing/tree/AbstractLayoutCache$NodeDimensions outerClass javax/swing/tree/AbstractLayoutCache innerClassName NodeDimensions flags 409
+
+class name javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler
+header extends java/lang/Object implements java/beans/PropertyChangeListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName SelectionModelPropertyChangeHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeCancelEditingAction flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler
+header extends java/lang/Object implements javax/swing/event/TreeExpansionListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeExpansionHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeHomeAction flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeIncrementAction flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler
+header extends java/lang/Object implements javax/swing/event/TreeModelListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeModelHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$TreePageAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreePageAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreePageAction flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler
+header extends java/lang/Object implements javax/swing/event/TreeSelectionListener nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeSelectionHandler flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeToggleAction flags 1
+
+class name javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/basic/BasicTreeUI flags 21
+innerclass innerClass javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction outerClass javax/swing/plaf/basic/BasicTreeUI innerClassName TreeTraverseAction flags 1
+
+class name javax/swing/plaf/basic/BasicViewportUI
+header extends javax/swing/plaf/ViewportUI flags 21
+
+class name javax/swing/plaf/basic/ComboPopup
+header extends java/lang/Object flags 601
+
+class name javax/swing/plaf/basic/DefaultMenuLayout
+header extends javax/swing/BoxLayout implements javax/swing/plaf/UIResource flags 21
+
+class name javax/swing/plaf/metal/MetalBorders
+header extends java/lang/Object nestMembers javax/swing/plaf/metal/MetalBorders$TableHeaderBorder,javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder,javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder,javax/swing/plaf/metal/MetalBorders$TextFieldBorder,javax/swing/plaf/metal/MetalBorders$ToolBarBorder,javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder,javax/swing/plaf/metal/MetalBorders$PopupMenuBorder,javax/swing/plaf/metal/MetalBorders$MenuItemBorder,javax/swing/plaf/metal/MetalBorders$MenuBarBorder,javax/swing/plaf/metal/MetalBorders$OptionDialogBorder,javax/swing/plaf/metal/MetalBorders$PaletteBorder,javax/swing/plaf/metal/MetalBorders$InternalFrameBorder,javax/swing/plaf/metal/MetalBorders$ButtonBorder,javax/swing/plaf/metal/MetalBorders$Flush3DBorder flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$TableHeaderBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName TableHeaderBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ToggleButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ScrollPaneBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$TextFieldBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName TextFieldBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ToolBarBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ToolBarBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName RolloverButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$PopupMenuBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName PopupMenuBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$MenuItemBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName MenuItemBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$MenuBarBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName MenuBarBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$OptionDialogBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName OptionDialogBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$PaletteBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName PaletteBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$InternalFrameBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName InternalFrameBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ButtonBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$Flush3DBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName Flush3DBorder flags 9
+innerclass innerClass javax/swing/plaf/BorderUIResource$CompoundBorderUIResource outerClass javax/swing/plaf/BorderUIResource innerClassName CompoundBorderUIResource flags 9
+innerclass innerClass javax/swing/plaf/basic/BasicBorders$MarginBorder outerClass javax/swing/plaf/basic/BasicBorders innerClassName MarginBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$ButtonBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ButtonBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ButtonBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$Flush3DBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$Flush3DBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName Flush3DBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$InternalFrameBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$InternalFrameBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName InternalFrameBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$MenuBarBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$MenuBarBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName MenuBarBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$MenuItemBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$MenuItemBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName MenuItemBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$OptionDialogBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$OptionDialogBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName OptionDialogBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$PaletteBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$PaletteBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName PaletteBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$PopupMenuBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$PopupMenuBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName PopupMenuBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder
+header extends javax/swing/plaf/metal/MetalBorders$ButtonBorder nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName RolloverButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ButtonBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ButtonBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ScrollPaneBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$TableHeaderBorder
+header extends javax/swing/border/AbstractBorder nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$TableHeaderBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName TableHeaderBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$TextFieldBorder
+header extends javax/swing/plaf/metal/MetalBorders$Flush3DBorder nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$TextFieldBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName TextFieldBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$Flush3DBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName Flush3DBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder
+header extends javax/swing/plaf/metal/MetalBorders$ButtonBorder nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ToggleButtonBorder flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ButtonBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ButtonBorder flags 9
+
+class name javax/swing/plaf/metal/MetalBorders$ToolBarBorder
+header extends javax/swing/border/AbstractBorder implements javax/swing/plaf/UIResource,javax/swing/SwingConstants nestHost javax/swing/plaf/metal/MetalBorders flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalBorders$ToolBarBorder outerClass javax/swing/plaf/metal/MetalBorders innerClassName ToolBarBorder flags 9
+
+class name javax/swing/plaf/metal/MetalButtonUI
+header extends javax/swing/plaf/basic/BasicButtonUI flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/metal/MetalCheckBoxIcon
+header extends java/lang/Object implements javax/swing/Icon,javax/swing/plaf/UIResource,java/io/Serializable flags 21
+
+class name javax/swing/plaf/metal/MetalCheckBoxUI
+header extends javax/swing/plaf/metal/MetalRadioButtonUI flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/metal/MetalComboBoxEditor
+header extends javax/swing/plaf/basic/BasicComboBoxEditor nestMembers javax/swing/plaf/metal/MetalComboBoxEditor$UIResource flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalComboBoxEditor$UIResource outerClass javax/swing/plaf/metal/MetalComboBoxEditor innerClassName UIResource flags 9
+
+class name javax/swing/plaf/metal/MetalComboBoxEditor$UIResource
+header extends javax/swing/plaf/metal/MetalComboBoxEditor implements javax/swing/plaf/UIResource nestHost javax/swing/plaf/metal/MetalComboBoxEditor flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalComboBoxEditor$UIResource outerClass javax/swing/plaf/metal/MetalComboBoxEditor innerClassName UIResource flags 9
+
+class name javax/swing/plaf/metal/MetalComboBoxIcon
+header extends java/lang/Object implements javax/swing/Icon,java/io/Serializable flags 21
+
+class name javax/swing/plaf/metal/MetalComboBoxUI
+header extends javax/swing/plaf/basic/BasicComboBoxUI nestMembers javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup,javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager,javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup outerClass javax/swing/plaf/metal/MetalComboBoxUI innerClassName MetalComboPopup flags 1
+innerclass innerClass javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager outerClass javax/swing/plaf/metal/MetalComboBoxUI innerClassName MetalComboBoxLayoutManager flags 1
+innerclass innerClass javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener outerClass javax/swing/plaf/metal/MetalComboBoxUI innerClassName MetalPropertyChangeListener flags 1
+innerclass innerClass javax/swing/plaf/metal/MetalComboBoxEditor$UIResource outerClass javax/swing/plaf/metal/MetalComboBoxEditor innerClassName UIResource flags 9
+
+class name javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager
+header extends javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager nestHost javax/swing/plaf/metal/MetalComboBoxUI flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager outerClass javax/swing/plaf/metal/MetalComboBoxUI innerClassName MetalComboBoxLayoutManager flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName ComboBoxLayoutManager flags 1
+
+class name javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup
+header extends javax/swing/plaf/basic/BasicComboPopup nestHost javax/swing/plaf/metal/MetalComboBoxUI flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+innerclass innerClass javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup outerClass javax/swing/plaf/metal/MetalComboBoxUI innerClassName MetalComboPopup flags 1
+
+class name javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener
+header extends javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler nestHost javax/swing/plaf/metal/MetalComboBoxUI flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener outerClass javax/swing/plaf/metal/MetalComboBoxUI innerClassName MetalPropertyChangeListener flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicComboBoxUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/metal/MetalFileChooserUI
+header extends javax/swing/plaf/basic/BasicFileChooserUI nestMembers javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction,javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel,javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer,javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel,javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer,javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName DirectoryComboBoxAction flags 4
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName FilterComboBoxModel flags 4
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName FilterComboBoxRenderer flags 1
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName DirectoryComboBoxModel flags 4
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName FileRenderer flags 4
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName SingleClickListener flags 4
+
+class name javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction
+header extends javax/swing/AbstractAction nestHost javax/swing/plaf/metal/MetalFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName DirectoryComboBoxAction flags 4
+
+class name javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel
+header extends javax/swing/AbstractListModel implements javax/swing/ComboBoxModel nestHost javax/swing/plaf/metal/MetalFileChooserUI flags 21 signature Ljavax/swing/AbstractListModel<Ljava/lang/Object;>;Ljavax/swing/ComboBoxModel<Ljava/lang/Object;>;
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName DirectoryComboBoxModel flags 4
+
+class name javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer
+header extends javax/swing/DefaultListCellRenderer nestHost javax/swing/plaf/metal/MetalFileChooserUI flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName FileRenderer flags 4
+
+class name javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel
+header extends javax/swing/AbstractListModel implements javax/swing/ComboBoxModel,java/beans/PropertyChangeListener nestHost javax/swing/plaf/metal/MetalFileChooserUI flags 21 signature Ljavax/swing/AbstractListModel<Ljava/lang/Object;>;Ljavax/swing/ComboBoxModel<Ljava/lang/Object;>;Ljava/beans/PropertyChangeListener;
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName FilterComboBoxModel flags 4
+
+class name javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer
+header extends javax/swing/DefaultListCellRenderer nestHost javax/swing/plaf/metal/MetalFileChooserUI flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName FilterComboBoxRenderer flags 1
+
+class name javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener
+header extends java/awt/event/MouseAdapter nestHost javax/swing/plaf/metal/MetalFileChooserUI flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName SingleClickListener flags 4
+
+class name javax/swing/plaf/metal/MetalIconFactory
+header extends java/lang/Object implements java/io/Serializable nestMembers javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon,javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon,javax/swing/plaf/metal/MetalIconFactory$FileIcon16,javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon,javax/swing/plaf/metal/MetalIconFactory$FolderIcon16,javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName TreeControlIcon flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName TreeLeafIcon flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$FileIcon16 outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName FileIcon16 flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName TreeFolderIcon flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$FolderIcon16 outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName FolderIcon16 flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName PaletteCloseIcon flags 9
+
+class name javax/swing/plaf/metal/MetalIconFactory$FileIcon16
+header extends java/lang/Object implements javax/swing/Icon,java/io/Serializable nestHost javax/swing/plaf/metal/MetalIconFactory flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$FileIcon16 outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName FileIcon16 flags 9
+
+class name javax/swing/plaf/metal/MetalIconFactory$FolderIcon16
+header extends java/lang/Object implements javax/swing/Icon,java/io/Serializable nestHost javax/swing/plaf/metal/MetalIconFactory flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$FolderIcon16 outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName FolderIcon16 flags 9
+
+class name javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon
+header extends java/lang/Object implements javax/swing/Icon,javax/swing/plaf/UIResource,java/io/Serializable nestHost javax/swing/plaf/metal/MetalIconFactory flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName PaletteCloseIcon flags 9
+
+class name javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon
+header extends java/lang/Object implements javax/swing/Icon,java/io/Serializable nestHost javax/swing/plaf/metal/MetalIconFactory flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName TreeControlIcon flags 9
+
+class name javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon
+header extends javax/swing/plaf/metal/MetalIconFactory$FolderIcon16 nestHost javax/swing/plaf/metal/MetalIconFactory flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName TreeFolderIcon flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$FolderIcon16 outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName FolderIcon16 flags 9
+
+class name javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon
+header extends javax/swing/plaf/metal/MetalIconFactory$FileIcon16 nestHost javax/swing/plaf/metal/MetalIconFactory flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName TreeLeafIcon flags 9
+innerclass innerClass javax/swing/plaf/metal/MetalIconFactory$FileIcon16 outerClass javax/swing/plaf/metal/MetalIconFactory innerClassName FileIcon16 flags 9
+
+class name javax/swing/plaf/metal/MetalLabelUI
+header extends javax/swing/plaf/basic/BasicLabelUI flags 21
+
+class name javax/swing/plaf/metal/MetalMenuBarUI
+header extends javax/swing/plaf/basic/BasicMenuBarUI flags 21
+
+class name javax/swing/plaf/metal/MetalPopupMenuSeparatorUI
+header extends javax/swing/plaf/metal/MetalSeparatorUI flags 21
+
+class name javax/swing/plaf/metal/MetalProgressBarUI
+header extends javax/swing/plaf/basic/BasicProgressBarUI flags 21
+
+class name javax/swing/plaf/metal/MetalRadioButtonUI
+header extends javax/swing/plaf/basic/BasicRadioButtonUI flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/metal/MetalScrollButton
+header extends javax/swing/plaf/basic/BasicArrowButton flags 21
+
+class name javax/swing/plaf/metal/MetalSeparatorUI
+header extends javax/swing/plaf/basic/BasicSeparatorUI flags 21
+
+class name javax/swing/plaf/metal/MetalSliderUI
+header extends javax/swing/plaf/basic/BasicSliderUI nestMembers javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener outerClass javax/swing/plaf/metal/MetalSliderUI innerClassName MetalPropertyListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ScrollListener outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ScrollListener flags 1
+
+class name javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener
+header extends javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler nestHost javax/swing/plaf/metal/MetalSliderUI flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener outerClass javax/swing/plaf/metal/MetalSliderUI innerClassName MetalPropertyListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName PropertyChangeHandler flags 1
+
+class name javax/swing/plaf/metal/MetalSplitPaneUI
+header extends javax/swing/plaf/basic/BasicSplitPaneUI flags 21
+
+class name javax/swing/plaf/metal/MetalTabbedPaneUI
+header extends javax/swing/plaf/basic/BasicTabbedPaneUI nestMembers javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout outerClass javax/swing/plaf/metal/MetalTabbedPaneUI innerClassName TabbedPaneLayout flags 1
+
+class name javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout
+header extends javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout nestHost javax/swing/plaf/metal/MetalTabbedPaneUI flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout outerClass javax/swing/plaf/metal/MetalTabbedPaneUI innerClassName TabbedPaneLayout flags 1
+innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName TabbedPaneLayout flags 1
+
+class name javax/swing/plaf/metal/MetalTextFieldUI
+header extends javax/swing/plaf/basic/BasicTextFieldUI flags 21
+
+class name javax/swing/plaf/metal/MetalTheme
+header extends java/lang/Object flags 421
+
+class name javax/swing/plaf/metal/MetalToggleButtonUI
+header extends javax/swing/plaf/basic/BasicToggleButtonUI flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/metal/MetalToolBarUI
+header extends javax/swing/plaf/basic/BasicToolBarUI nestMembers javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener,javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener,javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener outerClass javax/swing/plaf/metal/MetalToolBarUI innerClassName MetalDockingListener flags 4
+innerclass innerClass javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener outerClass javax/swing/plaf/metal/MetalToolBarUI innerClassName MetalRolloverListener flags 4
+innerclass innerClass javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener outerClass javax/swing/plaf/metal/MetalToolBarUI innerClassName MetalContainerListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$DragWindow outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName DragWindow flags 4
+
+class name javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener
+header extends javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener nestHost javax/swing/plaf/metal/MetalToolBarUI flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener outerClass javax/swing/plaf/metal/MetalToolBarUI innerClassName MetalContainerListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName ToolBarContListener flags 4
+
+class name javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener
+header extends javax/swing/plaf/basic/BasicToolBarUI$DockingListener nestHost javax/swing/plaf/metal/MetalToolBarUI flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener outerClass javax/swing/plaf/metal/MetalToolBarUI innerClassName MetalDockingListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$DockingListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName DockingListener flags 1
+
+class name javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener
+header extends javax/swing/plaf/basic/BasicToolBarUI$PropertyListener nestHost javax/swing/plaf/metal/MetalToolBarUI flags 21
+innerclass innerClass javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener outerClass javax/swing/plaf/metal/MetalToolBarUI innerClassName MetalRolloverListener flags 4
+innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$PropertyListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName PropertyListener flags 4
+
+class name javax/swing/plaf/metal/MetalToolTipUI
+header extends javax/swing/plaf/basic/BasicToolTipUI flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/multi/MultiButtonUI
+header extends javax/swing/plaf/ButtonUI flags 21
+
+class name javax/swing/plaf/multi/MultiColorChooserUI
+header extends javax/swing/plaf/ColorChooserUI flags 21
+
+class name javax/swing/plaf/multi/MultiComboBoxUI
+header extends javax/swing/plaf/ComboBoxUI flags 21
+
+class name javax/swing/plaf/multi/MultiDesktopIconUI
+header extends javax/swing/plaf/DesktopIconUI flags 21
+
+class name javax/swing/plaf/multi/MultiDesktopPaneUI
+header extends javax/swing/plaf/DesktopPaneUI flags 21
+
+class name javax/swing/plaf/multi/MultiFileChooserUI
+header extends javax/swing/plaf/FileChooserUI flags 21
+
+class name javax/swing/plaf/multi/MultiInternalFrameUI
+header extends javax/swing/plaf/InternalFrameUI flags 21
+
+class name javax/swing/plaf/multi/MultiLabelUI
+header extends javax/swing/plaf/LabelUI flags 21
+
+class name javax/swing/plaf/multi/MultiListUI
+header extends javax/swing/plaf/ListUI flags 21
+
+class name javax/swing/plaf/multi/MultiLookAndFeel
+header extends javax/swing/LookAndFeel flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/multi/MultiMenuBarUI
+header extends javax/swing/plaf/MenuBarUI flags 21
+
+class name javax/swing/plaf/multi/MultiMenuItemUI
+header extends javax/swing/plaf/MenuItemUI flags 21
+
+class name javax/swing/plaf/multi/MultiOptionPaneUI
+header extends javax/swing/plaf/OptionPaneUI flags 21
+
+class name javax/swing/plaf/multi/MultiPanelUI
+header extends javax/swing/plaf/PanelUI flags 21
+
+class name javax/swing/plaf/multi/MultiPopupMenuUI
+header extends javax/swing/plaf/PopupMenuUI flags 21
+
+class name javax/swing/plaf/multi/MultiProgressBarUI
+header extends javax/swing/plaf/ProgressBarUI flags 21
+
+class name javax/swing/plaf/multi/MultiRootPaneUI
+header extends javax/swing/plaf/RootPaneUI flags 21
+
+class name javax/swing/plaf/multi/MultiScrollBarUI
+header extends javax/swing/plaf/ScrollBarUI flags 21
+
+class name javax/swing/plaf/multi/MultiScrollPaneUI
+header extends javax/swing/plaf/ScrollPaneUI flags 21
+
+class name javax/swing/plaf/multi/MultiSeparatorUI
+header extends javax/swing/plaf/SeparatorUI flags 21
+
+class name javax/swing/plaf/multi/MultiSliderUI
+header extends javax/swing/plaf/SliderUI flags 21
+
+class name javax/swing/plaf/multi/MultiSpinnerUI
+header extends javax/swing/plaf/SpinnerUI flags 21
+
+class name javax/swing/plaf/multi/MultiSplitPaneUI
+header extends javax/swing/plaf/SplitPaneUI flags 21
+
+class name javax/swing/plaf/multi/MultiTabbedPaneUI
+header extends javax/swing/plaf/TabbedPaneUI flags 21
+
+class name javax/swing/plaf/multi/MultiTableHeaderUI
+header extends javax/swing/plaf/TableHeaderUI flags 21
+
+class name javax/swing/plaf/multi/MultiTableUI
+header extends javax/swing/plaf/TableUI flags 21
+
+class name javax/swing/plaf/multi/MultiTextUI
+header extends javax/swing/plaf/TextUI flags 21
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/plaf/multi/MultiToolBarUI
+header extends javax/swing/plaf/ToolBarUI flags 21
+
+class name javax/swing/plaf/multi/MultiToolTipUI
+header extends javax/swing/plaf/ToolTipUI flags 21
+
+class name javax/swing/plaf/multi/MultiTreeUI
+header extends javax/swing/plaf/TreeUI flags 21
+
+class name javax/swing/plaf/multi/MultiViewportUI
+header extends javax/swing/plaf/ViewportUI flags 21
+
+class name javax/swing/plaf/nimbus/AbstractRegionPainter
+header extends java/lang/Object implements javax/swing/Painter nestMembers javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext,javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext$CacheMode flags 421 signature Ljava/lang/Object;Ljavax/swing/Painter<Ljavax/swing/JComponent;>;
+innerclass innerClass javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext outerClass javax/swing/plaf/nimbus/AbstractRegionPainter innerClassName PaintContext flags c
+innerclass innerClass javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext$CacheMode outerClass javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext innerClassName CacheMode flags 401c
+innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext
+header extends java/lang/Object nestHost javax/swing/plaf/nimbus/AbstractRegionPainter flags 21
+innerclass innerClass javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext outerClass javax/swing/plaf/nimbus/AbstractRegionPainter innerClassName PaintContext flags c
+innerclass innerClass javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext$CacheMode outerClass javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext innerClassName CacheMode flags 401c
+
+class name javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext$CacheMode
+header extends java/lang/Enum nestHost javax/swing/plaf/nimbus/AbstractRegionPainter flags 4031 signature Ljava/lang/Enum<Ljavax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext$CacheMode;>;
+innerclass innerClass javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext outerClass javax/swing/plaf/nimbus/AbstractRegionPainter innerClassName PaintContext flags c
+innerclass innerClass javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext$CacheMode outerClass javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext innerClassName CacheMode flags 401c
+
+class name javax/swing/plaf/synth/ColorType
+header extends java/lang/Object flags 21
+
+class name javax/swing/plaf/synth/Region
+header extends java/lang/Object flags 21
+
+class name javax/swing/plaf/synth/SynthButtonUI
+header extends javax/swing/plaf/basic/BasicButtonUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/synth/SynthCheckBoxMenuItemUI
+header extends javax/swing/plaf/synth/SynthMenuItemUI flags 21
+
+class name javax/swing/plaf/synth/SynthCheckBoxUI
+header extends javax/swing/plaf/synth/SynthRadioButtonUI flags 21
+
+class name javax/swing/plaf/synth/SynthColorChooserUI
+header extends javax/swing/plaf/basic/BasicColorChooserUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/plaf/synth/SynthConstants
+header extends java/lang/Object flags 601
+
+class name javax/swing/plaf/synth/SynthContext
+header extends java/lang/Object flags 21
+
+class name javax/swing/plaf/synth/SynthEditorPaneUI
+header extends javax/swing/plaf/basic/BasicEditorPaneUI implements javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/plaf/synth/SynthFormattedTextFieldUI
+header extends javax/swing/plaf/synth/SynthTextFieldUI flags 21
+
+class name javax/swing/plaf/synth/SynthIcon
+header extends java/lang/Object implements javax/swing/Icon flags 601
+
+class name javax/swing/plaf/synth/SynthLabelUI
+header extends javax/swing/plaf/basic/BasicLabelUI implements javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/plaf/synth/SynthMenuBarUI
+header extends javax/swing/plaf/basic/BasicMenuBarUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/plaf/synth/SynthMenuItemUI
+header extends javax/swing/plaf/basic/BasicMenuItemUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/synth/SynthMenuUI
+header extends javax/swing/plaf/basic/BasicMenuUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/plaf/synth/SynthOptionPaneUI
+header extends javax/swing/plaf/basic/BasicOptionPaneUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/plaf/synth/SynthPanelUI
+header extends javax/swing/plaf/basic/BasicPanelUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/plaf/synth/SynthPasswordFieldUI
+header extends javax/swing/plaf/synth/SynthTextFieldUI flags 21
+
+class name javax/swing/plaf/synth/SynthPopupMenuUI
+header extends javax/swing/plaf/basic/BasicPopupMenuUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/plaf/synth/SynthProgressBarUI
+header extends javax/swing/plaf/basic/BasicProgressBarUI implements javax/swing/plaf/synth/SynthUI,java/beans/PropertyChangeListener flags 21
+
+class name javax/swing/plaf/synth/SynthRadioButtonMenuItemUI
+header extends javax/swing/plaf/synth/SynthMenuItemUI flags 21
+
+class name javax/swing/plaf/synth/SynthRadioButtonUI
+header extends javax/swing/plaf/synth/SynthToggleButtonUI flags 21
+
+class name javax/swing/plaf/synth/SynthRootPaneUI
+header extends javax/swing/plaf/basic/BasicRootPaneUI implements javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/plaf/synth/SynthSeparatorUI
+header extends javax/swing/plaf/SeparatorUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9
+
+class name javax/swing/plaf/synth/SynthStyle
+header extends java/lang/Object flags 421
+innerclass innerClass javax/swing/UIDefaults$LazyInputMap outerClass javax/swing/UIDefaults innerClassName LazyInputMap flags 9
+innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609
+
+class name javax/swing/plaf/synth/SynthStyleFactory
+header extends java/lang/Object flags 421
+
+class name javax/swing/plaf/synth/SynthTextPaneUI
+header extends javax/swing/plaf/synth/SynthEditorPaneUI flags 21
+
+class name javax/swing/plaf/synth/SynthToggleButtonUI
+header extends javax/swing/plaf/synth/SynthButtonUI flags 21
+
+class name javax/swing/plaf/synth/SynthToolTipUI
+header extends javax/swing/plaf/basic/BasicToolTipUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/plaf/synth/SynthUI
+header extends java/lang/Object implements javax/swing/plaf/synth/SynthConstants flags 601
+
+class name javax/swing/plaf/synth/SynthViewportUI
+header extends javax/swing/plaf/ViewportUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21
+
+class name javax/swing/table/AbstractTableModel
+header extends java/lang/Object implements javax/swing/table/TableModel,java/io/Serializable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/table/DefaultTableCellRenderer
+header extends javax/swing/JLabel implements javax/swing/table/TableCellRenderer,java/io/Serializable nestMembers javax/swing/table/DefaultTableCellRenderer$UIResource flags 21
+innerclass innerClass javax/swing/table/DefaultTableCellRenderer$UIResource outerClass javax/swing/table/DefaultTableCellRenderer innerClassName UIResource flags 9
+innerclass innerClass javax/swing/JTable$DropLocation outerClass javax/swing/JTable innerClassName DropLocation flags 19
+
+class name javax/swing/table/DefaultTableCellRenderer$UIResource
+header extends javax/swing/table/DefaultTableCellRenderer implements javax/swing/plaf/UIResource nestHost javax/swing/table/DefaultTableCellRenderer flags 21
+innerclass innerClass javax/swing/table/DefaultTableCellRenderer$UIResource outerClass javax/swing/table/DefaultTableCellRenderer innerClassName UIResource flags 9
+
+class name javax/swing/table/DefaultTableColumnModel
+header extends java/lang/Object implements javax/swing/table/TableColumnModel,java/beans/PropertyChangeListener,javax/swing/event/ListSelectionListener,java/io/Serializable flags 21
+
+class name javax/swing/table/DefaultTableModel
+header extends javax/swing/table/AbstractTableModel implements java/io/Serializable flags 21
+
+class name javax/swing/table/JTableHeader
+header extends javax/swing/JComponent implements javax/swing/event/TableColumnModelListener,javax/accessibility/Accessible nestMembers javax/swing/table/JTableHeader$AccessibleJTableHeader,javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry flags 21
+innerclass innerClass javax/swing/table/JTableHeader$AccessibleJTableHeader outerClass javax/swing/table/JTableHeader innerClassName AccessibleJTableHeader flags 4
+innerclass innerClass javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry outerClass javax/swing/table/JTableHeader$AccessibleJTableHeader innerClassName AccessibleJTableHeaderEntry flags 4
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/table/JTableHeader$AccessibleJTableHeader
+header extends javax/swing/JComponent$AccessibleJComponent nestHost javax/swing/table/JTableHeader flags 21
+innerclass innerClass javax/swing/table/JTableHeader$AccessibleJTableHeader outerClass javax/swing/table/JTableHeader innerClassName AccessibleJTableHeader flags 4
+innerclass innerClass javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry outerClass javax/swing/table/JTableHeader$AccessibleJTableHeader innerClassName AccessibleJTableHeaderEntry flags 4
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+
+class name javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry
+header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent nestHost javax/swing/table/JTableHeader flags 21
+innerclass innerClass javax/swing/table/JTableHeader$AccessibleJTableHeader outerClass javax/swing/table/JTableHeader innerClassName AccessibleJTableHeader flags 4
+innerclass innerClass javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry outerClass javax/swing/table/JTableHeader$AccessibleJTableHeader innerClassName AccessibleJTableHeaderEntry flags 4
+
+class name javax/swing/table/TableCellEditor
+header extends java/lang/Object implements javax/swing/CellEditor flags 601
+
+class name javax/swing/table/TableCellRenderer
+header extends java/lang/Object flags 601
+
+class name javax/swing/table/TableColumnModel
+header extends java/lang/Object flags 601
+
+class name javax/swing/table/TableModel
+header extends java/lang/Object flags 601
+
+class name javax/swing/table/TableStringConverter
+header extends java/lang/Object flags 421
+
+class name javax/swing/text/AbstractDocument
+header extends java/lang/Object implements javax/swing/text/Document,java/io/Serializable nestMembers javax/swing/text/AbstractDocument$ElementEdit,javax/swing/text/AbstractDocument$DefaultDocumentEvent,javax/swing/text/AbstractDocument$LeafElement,javax/swing/text/AbstractDocument$BranchElement,javax/swing/text/AbstractDocument$AbstractElement,javax/swing/text/AbstractDocument$AttributeContext,javax/swing/text/AbstractDocument$Content flags 421
+innerclass innerClass javax/swing/text/AbstractDocument$ElementEdit outerClass javax/swing/text/AbstractDocument innerClassName ElementEdit flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$DefaultDocumentEvent outerClass javax/swing/text/AbstractDocument innerClassName DefaultDocumentEvent flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$LeafElement outerClass javax/swing/text/AbstractDocument innerClassName LeafElement flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$AbstractElement outerClass javax/swing/text/AbstractDocument innerClassName AbstractElement flags 401
+innerclass innerClass javax/swing/text/AbstractDocument$AttributeContext outerClass javax/swing/text/AbstractDocument innerClassName AttributeContext flags 609
+innerclass innerClass javax/swing/text/AbstractDocument$Content outerClass javax/swing/text/AbstractDocument innerClassName Content flags 609
+innerclass innerClass javax/swing/text/DocumentFilter$FilterBypass outerClass javax/swing/text/DocumentFilter innerClassName FilterBypass flags 409
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/AbstractDocument$AbstractElement
+header extends java/lang/Object implements javax/swing/text/Element,javax/swing/text/MutableAttributeSet,java/io/Serializable,javax/swing/tree/TreeNode nestHost javax/swing/text/AbstractDocument flags 421
+innerclass innerClass javax/swing/text/AbstractDocument$AbstractElement outerClass javax/swing/text/AbstractDocument innerClassName AbstractElement flags 401
+innerclass innerClass javax/swing/text/AbstractDocument$Content outerClass javax/swing/text/AbstractDocument innerClassName Content flags 609
+innerclass innerClass javax/swing/text/AbstractDocument$AttributeContext outerClass javax/swing/text/AbstractDocument innerClassName AttributeContext flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/AbstractDocument$AttributeContext
+header extends java/lang/Object nestHost javax/swing/text/AbstractDocument flags 601
+innerclass innerClass javax/swing/text/AbstractDocument$AttributeContext outerClass javax/swing/text/AbstractDocument innerClassName AttributeContext flags 609
+
+class name javax/swing/text/AbstractDocument$BranchElement
+header extends javax/swing/text/AbstractDocument$AbstractElement nestHost javax/swing/text/AbstractDocument flags 21
+innerclass innerClass javax/swing/text/AbstractDocument$AbstractElement outerClass javax/swing/text/AbstractDocument innerClassName AbstractElement flags 401
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/AbstractDocument$Content
+header extends java/lang/Object nestHost javax/swing/text/AbstractDocument flags 601
+innerclass innerClass javax/swing/text/AbstractDocument$Content outerClass javax/swing/text/AbstractDocument innerClassName Content flags 609
+
+class name javax/swing/text/AbstractDocument$DefaultDocumentEvent
+header extends javax/swing/undo/CompoundEdit implements javax/swing/event/DocumentEvent nestHost javax/swing/text/AbstractDocument flags 21
+innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609
+innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19
+innerclass innerClass javax/swing/text/AbstractDocument$DefaultDocumentEvent outerClass javax/swing/text/AbstractDocument innerClassName DefaultDocumentEvent flags 1
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/AbstractDocument$ElementEdit
+header extends javax/swing/undo/AbstractUndoableEdit implements javax/swing/event/DocumentEvent$ElementChange nestHost javax/swing/text/AbstractDocument flags 21
+innerclass innerClass javax/swing/text/AbstractDocument$ElementEdit outerClass javax/swing/text/AbstractDocument innerClassName ElementEdit flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609
+
+class name javax/swing/text/AbstractDocument$LeafElement
+header extends javax/swing/text/AbstractDocument$AbstractElement nestHost javax/swing/text/AbstractDocument flags 21
+innerclass innerClass javax/swing/text/AbstractDocument$LeafElement outerClass javax/swing/text/AbstractDocument innerClassName LeafElement flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$AbstractElement outerClass javax/swing/text/AbstractDocument innerClassName AbstractElement flags 401
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/AbstractWriter
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/AsyncBoxView
+header extends javax/swing/text/View nestMembers javax/swing/text/AsyncBoxView$ChildState,javax/swing/text/AsyncBoxView$ChildLocator flags 21
+innerclass innerClass javax/swing/text/AsyncBoxView$ChildState outerClass javax/swing/text/AsyncBoxView innerClassName ChildState flags 1
+innerclass innerClass javax/swing/text/AsyncBoxView$ChildLocator outerClass javax/swing/text/AsyncBoxView innerClassName ChildLocator flags 1
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609
+
+class name javax/swing/text/AsyncBoxView$ChildLocator
+header extends java/lang/Object nestHost javax/swing/text/AsyncBoxView flags 21
+innerclass innerClass javax/swing/text/AsyncBoxView$ChildState outerClass javax/swing/text/AsyncBoxView innerClassName ChildState flags 1
+innerclass innerClass javax/swing/text/AsyncBoxView$ChildLocator outerClass javax/swing/text/AsyncBoxView innerClassName ChildLocator flags 1
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/AsyncBoxView$ChildState
+header extends java/lang/Object implements java/lang/Runnable nestHost javax/swing/text/AsyncBoxView flags 21
+innerclass innerClass javax/swing/text/AsyncBoxView$ChildState outerClass javax/swing/text/AsyncBoxView innerClassName ChildState flags 1
+innerclass innerClass javax/swing/text/AsyncBoxView$ChildLocator outerClass javax/swing/text/AsyncBoxView innerClassName ChildLocator flags 1
+
+class name javax/swing/text/AttributeSet
+header extends java/lang/Object nestMembers javax/swing/text/AttributeSet$ParagraphAttribute,javax/swing/text/AttributeSet$CharacterAttribute,javax/swing/text/AttributeSet$ColorAttribute,javax/swing/text/AttributeSet$FontAttribute flags 601
+innerclass innerClass javax/swing/text/AttributeSet$ParagraphAttribute outerClass javax/swing/text/AttributeSet innerClassName ParagraphAttribute flags 609
+innerclass innerClass javax/swing/text/AttributeSet$CharacterAttribute outerClass javax/swing/text/AttributeSet innerClassName CharacterAttribute flags 609
+innerclass innerClass javax/swing/text/AttributeSet$ColorAttribute outerClass javax/swing/text/AttributeSet innerClassName ColorAttribute flags 609
+innerclass innerClass javax/swing/text/AttributeSet$FontAttribute outerClass javax/swing/text/AttributeSet innerClassName FontAttribute flags 609
+
+class name javax/swing/text/AttributeSet$CharacterAttribute
+header extends java/lang/Object nestHost javax/swing/text/AttributeSet flags 601
+innerclass innerClass javax/swing/text/AttributeSet$CharacterAttribute outerClass javax/swing/text/AttributeSet innerClassName CharacterAttribute flags 609
+
+class name javax/swing/text/AttributeSet$ColorAttribute
+header extends java/lang/Object nestHost javax/swing/text/AttributeSet flags 601
+innerclass innerClass javax/swing/text/AttributeSet$ColorAttribute outerClass javax/swing/text/AttributeSet innerClassName ColorAttribute flags 609
+
+class name javax/swing/text/AttributeSet$FontAttribute
+header extends java/lang/Object nestHost javax/swing/text/AttributeSet flags 601
+innerclass innerClass javax/swing/text/AttributeSet$FontAttribute outerClass javax/swing/text/AttributeSet innerClassName FontAttribute flags 609
+
+class name javax/swing/text/AttributeSet$ParagraphAttribute
+header extends java/lang/Object nestHost javax/swing/text/AttributeSet flags 601
+innerclass innerClass javax/swing/text/AttributeSet$ParagraphAttribute outerClass javax/swing/text/AttributeSet innerClassName ParagraphAttribute flags 609
+
+class name javax/swing/text/BadLocationException
+header extends java/lang/Exception flags 21
+
+class name javax/swing/text/BoxView
+header extends javax/swing/text/CompositeView flags 21
+innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/Caret
+header extends java/lang/Object flags 601
+
+class name javax/swing/text/ChangedCharSetException
+header extends java/io/IOException flags 21
+
+class name javax/swing/text/CompositeView
+header extends javax/swing/text/View flags 421
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/DateFormatter
+header extends javax/swing/text/InternationalFormatter flags 21
+innerclass innerClass java/text/DateFormat$Field outerClass java/text/DateFormat innerClassName Field flags 9
+
+class name javax/swing/text/DefaultEditorKit
+header extends javax/swing/text/EditorKit nestMembers javax/swing/text/DefaultEditorKit$BeepAction,javax/swing/text/DefaultEditorKit$PasteAction,javax/swing/text/DefaultEditorKit$CopyAction,javax/swing/text/DefaultEditorKit$CutAction,javax/swing/text/DefaultEditorKit$InsertTabAction,javax/swing/text/DefaultEditorKit$InsertBreakAction,javax/swing/text/DefaultEditorKit$InsertContentAction,javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction flags 21
+innerclass innerClass javax/swing/text/DefaultEditorKit$BeepAction outerClass javax/swing/text/DefaultEditorKit innerClassName BeepAction flags 9
+innerclass innerClass javax/swing/text/DefaultEditorKit$PasteAction outerClass javax/swing/text/DefaultEditorKit innerClassName PasteAction flags 9
+innerclass innerClass javax/swing/text/DefaultEditorKit$CopyAction outerClass javax/swing/text/DefaultEditorKit innerClassName CopyAction flags 9
+innerclass innerClass javax/swing/text/DefaultEditorKit$CutAction outerClass javax/swing/text/DefaultEditorKit innerClassName CutAction flags 9
+innerclass innerClass javax/swing/text/DefaultEditorKit$InsertTabAction outerClass javax/swing/text/DefaultEditorKit innerClassName InsertTabAction flags 9
+innerclass innerClass javax/swing/text/DefaultEditorKit$InsertBreakAction outerClass javax/swing/text/DefaultEditorKit innerClassName InsertBreakAction flags 9
+innerclass innerClass javax/swing/text/DefaultEditorKit$InsertContentAction outerClass javax/swing/text/DefaultEditorKit innerClassName InsertContentAction flags 9
+innerclass innerClass javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction outerClass javax/swing/text/DefaultEditorKit innerClassName DefaultKeyTypedAction flags 9
+
+class name javax/swing/text/DefaultEditorKit$BeepAction
+header extends javax/swing/text/TextAction nestHost javax/swing/text/DefaultEditorKit flags 21
+innerclass innerClass javax/swing/text/DefaultEditorKit$BeepAction outerClass javax/swing/text/DefaultEditorKit innerClassName BeepAction flags 9
+
+class name javax/swing/text/DefaultEditorKit$CopyAction
+header extends javax/swing/text/TextAction nestHost javax/swing/text/DefaultEditorKit flags 21
+innerclass innerClass javax/swing/text/DefaultEditorKit$CopyAction outerClass javax/swing/text/DefaultEditorKit innerClassName CopyAction flags 9
+
+class name javax/swing/text/DefaultEditorKit$CutAction
+header extends javax/swing/text/TextAction nestHost javax/swing/text/DefaultEditorKit flags 21
+innerclass innerClass javax/swing/text/DefaultEditorKit$CutAction outerClass javax/swing/text/DefaultEditorKit innerClassName CutAction flags 9
+
+class name javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction
+header extends javax/swing/text/TextAction nestHost javax/swing/text/DefaultEditorKit flags 21
+innerclass innerClass javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction outerClass javax/swing/text/DefaultEditorKit innerClassName DefaultKeyTypedAction flags 9
+
+class name javax/swing/text/DefaultEditorKit$InsertBreakAction
+header extends javax/swing/text/TextAction nestHost javax/swing/text/DefaultEditorKit flags 21
+innerclass innerClass javax/swing/text/DefaultEditorKit$InsertBreakAction outerClass javax/swing/text/DefaultEditorKit innerClassName InsertBreakAction flags 9
+
+class name javax/swing/text/DefaultEditorKit$InsertContentAction
+header extends javax/swing/text/TextAction nestHost javax/swing/text/DefaultEditorKit flags 21
+innerclass innerClass javax/swing/text/DefaultEditorKit$InsertContentAction outerClass javax/swing/text/DefaultEditorKit innerClassName InsertContentAction flags 9
+
+class name javax/swing/text/DefaultEditorKit$InsertTabAction
+header extends javax/swing/text/TextAction nestHost javax/swing/text/DefaultEditorKit flags 21
+innerclass innerClass javax/swing/text/DefaultEditorKit$InsertTabAction outerClass javax/swing/text/DefaultEditorKit innerClassName InsertTabAction flags 9
+
+class name javax/swing/text/DefaultEditorKit$PasteAction
+header extends javax/swing/text/TextAction nestHost javax/swing/text/DefaultEditorKit flags 21
+innerclass innerClass javax/swing/text/DefaultEditorKit$PasteAction outerClass javax/swing/text/DefaultEditorKit innerClassName PasteAction flags 9
+
+class name javax/swing/text/DefaultFormatterFactory
+header extends javax/swing/JFormattedTextField$AbstractFormatterFactory implements java/io/Serializable flags 21
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatter outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatter flags 409
+innerclass innerClass javax/swing/JFormattedTextField$AbstractFormatterFactory outerClass javax/swing/JFormattedTextField innerClassName AbstractFormatterFactory flags 409
+
+class name javax/swing/text/DefaultHighlighter
+header extends javax/swing/text/LayeredHighlighter nestMembers javax/swing/text/DefaultHighlighter$DefaultHighlightPainter flags 21
+innerclass innerClass javax/swing/text/DefaultHighlighter$DefaultHighlightPainter outerClass javax/swing/text/DefaultHighlighter innerClassName DefaultHighlightPainter flags 9
+innerclass innerClass javax/swing/text/Highlighter$Highlight outerClass javax/swing/text/Highlighter innerClassName Highlight flags 609
+innerclass innerClass javax/swing/text/LayeredHighlighter$LayerPainter outerClass javax/swing/text/LayeredHighlighter innerClassName LayerPainter flags 409
+innerclass innerClass javax/swing/text/Highlighter$HighlightPainter outerClass javax/swing/text/Highlighter innerClassName HighlightPainter flags 609
+
+class name javax/swing/text/DefaultHighlighter$DefaultHighlightPainter
+header extends javax/swing/text/LayeredHighlighter$LayerPainter nestHost javax/swing/text/DefaultHighlighter flags 21
+innerclass innerClass javax/swing/text/DefaultHighlighter$DefaultHighlightPainter outerClass javax/swing/text/DefaultHighlighter innerClassName DefaultHighlightPainter flags 9
+innerclass innerClass javax/swing/text/LayeredHighlighter$LayerPainter outerClass javax/swing/text/LayeredHighlighter innerClassName LayerPainter flags 409
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/DefaultStyledDocument
+header extends javax/swing/text/AbstractDocument implements javax/swing/text/StyledDocument nestMembers javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit,javax/swing/text/DefaultStyledDocument$ElementBuffer,javax/swing/text/DefaultStyledDocument$ElementSpec,javax/swing/text/DefaultStyledDocument$SectionElement flags 21
+innerclass innerClass javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit outerClass javax/swing/text/DefaultStyledDocument innerClassName AttributeUndoableEdit flags 9
+innerclass innerClass javax/swing/text/DefaultStyledDocument$ElementBuffer outerClass javax/swing/text/DefaultStyledDocument innerClassName ElementBuffer flags 1
+innerclass innerClass javax/swing/text/DefaultStyledDocument$ElementSpec outerClass javax/swing/text/DefaultStyledDocument innerClassName ElementSpec flags 9
+innerclass innerClass javax/swing/text/DefaultStyledDocument$SectionElement outerClass javax/swing/text/DefaultStyledDocument innerClassName SectionElement flags 4
+innerclass innerClass javax/swing/text/AbstractDocument$Content outerClass javax/swing/text/AbstractDocument innerClassName Content flags 609
+innerclass innerClass javax/swing/text/AbstractDocument$DefaultDocumentEvent outerClass javax/swing/text/AbstractDocument innerClassName DefaultDocumentEvent flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$AbstractElement outerClass javax/swing/text/AbstractDocument innerClassName AbstractElement flags 401
+innerclass innerClass javax/swing/text/AbstractDocument$LeafElement outerClass javax/swing/text/AbstractDocument innerClassName LeafElement flags 1
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass javax/swing/text/AbstractDocument$ElementEdit outerClass javax/swing/text/AbstractDocument innerClassName ElementEdit flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$AttributeContext outerClass javax/swing/text/AbstractDocument innerClassName AttributeContext flags 609
+innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19
+
+class name javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit
+header extends javax/swing/undo/AbstractUndoableEdit nestHost javax/swing/text/DefaultStyledDocument flags 21
+innerclass innerClass javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit outerClass javax/swing/text/DefaultStyledDocument innerClassName AttributeUndoableEdit flags 9
+
+class name javax/swing/text/DefaultStyledDocument$ElementBuffer
+header extends java/lang/Object implements java/io/Serializable nestHost javax/swing/text/DefaultStyledDocument flags 21
+innerclass innerClass javax/swing/text/DefaultStyledDocument$ElementBuffer outerClass javax/swing/text/DefaultStyledDocument innerClassName ElementBuffer flags 1
+innerclass innerClass javax/swing/text/DefaultStyledDocument$ElementSpec outerClass javax/swing/text/DefaultStyledDocument innerClassName ElementSpec flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$DefaultDocumentEvent outerClass javax/swing/text/AbstractDocument innerClassName DefaultDocumentEvent flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$ElementEdit outerClass javax/swing/text/AbstractDocument innerClassName ElementEdit flags 9
+innerclass innerClass javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit outerClass javax/swing/text/DefaultStyledDocument innerClassName AttributeUndoableEdit flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+
+class name javax/swing/text/DefaultStyledDocument$ElementSpec
+header extends java/lang/Object nestHost javax/swing/text/DefaultStyledDocument flags 21
+innerclass innerClass javax/swing/text/DefaultStyledDocument$ElementSpec outerClass javax/swing/text/DefaultStyledDocument innerClassName ElementSpec flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/DefaultStyledDocument$SectionElement
+header extends javax/swing/text/AbstractDocument$BranchElement nestHost javax/swing/text/DefaultStyledDocument flags 21
+innerclass innerClass javax/swing/text/DefaultStyledDocument$SectionElement outerClass javax/swing/text/DefaultStyledDocument innerClassName SectionElement flags 4
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+
+class name javax/swing/text/DefaultTextUI
+header extends javax/swing/plaf/basic/BasicTextUI flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name javax/swing/text/Document
+header extends java/lang/Object flags 601
+
+class name javax/swing/text/DocumentFilter
+header extends java/lang/Object nestMembers javax/swing/text/DocumentFilter$FilterBypass flags 21
+innerclass innerClass javax/swing/text/DocumentFilter$FilterBypass outerClass javax/swing/text/DocumentFilter innerClassName FilterBypass flags 409
+
+class name javax/swing/text/DocumentFilter$FilterBypass
+header extends java/lang/Object nestHost javax/swing/text/DocumentFilter flags 421
+innerclass innerClass javax/swing/text/DocumentFilter$FilterBypass outerClass javax/swing/text/DocumentFilter innerClassName FilterBypass flags 409
+
+class name javax/swing/text/EditorKit
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 421
+
+class name javax/swing/text/Element
+header extends java/lang/Object flags 601
+
+class name javax/swing/text/FieldView
+header extends javax/swing/text/PlainView flags 21
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/FlowView
+header extends javax/swing/text/BoxView nestMembers javax/swing/text/FlowView$FlowStrategy flags 421
+innerclass innerClass javax/swing/text/FlowView$FlowStrategy outerClass javax/swing/text/FlowView innerClassName FlowStrategy flags 9
+
+class name javax/swing/text/FlowView$FlowStrategy
+header extends java/lang/Object nestHost javax/swing/text/FlowView flags 21
+innerclass innerClass javax/swing/text/FlowView$FlowStrategy outerClass javax/swing/text/FlowView innerClassName FlowStrategy flags 9
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/GapVector
+header extends java/lang/Object implements java/io/Serializable flags 420
+
+class name javax/swing/text/GlyphView
+header extends javax/swing/text/View implements javax/swing/text/TabableView,java/lang/Cloneable nestMembers javax/swing/text/GlyphView$GlyphPainter flags 21
+innerclass innerClass javax/swing/text/GlyphView$GlyphPainter outerClass javax/swing/text/GlyphView innerClassName GlyphPainter flags 409
+innerclass innerClass javax/swing/text/Highlighter$Highlight outerClass javax/swing/text/Highlighter innerClassName Highlight flags 609
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/GlyphView$GlyphPainter
+header extends java/lang/Object nestHost javax/swing/text/GlyphView flags 421
+innerclass innerClass javax/swing/text/GlyphView$GlyphPainter outerClass javax/swing/text/GlyphView innerClassName GlyphPainter flags 409
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/Highlighter
+header extends java/lang/Object nestMembers javax/swing/text/Highlighter$Highlight,javax/swing/text/Highlighter$HighlightPainter flags 601
+innerclass innerClass javax/swing/text/Highlighter$Highlight outerClass javax/swing/text/Highlighter innerClassName Highlight flags 609
+innerclass innerClass javax/swing/text/Highlighter$HighlightPainter outerClass javax/swing/text/Highlighter innerClassName HighlightPainter flags 609
+
+class name javax/swing/text/Highlighter$Highlight
+header extends java/lang/Object nestHost javax/swing/text/Highlighter flags 601
+innerclass innerClass javax/swing/text/Highlighter$HighlightPainter outerClass javax/swing/text/Highlighter innerClassName HighlightPainter flags 609
+innerclass innerClass javax/swing/text/Highlighter$Highlight outerClass javax/swing/text/Highlighter innerClassName Highlight flags 609
+
+class name javax/swing/text/Highlighter$HighlightPainter
+header extends java/lang/Object nestHost javax/swing/text/Highlighter flags 601
+innerclass innerClass javax/swing/text/Highlighter$HighlightPainter outerClass javax/swing/text/Highlighter innerClassName HighlightPainter flags 609
+
+class name javax/swing/text/IconView
+header extends javax/swing/text/View flags 21
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/JTextComponent
+header extends javax/swing/JComponent implements javax/swing/Scrollable,javax/accessibility/Accessible nestMembers javax/swing/text/JTextComponent$DropLocation,javax/swing/text/JTextComponent$AccessibleJTextComponent,javax/swing/text/JTextComponent$KeyBinding flags 421 runtimeAnnotations @Ljava/beans/JavaBean;(defaultProperty="UI")@Ljavax/swing/SwingContainer;(value=Zfalse)
+innerclass innerClass javax/swing/text/JTextComponent$DropLocation outerClass javax/swing/text/JTextComponent innerClassName DropLocation flags 19
+innerclass innerClass javax/swing/text/JTextComponent$AccessibleJTextComponent outerClass javax/swing/text/JTextComponent innerClassName AccessibleJTextComponent flags 1
+innerclass innerClass javax/swing/text/JTextComponent$KeyBinding outerClass javax/swing/text/JTextComponent innerClassName KeyBinding flags 9
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction outerClass javax/swing/text/DefaultEditorKit innerClassName DefaultKeyTypedAction flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/JTextComponent$AccessibleJTextComponent
+header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleText,javax/swing/event/CaretListener,javax/swing/event/DocumentListener,javax/accessibility/AccessibleAction,javax/accessibility/AccessibleEditableText,javax/accessibility/AccessibleExtendedText nestHost javax/swing/text/JTextComponent flags 21
+innerclass innerClass javax/swing/text/JTextComponent$AccessibleJTextComponent outerClass javax/swing/text/JTextComponent innerClassName AccessibleJTextComponent flags 1
+innerclass innerClass javax/swing/JComponent$AccessibleJComponent outerClass javax/swing/JComponent innerClassName AccessibleJComponent flags 401
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/JTextComponent$DropLocation
+header extends javax/swing/TransferHandler$DropLocation nestHost javax/swing/text/JTextComponent flags 31
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass javax/swing/text/JTextComponent$DropLocation outerClass javax/swing/text/JTextComponent innerClassName DropLocation flags 19
+innerclass innerClass javax/swing/TransferHandler$DropLocation outerClass javax/swing/TransferHandler innerClassName DropLocation flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/JTextComponent$KeyBinding
+header extends java/lang/Object nestHost javax/swing/text/JTextComponent flags 21
+innerclass innerClass javax/swing/text/JTextComponent$KeyBinding outerClass javax/swing/text/JTextComponent innerClassName KeyBinding flags 9
+
+class name javax/swing/text/Keymap
+header extends java/lang/Object flags 601
+
+class name javax/swing/text/LabelView
+header extends javax/swing/text/GlyphView implements javax/swing/text/TabableView flags 21
+
+class name javax/swing/text/LayeredHighlighter
+header extends java/lang/Object implements javax/swing/text/Highlighter nestMembers javax/swing/text/LayeredHighlighter$LayerPainter flags 421
+innerclass innerClass javax/swing/text/LayeredHighlighter$LayerPainter outerClass javax/swing/text/LayeredHighlighter innerClassName LayerPainter flags 409
+
+class name javax/swing/text/LayeredHighlighter$LayerPainter
+header extends java/lang/Object implements javax/swing/text/Highlighter$HighlightPainter nestHost javax/swing/text/LayeredHighlighter flags 421
+innerclass innerClass javax/swing/text/LayeredHighlighter$LayerPainter outerClass javax/swing/text/LayeredHighlighter innerClassName LayerPainter flags 409
+innerclass innerClass javax/swing/text/Highlighter$HighlightPainter outerClass javax/swing/text/Highlighter innerClassName HighlightPainter flags 609
+
+class name javax/swing/text/LayoutQueue
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/MutableAttributeSet
+header extends java/lang/Object implements javax/swing/text/AttributeSet flags 601
+
+class name javax/swing/text/NavigationFilter
+header extends java/lang/Object nestMembers javax/swing/text/NavigationFilter$FilterBypass flags 21
+innerclass innerClass javax/swing/text/NavigationFilter$FilterBypass outerClass javax/swing/text/NavigationFilter innerClassName FilterBypass flags 409
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/NavigationFilter$FilterBypass
+header extends java/lang/Object nestHost javax/swing/text/NavigationFilter flags 421
+innerclass innerClass javax/swing/text/NavigationFilter$FilterBypass outerClass javax/swing/text/NavigationFilter innerClassName FilterBypass flags 409
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/NumberFormatter
+header extends javax/swing/text/InternationalFormatter flags 21
+innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9
+innerclass innerClass javax/swing/text/DocumentFilter$FilterBypass outerClass javax/swing/text/DocumentFilter innerClassName FilterBypass flags 409
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/PasswordView
+header extends javax/swing/text/FieldView flags 21
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/PlainDocument
+header extends javax/swing/text/AbstractDocument flags 21
+innerclass innerClass javax/swing/text/AbstractDocument$AbstractElement outerClass javax/swing/text/AbstractDocument innerClassName AbstractElement flags 401
+innerclass innerClass javax/swing/text/AbstractDocument$Content outerClass javax/swing/text/AbstractDocument innerClassName Content flags 609
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$DefaultDocumentEvent outerClass javax/swing/text/AbstractDocument innerClassName DefaultDocumentEvent flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$ElementEdit outerClass javax/swing/text/AbstractDocument innerClassName ElementEdit flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/Position
+header extends java/lang/Object nestMembers javax/swing/text/Position$Bias flags 601
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/Position$Bias
+header extends java/lang/Object nestHost javax/swing/text/Position flags 31
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+
+class name javax/swing/text/Segment
+header extends java/lang/Object implements java/lang/Cloneable,java/text/CharacterIterator,java/lang/CharSequence flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/Style
+header extends java/lang/Object implements javax/swing/text/MutableAttributeSet flags 601
+
+class name javax/swing/text/StyleConstants
+header extends java/lang/Object nestMembers javax/swing/text/StyleConstants$FontConstants,javax/swing/text/StyleConstants$ColorConstants,javax/swing/text/StyleConstants$CharacterConstants,javax/swing/text/StyleConstants$ParagraphConstants flags 21
+innerclass innerClass javax/swing/text/StyleConstants$FontConstants outerClass javax/swing/text/StyleConstants innerClassName FontConstants flags 9
+innerclass innerClass javax/swing/text/StyleConstants$ColorConstants outerClass javax/swing/text/StyleConstants innerClassName ColorConstants flags 9
+innerclass innerClass javax/swing/text/StyleConstants$CharacterConstants outerClass javax/swing/text/StyleConstants innerClassName CharacterConstants flags 9
+innerclass innerClass javax/swing/text/StyleConstants$ParagraphConstants outerClass javax/swing/text/StyleConstants innerClassName ParagraphConstants flags 9
+
+class name javax/swing/text/StyleConstants$CharacterConstants
+header extends javax/swing/text/StyleConstants implements javax/swing/text/AttributeSet$CharacterAttribute nestHost javax/swing/text/StyleConstants flags 21
+innerclass innerClass javax/swing/text/StyleConstants$CharacterConstants outerClass javax/swing/text/StyleConstants innerClassName CharacterConstants flags 9
+innerclass innerClass javax/swing/text/AttributeSet$CharacterAttribute outerClass javax/swing/text/AttributeSet innerClassName CharacterAttribute flags 609
+
+class name javax/swing/text/StyleConstants$ColorConstants
+header extends javax/swing/text/StyleConstants implements javax/swing/text/AttributeSet$ColorAttribute,javax/swing/text/AttributeSet$CharacterAttribute nestHost javax/swing/text/StyleConstants flags 21
+innerclass innerClass javax/swing/text/StyleConstants$ColorConstants outerClass javax/swing/text/StyleConstants innerClassName ColorConstants flags 9
+innerclass innerClass javax/swing/text/AttributeSet$ColorAttribute outerClass javax/swing/text/AttributeSet innerClassName ColorAttribute flags 609
+innerclass innerClass javax/swing/text/AttributeSet$CharacterAttribute outerClass javax/swing/text/AttributeSet innerClassName CharacterAttribute flags 609
+
+class name javax/swing/text/StyleConstants$FontConstants
+header extends javax/swing/text/StyleConstants implements javax/swing/text/AttributeSet$FontAttribute,javax/swing/text/AttributeSet$CharacterAttribute nestHost javax/swing/text/StyleConstants flags 21
+innerclass innerClass javax/swing/text/StyleConstants$FontConstants outerClass javax/swing/text/StyleConstants innerClassName FontConstants flags 9
+innerclass innerClass javax/swing/text/AttributeSet$FontAttribute outerClass javax/swing/text/AttributeSet innerClassName FontAttribute flags 609
+innerclass innerClass javax/swing/text/AttributeSet$CharacterAttribute outerClass javax/swing/text/AttributeSet innerClassName CharacterAttribute flags 609
+
+class name javax/swing/text/StyleConstants$ParagraphConstants
+header extends javax/swing/text/StyleConstants implements javax/swing/text/AttributeSet$ParagraphAttribute nestHost javax/swing/text/StyleConstants flags 21
+innerclass innerClass javax/swing/text/StyleConstants$ParagraphConstants outerClass javax/swing/text/StyleConstants innerClassName ParagraphConstants flags 9
+innerclass innerClass javax/swing/text/AttributeSet$ParagraphAttribute outerClass javax/swing/text/AttributeSet innerClassName ParagraphAttribute flags 609
+
+class name javax/swing/text/StyleContext
+header extends java/lang/Object implements java/io/Serializable,javax/swing/text/AbstractDocument$AttributeContext nestMembers javax/swing/text/StyleContext$NamedStyle,javax/swing/text/StyleContext$SmallAttributeSet flags 21
+innerclass innerClass javax/swing/text/StyleContext$NamedStyle outerClass javax/swing/text/StyleContext innerClassName NamedStyle flags 1
+innerclass innerClass javax/swing/text/StyleContext$SmallAttributeSet outerClass javax/swing/text/StyleContext innerClassName SmallAttributeSet flags 1
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass javax/swing/text/AbstractDocument$AttributeContext outerClass javax/swing/text/AbstractDocument innerClassName AttributeContext flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/StyleContext$NamedStyle
+header extends java/lang/Object implements javax/swing/text/Style,java/io/Serializable nestHost javax/swing/text/StyleContext flags 21
+innerclass innerClass javax/swing/text/StyleContext$NamedStyle outerClass javax/swing/text/StyleContext innerClassName NamedStyle flags 1
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/StyleContext$SmallAttributeSet
+header extends java/lang/Object implements javax/swing/text/AttributeSet nestHost javax/swing/text/StyleContext flags 21
+innerclass innerClass javax/swing/text/StyleContext$SmallAttributeSet outerClass javax/swing/text/StyleContext innerClassName SmallAttributeSet flags 1
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/StyledDocument
+header extends java/lang/Object implements javax/swing/text/Document flags 601
+
+class name javax/swing/text/StyledEditorKit
+header extends javax/swing/text/DefaultEditorKit nestMembers javax/swing/text/StyledEditorKit$UnderlineAction,javax/swing/text/StyledEditorKit$ItalicAction,javax/swing/text/StyledEditorKit$BoldAction,javax/swing/text/StyledEditorKit$AlignmentAction,javax/swing/text/StyledEditorKit$ForegroundAction,javax/swing/text/StyledEditorKit$FontSizeAction,javax/swing/text/StyledEditorKit$FontFamilyAction,javax/swing/text/StyledEditorKit$StyledTextAction flags 21
+innerclass innerClass javax/swing/text/StyledEditorKit$UnderlineAction outerClass javax/swing/text/StyledEditorKit innerClassName UnderlineAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$ItalicAction outerClass javax/swing/text/StyledEditorKit innerClassName ItalicAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$BoldAction outerClass javax/swing/text/StyledEditorKit innerClassName BoldAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$AlignmentAction outerClass javax/swing/text/StyledEditorKit innerClassName AlignmentAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$ForegroundAction outerClass javax/swing/text/StyledEditorKit innerClassName ForegroundAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$FontSizeAction outerClass javax/swing/text/StyledEditorKit innerClassName FontSizeAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$FontFamilyAction outerClass javax/swing/text/StyledEditorKit innerClassName FontFamilyAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/StyledEditorKit$AlignmentAction
+header extends javax/swing/text/StyledEditorKit$StyledTextAction nestHost javax/swing/text/StyledEditorKit flags 21
+innerclass innerClass javax/swing/text/StyledEditorKit$AlignmentAction outerClass javax/swing/text/StyledEditorKit innerClassName AlignmentAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/StyledEditorKit$BoldAction
+header extends javax/swing/text/StyledEditorKit$StyledTextAction nestHost javax/swing/text/StyledEditorKit flags 21
+innerclass innerClass javax/swing/text/StyledEditorKit$BoldAction outerClass javax/swing/text/StyledEditorKit innerClassName BoldAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/StyledEditorKit$FontFamilyAction
+header extends javax/swing/text/StyledEditorKit$StyledTextAction nestHost javax/swing/text/StyledEditorKit flags 21
+innerclass innerClass javax/swing/text/StyledEditorKit$FontFamilyAction outerClass javax/swing/text/StyledEditorKit innerClassName FontFamilyAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/StyledEditorKit$FontSizeAction
+header extends javax/swing/text/StyledEditorKit$StyledTextAction nestHost javax/swing/text/StyledEditorKit flags 21
+innerclass innerClass javax/swing/text/StyledEditorKit$FontSizeAction outerClass javax/swing/text/StyledEditorKit innerClassName FontSizeAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/StyledEditorKit$ForegroundAction
+header extends javax/swing/text/StyledEditorKit$StyledTextAction nestHost javax/swing/text/StyledEditorKit flags 21
+innerclass innerClass javax/swing/text/StyledEditorKit$ForegroundAction outerClass javax/swing/text/StyledEditorKit innerClassName ForegroundAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/StyledEditorKit$ItalicAction
+header extends javax/swing/text/StyledEditorKit$StyledTextAction nestHost javax/swing/text/StyledEditorKit flags 21
+innerclass innerClass javax/swing/text/StyledEditorKit$ItalicAction outerClass javax/swing/text/StyledEditorKit innerClassName ItalicAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/StyledEditorKit$StyledTextAction
+header extends javax/swing/text/TextAction nestHost javax/swing/text/StyledEditorKit flags 421
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/StyledEditorKit$UnderlineAction
+header extends javax/swing/text/StyledEditorKit$StyledTextAction nestHost javax/swing/text/StyledEditorKit flags 21
+innerclass innerClass javax/swing/text/StyledEditorKit$UnderlineAction outerClass javax/swing/text/StyledEditorKit innerClassName UnderlineAction flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/TabExpander
+header extends java/lang/Object flags 601
+
+class name javax/swing/text/TabSet
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/TabStop
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/TabableView
+header extends java/lang/Object flags 601
+
+class name javax/swing/text/TableView
+header extends javax/swing/text/BoxView nestMembers javax/swing/text/TableView$GridCell,javax/swing/text/TableView$TableCell,javax/swing/text/TableView$TableRow flags 421
+innerclass innerClass javax/swing/text/TableView$GridCell outerClass javax/swing/text/TableView innerClassName GridCell flags 608
+innerclass innerClass javax/swing/text/TableView$TableCell outerClass javax/swing/text/TableView innerClassName TableCell flags 1
+innerclass innerClass javax/swing/text/TableView$TableRow outerClass javax/swing/text/TableView innerClassName TableRow flags 1
+innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+
+class name javax/swing/text/TableView$GridCell
+header extends java/lang/Object nestHost javax/swing/text/TableView flags 600
+innerclass innerClass javax/swing/text/TableView$GridCell outerClass javax/swing/text/TableView innerClassName GridCell flags 608
+
+class name javax/swing/text/TableView$TableCell
+header extends javax/swing/text/BoxView implements javax/swing/text/TableView$GridCell nestHost javax/swing/text/TableView flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+innerclass innerClass javax/swing/text/TableView$TableCell outerClass javax/swing/text/TableView innerClassName TableCell flags 1
+innerclass innerClass javax/swing/text/TableView$GridCell outerClass javax/swing/text/TableView innerClassName GridCell flags 608
+
+class name javax/swing/text/TableView$TableRow
+header extends javax/swing/text/BoxView nestHost javax/swing/text/TableView flags 21
+innerclass innerClass javax/swing/text/TableView$TableRow outerClass javax/swing/text/TableView innerClassName TableRow flags 1
+
+class name javax/swing/text/TextAction
+header extends javax/swing/AbstractAction flags 421
+
+class name javax/swing/text/Utilities
+header extends java/lang/Object flags 21
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9
+innerclass innerClass javax/swing/text/GlyphView$GlyphPainter outerClass javax/swing/text/GlyphView innerClassName GlyphPainter flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/View
+header extends java/lang/Object implements javax/swing/SwingConstants flags 421
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609
+innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/ViewFactory
+header extends java/lang/Object flags 601
+
+class name javax/swing/text/html/BlockView
+header extends javax/swing/text/BoxView flags 21
+innerclass innerClass javax/swing/text/html/StyleSheet$BoxPainter outerClass javax/swing/text/html/StyleSheet innerClassName BoxPainter flags 9
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/CSS
+header extends java/lang/Object implements java/io/Serializable nestMembers javax/swing/text/html/CSS$Attribute flags 21
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/CSS$Attribute
+header extends java/lang/Object nestHost javax/swing/text/html/CSS flags 31
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+
+class name javax/swing/text/html/FormSubmitEvent
+header extends javax/swing/text/html/HTMLFrameHyperlinkEvent nestMembers javax/swing/text/html/FormSubmitEvent$MethodType flags 21
+innerclass innerClass javax/swing/text/html/FormSubmitEvent$MethodType outerClass javax/swing/text/html/FormSubmitEvent innerClassName MethodType flags 4019
+innerclass innerClass javax/swing/event/HyperlinkEvent$EventType outerClass javax/swing/event/HyperlinkEvent innerClassName EventType flags 19
+
+class name javax/swing/text/html/FormSubmitEvent$MethodType
+header extends java/lang/Enum nestHost javax/swing/text/html/FormSubmitEvent flags 4031 signature Ljava/lang/Enum<Ljavax/swing/text/html/FormSubmitEvent$MethodType;>;
+innerclass innerClass javax/swing/text/html/FormSubmitEvent$MethodType outerClass javax/swing/text/html/FormSubmitEvent innerClassName MethodType flags 4019
+
+class name javax/swing/text/html/FormView
+header extends javax/swing/text/ComponentView implements java/awt/event/ActionListener nestMembers javax/swing/text/html/FormView$MouseEventListener flags 21
+innerclass innerClass javax/swing/text/html/FormView$MouseEventListener outerClass javax/swing/text/html/FormView innerClassName MouseEventListener flags 4
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/FormSubmitEvent$MethodType outerClass javax/swing/text/html/FormSubmitEvent innerClassName MethodType flags 4019
+innerclass innerClass javax/swing/JToggleButton$ToggleButtonModel outerClass javax/swing/JToggleButton innerClassName ToggleButtonModel flags 9
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass javax/swing/event/HyperlinkEvent$EventType outerClass javax/swing/event/HyperlinkEvent innerClassName EventType flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/FormView$MouseEventListener
+header extends java/awt/event/MouseAdapter nestHost javax/swing/text/html/FormView flags 21
+innerclass innerClass javax/swing/text/html/FormView$MouseEventListener outerClass javax/swing/text/html/FormView innerClassName MouseEventListener flags 4
+
+class name javax/swing/text/html/HTML
+header extends java/lang/Object nestMembers javax/swing/text/html/HTML$Attribute,javax/swing/text/html/HTML$UnknownTag,javax/swing/text/html/HTML$Tag flags 21
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+
+class name javax/swing/text/html/HTML$Attribute
+header extends java/lang/Object nestHost javax/swing/text/html/HTML flags 31
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+
+class name javax/swing/text/html/HTML$Tag
+header extends java/lang/Object nestHost javax/swing/text/html/HTML flags 21
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+
+class name javax/swing/text/html/HTML$UnknownTag
+header extends javax/swing/text/html/HTML$Tag implements java/io/Serializable nestHost javax/swing/text/html/HTML flags 21
+innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+
+class name javax/swing/text/html/HTMLDocument
+header extends javax/swing/text/DefaultStyledDocument nestMembers javax/swing/text/html/HTMLDocument$BlockElement,javax/swing/text/html/HTMLDocument$RunElement,javax/swing/text/html/HTMLDocument$HTMLReader,javax/swing/text/html/HTMLDocument$HTMLReader$FormAction,javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction,javax/swing/text/html/HTMLDocument$HTMLReader$PreAction,javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction,javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction,javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction,javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction,javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction,javax/swing/text/html/HTMLDocument$HTMLReader$TagAction,javax/swing/text/html/HTMLDocument$Iterator flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$BlockElement outerClass javax/swing/text/html/HTMLDocument innerClassName BlockElement flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$RunElement outerClass javax/swing/text/html/HTMLDocument innerClassName RunElement flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$Iterator outerClass javax/swing/text/html/HTMLDocument innerClassName Iterator flags 409
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$Parser outerClass javax/swing/text/html/HTMLEditorKit innerClassName Parser flags 409
+innerclass innerClass javax/swing/text/AbstractDocument$Content outerClass javax/swing/text/AbstractDocument innerClassName Content flags 609
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/DefaultStyledDocument$ElementSpec outerClass javax/swing/text/DefaultStyledDocument innerClassName ElementSpec flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$DefaultDocumentEvent outerClass javax/swing/text/AbstractDocument innerClassName DefaultDocumentEvent flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$AbstractElement outerClass javax/swing/text/AbstractDocument innerClassName AbstractElement flags 401
+innerclass innerClass javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit outerClass javax/swing/text/DefaultStyledDocument innerClassName AttributeUndoableEdit flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$ElementEdit outerClass javax/swing/text/AbstractDocument innerClassName ElementEdit flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$FormAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName FormAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName CharacterAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$PreAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName PreAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName HiddenAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName IsindexAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName SpecialAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName ParagraphAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName BlockAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$TagAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName TagAction flags 1
+innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19
+innerclass innerClass javax/swing/text/AbstractDocument$AttributeContext outerClass javax/swing/text/AbstractDocument innerClassName AttributeContext flags 609
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/HTMLDocument$BlockElement
+header extends javax/swing/text/AbstractDocument$BranchElement nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$BlockElement outerClass javax/swing/text/html/HTMLDocument innerClassName BlockElement flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader
+header extends javax/swing/text/html/HTMLEditorKit$ParserCallback nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$FormAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName FormAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName CharacterAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$PreAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName PreAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName HiddenAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName IsindexAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName SpecialAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName ParagraphAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName BlockAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$TagAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName TagAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/DefaultStyledDocument$ElementSpec outerClass javax/swing/text/DefaultStyledDocument innerClassName ElementSpec flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$DefaultDocumentEvent outerClass javax/swing/text/AbstractDocument innerClassName DefaultDocumentEvent flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$ElementEdit outerClass javax/swing/text/AbstractDocument innerClassName ElementEdit flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9
+innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19
+innerclass innerClass javax/swing/text/AbstractDocument$Content outerClass javax/swing/text/AbstractDocument innerClassName Content flags 609
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction
+header extends javax/swing/text/html/HTMLDocument$HTMLReader$TagAction nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName BlockAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$TagAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName TagAction flags 1
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction
+header extends javax/swing/text/html/HTMLDocument$HTMLReader$TagAction nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName CharacterAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$TagAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName TagAction flags 1
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader$FormAction
+header extends javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$FormAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName FormAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/JToggleButton$ToggleButtonModel outerClass javax/swing/JToggleButton innerClassName ToggleButtonModel flags 9
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName SpecialAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction
+header extends javax/swing/text/html/HTMLDocument$HTMLReader$TagAction nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName HiddenAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$TagAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName TagAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction
+header extends javax/swing/text/html/HTMLDocument$HTMLReader$TagAction nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName IsindexAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$TagAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName TagAction flags 1
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction
+header extends javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName ParagraphAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName BlockAction flags 1
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader$PreAction
+header extends javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$PreAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName PreAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName BlockAction flags 1
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction
+header extends javax/swing/text/html/HTMLDocument$HTMLReader$TagAction nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName SpecialAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$TagAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName TagAction flags 1
+
+class name javax/swing/text/html/HTMLDocument$HTMLReader$TagAction
+header extends java/lang/Object nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader outerClass javax/swing/text/html/HTMLDocument innerClassName HTMLReader flags 1
+innerclass innerClass javax/swing/text/html/HTMLDocument$HTMLReader$TagAction outerClass javax/swing/text/html/HTMLDocument$HTMLReader innerClassName TagAction flags 1
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+
+class name javax/swing/text/html/HTMLDocument$Iterator
+header extends java/lang/Object nestHost javax/swing/text/html/HTMLDocument flags 421
+innerclass innerClass javax/swing/text/html/HTMLDocument$Iterator outerClass javax/swing/text/html/HTMLDocument innerClassName Iterator flags 409
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+
+class name javax/swing/text/html/HTMLDocument$RunElement
+header extends javax/swing/text/AbstractDocument$LeafElement nestHost javax/swing/text/html/HTMLDocument flags 21
+innerclass innerClass javax/swing/text/html/HTMLDocument$RunElement outerClass javax/swing/text/html/HTMLDocument innerClassName RunElement flags 1
+innerclass innerClass javax/swing/text/AbstractDocument$LeafElement outerClass javax/swing/text/AbstractDocument innerClassName LeafElement flags 1
+
+class name javax/swing/text/html/HTMLEditorKit
+header extends javax/swing/text/StyledEditorKit implements javax/accessibility/Accessible nestMembers javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction,javax/swing/text/html/HTMLEditorKit$HTMLTextAction,javax/swing/text/html/HTMLEditorKit$HTMLFactory,javax/swing/text/html/HTMLEditorKit$ParserCallback,javax/swing/text/html/HTMLEditorKit$Parser,javax/swing/text/html/HTMLEditorKit$LinkController flags 21
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction outerClass javax/swing/text/html/HTMLEditorKit innerClassName InsertHTMLTextAction flags 9
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$HTMLTextAction outerClass javax/swing/text/html/HTMLEditorKit innerClassName HTMLTextAction flags 409
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$HTMLFactory outerClass javax/swing/text/html/HTMLEditorKit innerClassName HTMLFactory flags 9
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$Parser outerClass javax/swing/text/html/HTMLEditorKit innerClassName Parser flags 409
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$LinkController outerClass javax/swing/text/html/HTMLEditorKit innerClassName LinkController flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9
+
+class name javax/swing/text/html/HTMLEditorKit$HTMLFactory
+header extends java/lang/Object implements javax/swing/text/ViewFactory nestHost javax/swing/text/html/HTMLEditorKit flags 21
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$HTMLFactory outerClass javax/swing/text/html/HTMLEditorKit innerClassName HTMLFactory flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/HTMLEditorKit$HTMLTextAction
+header extends javax/swing/text/StyledEditorKit$StyledTextAction nestHost javax/swing/text/html/HTMLEditorKit flags 421
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$HTMLTextAction outerClass javax/swing/text/html/HTMLEditorKit innerClassName HTMLTextAction flags 409
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/StyledEditorKit$StyledTextAction outerClass javax/swing/text/StyledEditorKit innerClassName StyledTextAction flags 409
+
+class name javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction
+header extends javax/swing/text/html/HTMLEditorKit$HTMLTextAction nestHost javax/swing/text/html/HTMLEditorKit flags 21
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction outerClass javax/swing/text/html/HTMLEditorKit innerClassName InsertHTMLTextAction flags 9
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$HTMLTextAction outerClass javax/swing/text/html/HTMLEditorKit innerClassName HTMLTextAction flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/HTMLEditorKit$LinkController
+header extends java/awt/event/MouseAdapter implements java/awt/event/MouseMotionListener,java/io/Serializable nestHost javax/swing/text/html/HTMLEditorKit flags 21
+innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$LinkController outerClass javax/swing/text/html/HTMLEditorKit innerClassName LinkController flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass javax/swing/event/HyperlinkEvent$EventType outerClass javax/swing/event/HyperlinkEvent innerClassName EventType flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/HTMLEditorKit$Parser
+header extends java/lang/Object nestHost javax/swing/text/html/HTMLEditorKit flags 421
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$Parser outerClass javax/swing/text/html/HTMLEditorKit innerClassName Parser flags 409
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9
+
+class name javax/swing/text/html/HTMLEditorKit$ParserCallback
+header extends java/lang/Object nestHost javax/swing/text/html/HTMLEditorKit flags 21
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+
+class name javax/swing/text/html/HTMLFrameHyperlinkEvent
+header extends javax/swing/event/HyperlinkEvent flags 21
+innerclass innerClass javax/swing/event/HyperlinkEvent$EventType outerClass javax/swing/event/HyperlinkEvent innerClassName EventType flags 19
+
+class name javax/swing/text/html/HTMLWriter
+header extends javax/swing/text/AbstractWriter flags 21
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/InlineView
+header extends javax/swing/text/LabelView flags 21
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+
+class name javax/swing/text/html/ListView
+header extends javax/swing/text/html/BlockView flags 21
+innerclass innerClass javax/swing/text/html/StyleSheet$ListPainter outerClass javax/swing/text/html/StyleSheet innerClassName ListPainter flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/MinimalHTMLWriter
+header extends javax/swing/text/AbstractWriter flags 21
+innerclass innerClass javax/swing/text/StyleConstants$ParagraphConstants outerClass javax/swing/text/StyleConstants innerClassName ParagraphConstants flags 9
+innerclass innerClass javax/swing/text/StyleConstants$CharacterConstants outerClass javax/swing/text/StyleConstants innerClassName CharacterConstants flags 9
+innerclass innerClass javax/swing/text/StyleConstants$FontConstants outerClass javax/swing/text/StyleConstants innerClassName FontConstants flags 9
+innerclass innerClass javax/swing/text/StyleConstants$ColorConstants outerClass javax/swing/text/StyleConstants innerClassName ColorConstants flags 9
+innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1
+innerclass innerClass javax/swing/text/StyleContext$NamedStyle outerClass javax/swing/text/StyleContext innerClassName NamedStyle flags 1
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/ObjectView
+header extends javax/swing/text/ComponentView flags 21
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/Option
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+
+class name javax/swing/text/html/ParagraphView
+header extends javax/swing/text/ParagraphView flags 21
+innerclass innerClass javax/swing/text/html/StyleSheet$BoxPainter outerClass javax/swing/text/html/StyleSheet innerClassName BoxPainter flags 9
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+
+class name javax/swing/text/html/StyleSheet
+header extends javax/swing/text/StyleContext nestMembers javax/swing/text/html/StyleSheet$ListPainter,javax/swing/text/html/StyleSheet$BoxPainter flags 21
+innerclass innerClass javax/swing/text/html/StyleSheet$ListPainter outerClass javax/swing/text/html/StyleSheet innerClassName ListPainter flags 9
+innerclass innerClass javax/swing/text/html/StyleSheet$BoxPainter outerClass javax/swing/text/html/StyleSheet innerClassName BoxPainter flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/StyleContext$SmallAttributeSet outerClass javax/swing/text/StyleContext innerClassName SmallAttributeSet flags 1
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/StyleSheet$BoxPainter
+header extends java/lang/Object implements java/io/Serializable nestHost javax/swing/text/html/StyleSheet flags 21
+innerclass innerClass javax/swing/text/html/StyleSheet$BoxPainter outerClass javax/swing/text/html/StyleSheet innerClassName BoxPainter flags 9
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$HTMLFactory outerClass javax/swing/text/html/HTMLEditorKit innerClassName HTMLFactory flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/StyleSheet$ListPainter
+header extends java/lang/Object implements java/io/Serializable nestHost javax/swing/text/html/StyleSheet flags 21
+innerclass innerClass javax/swing/text/html/StyleSheet$ListPainter outerClass javax/swing/text/html/StyleSheet innerClassName ListPainter flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/parser/AttributeList
+header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants,java/io/Serializable flags 31
+
+class name javax/swing/text/html/parser/ContentModel
+header extends java/lang/Object implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/parser/DTD
+header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants flags 21
+
+class name javax/swing/text/html/parser/DTDConstants
+header extends java/lang/Object flags 601
+
+class name javax/swing/text/html/parser/DocumentParser
+header extends javax/swing/text/html/parser/Parser flags 21
+innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+
+class name javax/swing/text/html/parser/Element
+header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants,java/io/Serializable flags 31
+
+class name javax/swing/text/html/parser/Entity
+header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants flags 31
+
+class name javax/swing/text/html/parser/Parser
+header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants flags 21
+innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/text/html/parser/TagElement
+header extends java/lang/Object flags 21
+innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9
+innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9
+
+class name javax/swing/text/rtf/RTFEditorKit
+header extends javax/swing/text/StyledEditorKit flags 21
+
+class name javax/swing/tree/AbstractLayoutCache
+header extends java/lang/Object implements javax/swing/tree/RowMapper nestMembers javax/swing/tree/AbstractLayoutCache$NodeDimensions flags 421
+innerclass innerClass javax/swing/tree/AbstractLayoutCache$NodeDimensions outerClass javax/swing/tree/AbstractLayoutCache innerClassName NodeDimensions flags 409
+
+class name javax/swing/tree/AbstractLayoutCache$NodeDimensions
+header extends java/lang/Object nestHost javax/swing/tree/AbstractLayoutCache flags 421
+innerclass innerClass javax/swing/tree/AbstractLayoutCache$NodeDimensions outerClass javax/swing/tree/AbstractLayoutCache innerClassName NodeDimensions flags 409
+
+class name javax/swing/tree/DefaultTreeCellEditor
+header extends java/lang/Object implements java/awt/event/ActionListener,javax/swing/tree/TreeCellEditor,javax/swing/event/TreeSelectionListener nestMembers javax/swing/tree/DefaultTreeCellEditor$EditorContainer,javax/swing/tree/DefaultTreeCellEditor$DefaultTextField flags 21
+innerclass innerClass javax/swing/tree/DefaultTreeCellEditor$EditorContainer outerClass javax/swing/tree/DefaultTreeCellEditor innerClassName EditorContainer flags 1
+innerclass innerClass javax/swing/tree/DefaultTreeCellEditor$DefaultTextField outerClass javax/swing/tree/DefaultTreeCellEditor innerClassName DefaultTextField flags 1
+
+class name javax/swing/tree/DefaultTreeCellEditor$DefaultTextField
+header extends javax/swing/JTextField nestHost javax/swing/tree/DefaultTreeCellEditor flags 21
+innerclass innerClass javax/swing/tree/DefaultTreeCellEditor$DefaultTextField outerClass javax/swing/tree/DefaultTreeCellEditor innerClassName DefaultTextField flags 1
+
+class name javax/swing/tree/DefaultTreeCellEditor$EditorContainer
+header extends java/awt/Container nestHost javax/swing/tree/DefaultTreeCellEditor flags 21
+innerclass innerClass javax/swing/tree/DefaultTreeCellEditor$EditorContainer outerClass javax/swing/tree/DefaultTreeCellEditor innerClassName EditorContainer flags 1
+
+class name javax/swing/tree/DefaultTreeCellRenderer
+header extends javax/swing/JLabel implements javax/swing/tree/TreeCellRenderer flags 21
+innerclass innerClass javax/swing/JTree$DropLocation outerClass javax/swing/JTree innerClassName DropLocation flags 19
+
+class name javax/swing/tree/DefaultTreeModel
+header extends java/lang/Object implements java/io/Serializable,javax/swing/tree/TreeModel flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+
+class name javax/swing/tree/DefaultTreeSelectionModel
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable,javax/swing/tree/TreeSelectionModel flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/tree/ExpandVetoException
+header extends java/lang/Exception flags 21
+
+class name javax/swing/tree/MutableTreeNode
+header extends java/lang/Object implements javax/swing/tree/TreeNode flags 601
+
+class name javax/swing/tree/RowMapper
+header extends java/lang/Object flags 601
+
+class name javax/swing/tree/TreeCellEditor
+header extends java/lang/Object implements javax/swing/CellEditor flags 601
+
+class name javax/swing/tree/TreeCellRenderer
+header extends java/lang/Object flags 601
+
+class name javax/swing/tree/TreeModel
+header extends java/lang/Object flags 601
+
+class name javax/swing/tree/TreeNode
+header extends java/lang/Object flags 601
+
+class name javax/swing/tree/TreePath
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/tree/TreeSelectionModel
+header extends java/lang/Object flags 601
+
+class name javax/swing/undo/AbstractUndoableEdit
+header extends java/lang/Object implements javax/swing/undo/UndoableEdit,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/undo/CannotRedoException
+header extends java/lang/RuntimeException flags 21
+
+class name javax/swing/undo/CannotUndoException
+header extends java/lang/RuntimeException flags 21
+
+class name javax/swing/undo/CompoundEdit
+header extends javax/swing/undo/AbstractUndoableEdit flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/swing/undo/StateEdit
+header extends javax/swing/undo/AbstractUndoableEdit flags 21
+
+class name javax/swing/undo/StateEditable
+header extends java/lang/Object flags 601
+
+class name javax/swing/undo/UndoableEdit
+header extends java/lang/Object flags 601
+
+class name javax/swing/undo/UndoableEditSupport
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.instrument-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.instrument
+header exports java/lang/instrument requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
+
+class name java/lang/instrument/ClassDefinition
+header extends java/lang/Object flags 31
+
+class name java/lang/instrument/ClassFileTransformer
+header extends java/lang/Object flags 601
+
+class name java/lang/instrument/IllegalClassFormatException
+header extends java/lang/Exception flags 21
+
+class name java/lang/instrument/Instrumentation
+header extends java/lang/Object flags 601
+
+class name java/lang/instrument/UnmodifiableClassException
+header extends java/lang/Exception flags 21
+
+class name java/lang/instrument/UnmodifiableModuleException
+header extends java/lang/RuntimeException flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.logging-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,67 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.logging
+header exports java/util/logging requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;jdk/internal/logger/DefaultLoggerFinder\u0020;impls\u0020;sun/util/logging/internal/LoggingProviderImpl target linux-amd64 flags 8000
+
+class name java/util/logging/ConsoleHandler
+header extends java/util/logging/StreamHandler flags 21
+
+class name java/util/logging/ErrorManager
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/logging/Filter
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/logging/Formatter
+header extends java/lang/Object flags 421
+
+class name java/util/logging/LoggingMXBean
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name java/util/logging/LoggingPermission
+header extends java/security/BasicPermission flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/logging/MemoryHandler
+header extends java/util/logging/Handler flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/logging/SimpleFormatter
+header extends java/util/logging/Formatter flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/logging/SocketHandler
+header extends java/util/logging/StreamHandler flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/util/logging/XMLFormatter
+header extends java/util/logging/Formatter flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.management-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,696 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.management
+header exports java/lang/management,javax/management,javax/management/loading,javax/management/modelmbean,javax/management/monitor,javax/management/openmbean,javax/management/relation,javax/management/remote,javax/management/timer requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/management/remote/JMXConnectorProvider,javax/management/remote/JMXConnectorServerProvider,sun/management/spi/PlatformMBeanProvider provides interface\u0020;javax/security/auth/spi/LoginModule\u0020;impls\u0020;com/sun/jmx/remote/security/FileLoginModule target linux-amd64 flags 8000
+
+class name java/lang/management/BufferPoolMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name java/lang/management/ClassLoadingMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name java/lang/management/CompilationMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name java/lang/management/GarbageCollectorMXBean
+header extends java/lang/Object implements java/lang/management/MemoryManagerMXBean flags 601
+
+class name java/lang/management/LockInfo
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/management/ManagementPermission
+header extends java/security/BasicPermission flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/management/MemoryMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name java/lang/management/MemoryManagerMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name java/lang/management/MemoryNotificationInfo
+header extends java/lang/Object flags 21
+
+class name java/lang/management/MemoryPoolMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name java/lang/management/MemoryType
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/lang/management/MemoryType;>;
+
+class name java/lang/management/MemoryUsage
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/management/MonitorInfo
+header extends java/lang/management/LockInfo flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/management/OperatingSystemMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name java/lang/management/PlatformLoggingMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name java/lang/management/PlatformManagedObject
+header extends java/lang/Object flags 601
+
+class name java/lang/management/RuntimeMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/lang/management/ThreadMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name javax/management/Attribute
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/AttributeChangeNotification
+header extends javax/management/Notification flags 21
+
+class name javax/management/AttributeChangeNotificationFilter
+header extends java/lang/Object implements javax/management/NotificationFilter flags 21
+
+class name javax/management/AttributeList
+header extends java/util/ArrayList flags 21 signature Ljava/util/ArrayList<Ljava/lang/Object;>;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/AttributeNotFoundException
+header extends javax/management/OperationsException flags 21
+
+class name javax/management/AttributeValueExp
+header extends java/lang/Object implements javax/management/ValueExp flags 21
+
+class name javax/management/BadAttributeValueExpException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/BadBinaryOpValueExpException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/BadStringOperationException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/ConstructorParameters
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name javax/management/DefaultLoaderRepository
+header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name javax/management/Descriptor
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 601
+
+class name javax/management/DescriptorAccess
+header extends java/lang/Object implements javax/management/DescriptorRead flags 601
+
+class name javax/management/DescriptorKey
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})
+
+class name javax/management/DescriptorRead
+header extends java/lang/Object flags 601
+
+class name javax/management/DynamicMBean
+header extends java/lang/Object flags 601
+
+class name javax/management/ImmutableDescriptor
+header extends java/lang/Object implements javax/management/Descriptor flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/InstanceAlreadyExistsException
+header extends javax/management/OperationsException flags 21
+
+class name javax/management/InstanceNotFoundException
+header extends javax/management/OperationsException flags 21
+
+class name javax/management/IntrospectionException
+header extends javax/management/OperationsException flags 21
+
+class name javax/management/InvalidApplicationException
+header extends java/lang/Exception flags 21
+
+class name javax/management/InvalidAttributeValueException
+header extends javax/management/OperationsException flags 21
+
+class name javax/management/JMException
+header extends java/lang/Exception flags 21
+
+class name javax/management/JMRuntimeException
+header extends java/lang/RuntimeException flags 21
+
+class name javax/management/JMX
+header extends java/lang/Object flags 21
+
+class name javax/management/ListenerNotFoundException
+header extends javax/management/OperationsException flags 21
+
+class name javax/management/MBeanAttributeInfo
+header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanConstructorInfo
+header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanException
+header extends javax/management/JMException flags 21
+
+class name javax/management/MBeanFeatureInfo
+header extends java/lang/Object implements java/io/Serializable,javax/management/DescriptorRead flags 21
+
+class name javax/management/MBeanNotificationInfo
+header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanOperationInfo
+header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanParameterInfo
+header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanPermission
+header extends java/security/Permission flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanRegistration
+header extends java/lang/Object flags 601
+
+class name javax/management/MBeanRegistrationException
+header extends javax/management/MBeanException flags 21
+
+class name javax/management/MBeanServer
+header extends java/lang/Object implements javax/management/MBeanServerConnection flags 601
+
+class name javax/management/MBeanServerBuilder
+header extends java/lang/Object flags 21
+
+class name javax/management/MBeanServerConnection
+header extends java/lang/Object flags 601
+
+class name javax/management/MBeanServerDelegate
+header extends java/lang/Object implements javax/management/MBeanServerDelegateMBean,javax/management/NotificationEmitter flags 21
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanServerDelegateMBean
+header extends java/lang/Object flags 601
+
+class name javax/management/MBeanServerFactory
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanServerInvocationHandler
+header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanServerNotification
+header extends javax/management/Notification flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanServerPermission
+header extends java/security/BasicPermission flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MBeanTrustPermission
+header extends java/security/BasicPermission flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/MXBean
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})
+
+class name javax/management/MalformedObjectNameException
+header extends javax/management/OperationsException flags 21
+
+class name javax/management/NotCompliantMBeanException
+header extends javax/management/OperationsException flags 21
+
+class name javax/management/Notification
+header extends java/util/EventObject flags 21
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/NotificationBroadcaster
+header extends java/lang/Object flags 601
+
+class name javax/management/NotificationEmitter
+header extends java/lang/Object implements javax/management/NotificationBroadcaster flags 601
+
+class name javax/management/NotificationFilter
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name javax/management/NotificationFilterSupport
+header extends java/lang/Object implements javax/management/NotificationFilter flags 21
+
+class name javax/management/NotificationListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/management/ObjectInstance
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/OperationsException
+header extends javax/management/JMException flags 21
+
+class name javax/management/PersistentMBean
+header extends java/lang/Object flags 601
+
+class name javax/management/Query
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/QueryEval
+header extends java/lang/Object implements java/io/Serializable flags 421
+
+class name javax/management/QueryExp
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name javax/management/ReflectionException
+header extends javax/management/JMException flags 21
+
+class name javax/management/RuntimeErrorException
+header extends javax/management/JMRuntimeException flags 21
+
+class name javax/management/RuntimeMBeanException
+header extends javax/management/JMRuntimeException flags 21
+
+class name javax/management/RuntimeOperationsException
+header extends javax/management/JMRuntimeException flags 21
+
+class name javax/management/ServiceNotFoundException
+header extends javax/management/OperationsException flags 21
+
+class name javax/management/StandardEmitterMBean
+header extends javax/management/StandardMBean implements javax/management/NotificationEmitter flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/StringValueExp
+header extends java/lang/Object implements javax/management/ValueExp flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/ValueExp
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name javax/management/loading/ClassLoaderRepository
+header extends java/lang/Object flags 601
+
+class name javax/management/loading/DefaultLoaderRepository
+header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+
+class name javax/management/loading/MLetContent
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/loading/MLetMBean
+header extends java/lang/Object flags 601
+
+class name javax/management/loading/PrivateClassLoader
+header extends java/lang/Object flags 601
+
+class name javax/management/loading/PrivateMLet
+header extends javax/management/loading/MLet implements javax/management/loading/PrivateClassLoader flags 21
+
+class name javax/management/modelmbean/DescriptorSupport
+header extends java/lang/Object implements javax/management/Descriptor flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/modelmbean/InvalidTargetObjectTypeException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/modelmbean/ModelMBean
+header extends java/lang/Object implements javax/management/DynamicMBean,javax/management/PersistentMBean,javax/management/modelmbean/ModelMBeanNotificationBroadcaster flags 601
+
+class name javax/management/modelmbean/ModelMBeanAttributeInfo
+header extends javax/management/MBeanAttributeInfo implements javax/management/DescriptorAccess flags 21
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/modelmbean/ModelMBeanConstructorInfo
+header extends javax/management/MBeanConstructorInfo implements javax/management/DescriptorAccess flags 21
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/modelmbean/ModelMBeanInfo
+header extends java/lang/Object flags 601
+
+class name javax/management/modelmbean/ModelMBeanInfoSupport
+header extends javax/management/MBeanInfo implements javax/management/modelmbean/ModelMBeanInfo flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/modelmbean/ModelMBeanNotificationBroadcaster
+header extends java/lang/Object implements javax/management/NotificationBroadcaster flags 601
+
+class name javax/management/modelmbean/ModelMBeanNotificationInfo
+header extends javax/management/MBeanNotificationInfo implements javax/management/DescriptorAccess flags 21
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/modelmbean/ModelMBeanOperationInfo
+header extends javax/management/MBeanOperationInfo implements javax/management/DescriptorAccess flags 21
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/modelmbean/XMLParseException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/monitor/CounterMonitorMBean
+header extends java/lang/Object implements javax/management/monitor/MonitorMBean flags 601
+
+class name javax/management/monitor/GaugeMonitorMBean
+header extends java/lang/Object implements javax/management/monitor/MonitorMBean flags 601
+
+class name javax/management/monitor/MonitorMBean
+header extends java/lang/Object flags 601
+
+class name javax/management/monitor/MonitorNotification
+header extends javax/management/Notification flags 21
+
+class name javax/management/monitor/MonitorSettingException
+header extends javax/management/JMRuntimeException flags 21
+
+class name javax/management/monitor/StringMonitorMBean
+header extends java/lang/Object implements javax/management/monitor/MonitorMBean flags 601
+
+class name javax/management/openmbean/ArrayType
+header extends javax/management/openmbean/OpenType flags 21 signature <T:Ljava/lang/Object;>Ljavax/management/openmbean/OpenType<TT;>;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/openmbean/CompositeData
+header extends java/lang/Object flags 601
+
+class name javax/management/openmbean/CompositeDataInvocationHandler
+header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/openmbean/CompositeDataSupport
+header extends java/lang/Object implements javax/management/openmbean/CompositeData,java/io/Serializable flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/openmbean/CompositeDataView
+header extends java/lang/Object flags 601
+
+class name javax/management/openmbean/CompositeType
+header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType<Ljavax/management/openmbean/CompositeData;>;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/openmbean/InvalidKeyException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name javax/management/openmbean/InvalidOpenTypeException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name javax/management/openmbean/KeyAlreadyExistsException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name javax/management/openmbean/OpenDataException
+header extends javax/management/JMException flags 21
+
+class name javax/management/openmbean/OpenMBeanAttributeInfo
+header extends java/lang/Object implements javax/management/openmbean/OpenMBeanParameterInfo flags 601
+
+class name javax/management/openmbean/OpenMBeanAttributeInfoSupport
+header extends javax/management/MBeanAttributeInfo implements javax/management/openmbean/OpenMBeanAttributeInfo flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/openmbean/OpenMBeanConstructorInfo
+header extends java/lang/Object flags 601
+
+class name javax/management/openmbean/OpenMBeanConstructorInfoSupport
+header extends javax/management/MBeanConstructorInfo implements javax/management/openmbean/OpenMBeanConstructorInfo flags 21
+
+class name javax/management/openmbean/OpenMBeanInfo
+header extends java/lang/Object flags 601
+
+class name javax/management/openmbean/OpenMBeanInfoSupport
+header extends javax/management/MBeanInfo implements javax/management/openmbean/OpenMBeanInfo flags 21
+
+class name javax/management/openmbean/OpenMBeanOperationInfo
+header extends java/lang/Object flags 601
+
+class name javax/management/openmbean/OpenMBeanOperationInfoSupport
+header extends javax/management/MBeanOperationInfo implements javax/management/openmbean/OpenMBeanOperationInfo flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/openmbean/OpenMBeanParameterInfo
+header extends java/lang/Object flags 601
+
+class name javax/management/openmbean/OpenMBeanParameterInfoSupport
+header extends javax/management/MBeanParameterInfo implements javax/management/openmbean/OpenMBeanParameterInfo flags 21
+
+class name javax/management/openmbean/SimpleType
+header extends javax/management/openmbean/OpenType flags 31 signature <T:Ljava/lang/Object;>Ljavax/management/openmbean/OpenType<TT;>;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/openmbean/TabularData
+header extends java/lang/Object flags 601
+
+class name javax/management/openmbean/TabularDataSupport
+header extends java/lang/Object implements javax/management/openmbean/TabularData,java/util/Map,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/lang/Object;Ljavax/management/openmbean/TabularData;Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;Ljava/lang/Cloneable;Ljava/io/Serializable;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/openmbean/TabularType
+header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType<Ljavax/management/openmbean/TabularData;>;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/relation/InvalidRelationIdException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/InvalidRelationServiceException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/InvalidRelationTypeException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/InvalidRoleInfoException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/InvalidRoleValueException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/MBeanServerNotificationFilter
+header extends javax/management/NotificationFilterSupport flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/relation/Relation
+header extends java/lang/Object flags 601
+
+class name javax/management/relation/RelationException
+header extends javax/management/JMException flags 21
+
+class name javax/management/relation/RelationNotFoundException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/RelationNotification
+header extends javax/management/Notification flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+
+class name javax/management/relation/RelationService
+header extends javax/management/NotificationBroadcasterSupport implements javax/management/relation/RelationServiceMBean,javax/management/MBeanRegistration,javax/management/NotificationListener flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/relation/RelationServiceMBean
+header extends java/lang/Object flags 601
+
+class name javax/management/relation/RelationServiceNotRegisteredException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/RelationSupport
+header extends java/lang/Object implements javax/management/relation/RelationSupportMBean,javax/management/MBeanRegistration flags 21
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+
+class name javax/management/relation/RelationSupportMBean
+header extends java/lang/Object implements javax/management/relation/Relation flags 601
+
+class name javax/management/relation/RelationType
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name javax/management/relation/RelationTypeNotFoundException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/RelationTypeSupport
+header extends java/lang/Object implements javax/management/relation/RelationType flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+
+class name javax/management/relation/Role
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/relation/RoleInfo
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/relation/RoleInfoNotFoundException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/RoleList
+header extends java/util/ArrayList flags 21 signature Ljava/util/ArrayList<Ljava/lang/Object;>;
+
+class name javax/management/relation/RoleNotFoundException
+header extends javax/management/relation/RelationException flags 21
+
+class name javax/management/relation/RoleResult
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+
+class name javax/management/relation/RoleStatus
+header extends java/lang/Object flags 21
+
+class name javax/management/relation/RoleUnresolved
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/relation/RoleUnresolvedList
+header extends java/util/ArrayList flags 21 signature Ljava/util/ArrayList<Ljava/lang/Object;>;
+
+class name javax/management/remote/JMXAddressable
+header extends java/lang/Object flags 601
+
+class name javax/management/remote/JMXAuthenticator
+header extends java/lang/Object flags 601
+
+class name javax/management/remote/JMXConnectionNotification
+header extends javax/management/Notification flags 21
+
+class name javax/management/remote/JMXConnector
+header extends java/lang/Object implements java/io/Closeable flags 601
+
+class name javax/management/remote/JMXConnectorProvider
+header extends java/lang/Object flags 601
+
+class name javax/management/remote/JMXConnectorServer
+header extends javax/management/NotificationBroadcasterSupport implements javax/management/remote/JMXConnectorServerMBean,javax/management/MBeanRegistration,javax/management/remote/JMXAddressable flags 421
+
+class name javax/management/remote/JMXConnectorServerFactory
+header extends java/lang/Object flags 21
+innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/remote/JMXConnectorServerMBean
+header extends java/lang/Object flags 601
+
+class name javax/management/remote/JMXConnectorServerProvider
+header extends java/lang/Object flags 601
+
+class name javax/management/remote/JMXPrincipal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/remote/JMXProviderException
+header extends java/io/IOException flags 21
+
+class name javax/management/remote/JMXServerErrorException
+header extends java/io/IOException flags 21
+
+class name javax/management/remote/JMXServiceURL
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/remote/MBeanServerForwarder
+header extends java/lang/Object implements javax/management/MBeanServer flags 601
+
+class name javax/management/remote/NotificationResult
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/remote/SubjectDelegationPermission
+header extends java/security/BasicPermission flags 31
+
+class name javax/management/remote/TargetedNotification
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/timer/Timer
+header extends javax/management/NotificationBroadcasterSupport implements javax/management/timer/TimerMBean,javax/management/MBeanRegistration flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609
+innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/timer/TimerMBean
+header extends java/lang/Object flags 601
+
+class name javax/management/timer/TimerNotification
+header extends javax/management/Notification flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.management.rmi-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,61 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.management.rmi
+header exports javax/management/remote/rmi requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.naming\u0020;flags\u0020;0,name\u0020;java.management\u0020;flags\u0020;20,name\u0020;java.rmi\u0020;flags\u0020;20 provides interface\u0020;javax/management/remote/JMXConnectorProvider\u0020;impls\u0020;com/sun/jmx/remote/protocol/rmi/ClientProvider,interface\u0020;javax/management/remote/JMXConnectorServerProvider\u0020;impls\u0020;com/sun/jmx/remote/protocol/rmi/ServerProvider target linux-amd64 flags 8000
+
+class name javax/management/remote/rmi/RMIConnection
+header extends java/lang/Object implements java/io/Closeable,java/rmi/Remote flags 601
+
+class name javax/management/remote/rmi/RMIConnectionImpl_Stub
+header extends java/rmi/server/RemoteStub implements javax/management/remote/rmi/RMIConnection flags 31
+
+class name javax/management/remote/rmi/RMIConnectorServer
+header extends javax/management/remote/JMXConnectorServer flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/remote/rmi/RMIIIOPServerImpl
+header extends javax/management/remote/rmi/RMIServerImpl flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name javax/management/remote/rmi/RMIJRMPServerImpl
+header extends javax/management/remote/rmi/RMIServerImpl flags 21
+innerclass innerClass java/io/ObjectInputFilter$FilterInfo outerClass java/io/ObjectInputFilter innerClassName FilterInfo flags 609
+innerclass innerClass java/io/ObjectInputFilter$Status outerClass java/io/ObjectInputFilter innerClassName Status flags 4019
+innerclass innerClass java/io/ObjectInputFilter$Config outerClass java/io/ObjectInputFilter innerClassName Config flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/remote/rmi/RMIServer
+header extends java/lang/Object implements java/rmi/Remote flags 601
+
+class name javax/management/remote/rmi/RMIServerImpl
+header extends java/lang/Object implements java/io/Closeable,javax/management/remote/rmi/RMIServer flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/management/remote/rmi/RMIServerImpl_Stub
+header extends java/rmi/server/RemoteStub implements javax/management/remote/rmi/RMIServer flags 31
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.naming-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,332 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.naming
+header exports javax/naming,javax/naming/directory,javax/naming/event,javax/naming/ldap,javax/naming/spi requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.security.sasl\u0020;flags\u0020;0 uses javax/naming/ldap/StartTlsResponse,javax/naming/spi/InitialContextFactory provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/provider/certpath/ldap/JdkLDAP target linux-amd64 flags 8000
+
+class name javax/naming/AuthenticationException
+header extends javax/naming/NamingSecurityException flags 21
+
+class name javax/naming/AuthenticationNotSupportedException
+header extends javax/naming/NamingSecurityException flags 21
+
+class name javax/naming/BinaryRefAddr
+header extends javax/naming/RefAddr flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/Binding
+header extends javax/naming/NameClassPair flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/CannotProceedException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/CommunicationException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/CompositeName
+header extends java/lang/Object implements javax/naming/Name flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/CompoundName
+header extends java/lang/Object implements javax/naming/Name flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/ConfigurationException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/Context
+header extends java/lang/Object flags 601
+
+class name javax/naming/ContextNotEmptyException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/InitialContext
+header extends java/lang/Object implements javax/naming/Context flags 21
+
+class name javax/naming/InsufficientResourcesException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/InterruptedNamingException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/InvalidNameException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/LimitExceededException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/LinkException
+header extends javax/naming/NamingException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/LinkLoopException
+header extends javax/naming/LinkException flags 21
+
+class name javax/naming/LinkRef
+header extends javax/naming/Reference flags 21
+
+class name javax/naming/MalformedLinkException
+header extends javax/naming/LinkException flags 21
+
+class name javax/naming/Name
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/lang/Cloneable;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/Object;>;
+
+class name javax/naming/NameAlreadyBoundException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/NameClassPair
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/NameNotFoundException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/NameParser
+header extends java/lang/Object flags 601
+
+class name javax/naming/NamingEnumeration
+header extends java/lang/Object implements java/util/Enumeration flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Enumeration<TT;>;
+
+class name javax/naming/NamingException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/NamingSecurityException
+header extends javax/naming/NamingException flags 421
+
+class name javax/naming/NoInitialContextException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/NoPermissionException
+header extends javax/naming/NamingSecurityException flags 21
+
+class name javax/naming/NotContextException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/OperationNotSupportedException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/PartialResultException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/RefAddr
+header extends java/lang/Object implements java/io/Serializable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/Reference
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/Referenceable
+header extends java/lang/Object flags 601
+
+class name javax/naming/ReferralException
+header extends javax/naming/NamingException flags 421
+
+class name javax/naming/ServiceUnavailableException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/SizeLimitExceededException
+header extends javax/naming/LimitExceededException flags 21
+
+class name javax/naming/StringRefAddr
+header extends javax/naming/RefAddr flags 21
+
+class name javax/naming/TimeLimitExceededException
+header extends javax/naming/LimitExceededException flags 21
+
+class name javax/naming/directory/Attribute
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 601
+
+class name javax/naming/directory/AttributeInUseException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/directory/AttributeModificationException
+header extends javax/naming/NamingException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/directory/Attributes
+header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 601
+
+class name javax/naming/directory/DirContext
+header extends java/lang/Object implements javax/naming/Context flags 601
+
+class name javax/naming/directory/InitialDirContext
+header extends javax/naming/InitialContext implements javax/naming/directory/DirContext flags 21
+
+class name javax/naming/directory/InvalidAttributeIdentifierException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/directory/InvalidAttributeValueException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/directory/InvalidAttributesException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/directory/InvalidSearchControlsException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/directory/InvalidSearchFilterException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/directory/ModificationItem
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/directory/NoSuchAttributeException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/directory/SchemaViolationException
+header extends javax/naming/NamingException flags 21
+
+class name javax/naming/directory/SearchControls
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name javax/naming/directory/SearchResult
+header extends javax/naming/Binding flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/event/EventContext
+header extends java/lang/Object implements javax/naming/Context flags 601
+
+class name javax/naming/event/EventDirContext
+header extends java/lang/Object implements javax/naming/event/EventContext,javax/naming/directory/DirContext flags 601
+
+class name javax/naming/event/NamespaceChangeListener
+header extends java/lang/Object implements javax/naming/event/NamingListener flags 601
+
+class name javax/naming/event/NamingEvent
+header extends java/util/EventObject flags 21
+
+class name javax/naming/event/NamingExceptionEvent
+header extends java/util/EventObject flags 21
+
+class name javax/naming/event/NamingListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/naming/event/ObjectChangeListener
+header extends java/lang/Object implements javax/naming/event/NamingListener flags 601
+
+class name javax/naming/ldap/BasicControl
+header extends java/lang/Object implements javax/naming/ldap/Control flags 21
+
+class name javax/naming/ldap/Control
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name javax/naming/ldap/ControlFactory
+header extends java/lang/Object flags 421
+
+class name javax/naming/ldap/ExtendedRequest
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name javax/naming/ldap/ExtendedResponse
+header extends java/lang/Object implements java/io/Serializable flags 601
+
+class name javax/naming/ldap/HasControls
+header extends java/lang/Object flags 601
+
+class name javax/naming/ldap/InitialLdapContext
+header extends javax/naming/directory/InitialDirContext implements javax/naming/ldap/LdapContext flags 21
+
+class name javax/naming/ldap/LdapContext
+header extends java/lang/Object implements javax/naming/directory/DirContext flags 601
+
+class name javax/naming/ldap/LdapReferralException
+header extends javax/naming/ReferralException flags 421
+
+class name javax/naming/ldap/ManageReferralControl
+header extends javax/naming/ldap/BasicControl flags 31
+
+class name javax/naming/ldap/PagedResultsControl
+header extends javax/naming/ldap/BasicControl flags 31
+
+class name javax/naming/ldap/PagedResultsResponseControl
+header extends javax/naming/ldap/BasicControl flags 31
+
+class name javax/naming/ldap/SortControl
+header extends javax/naming/ldap/BasicControl flags 31
+
+class name javax/naming/ldap/SortKey
+header extends java/lang/Object flags 21
+
+class name javax/naming/ldap/SortResponseControl
+header extends javax/naming/ldap/BasicControl flags 31
+
+class name javax/naming/ldap/StartTlsResponse
+header extends java/lang/Object implements javax/naming/ldap/ExtendedResponse flags 421
+
+class name javax/naming/ldap/UnsolicitedNotification
+header extends java/lang/Object implements javax/naming/ldap/ExtendedResponse,javax/naming/ldap/HasControls flags 601
+
+class name javax/naming/ldap/UnsolicitedNotificationEvent
+header extends java/util/EventObject flags 21
+
+class name javax/naming/ldap/UnsolicitedNotificationListener
+header extends java/lang/Object implements javax/naming/event/NamingListener flags 601
+
+class name javax/naming/spi/DirObjectFactory
+header extends java/lang/Object implements javax/naming/spi/ObjectFactory flags 601
+
+class name javax/naming/spi/DirStateFactory
+header extends java/lang/Object implements javax/naming/spi/StateFactory nestMembers javax/naming/spi/DirStateFactory$Result flags 601
+innerclass innerClass javax/naming/spi/DirStateFactory$Result outerClass javax/naming/spi/DirStateFactory innerClassName Result flags 9
+
+class name javax/naming/spi/DirStateFactory$Result
+header extends java/lang/Object nestHost javax/naming/spi/DirStateFactory flags 21
+innerclass innerClass javax/naming/spi/DirStateFactory$Result outerClass javax/naming/spi/DirStateFactory innerClassName Result flags 9
+
+class name javax/naming/spi/DirectoryManager
+header extends javax/naming/spi/NamingManager flags 21
+innerclass innerClass javax/naming/spi/DirStateFactory$Result outerClass javax/naming/spi/DirStateFactory innerClassName Result flags 9
+
+class name javax/naming/spi/InitialContextFactory
+header extends java/lang/Object flags 601
+
+class name javax/naming/spi/InitialContextFactoryBuilder
+header extends java/lang/Object flags 601
+
+class name javax/naming/spi/NamingManager
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/naming/spi/ObjectFactory
+header extends java/lang/Object flags 601
+
+class name javax/naming/spi/ObjectFactoryBuilder
+header extends java/lang/Object flags 601
+
+class name javax/naming/spi/ResolveResult
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name javax/naming/spi/Resolver
+header extends java/lang/Object flags 601
+
+class name javax/naming/spi/StateFactory
+header extends java/lang/Object flags 601
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.net.http-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,315 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.net.http
+header exports java/net/http requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
+
+class name java/net/http/HttpClient
+header extends java/lang/Object nestMembers java/net/http/HttpClient$Redirect,java/net/http/HttpClient$Version,java/net/http/HttpClient$Builder flags 421
+innerclass innerClass java/net/http/HttpClient$Redirect outerClass java/net/http/HttpClient innerClassName Redirect flags 4019
+innerclass innerClass java/net/http/HttpClient$Version outerClass java/net/http/HttpClient innerClassName Version flags 4019
+innerclass innerClass java/net/http/HttpClient$Builder outerClass java/net/http/HttpClient innerClassName Builder flags 609
+innerclass innerClass java/net/http/HttpResponse$BodyHandler outerClass java/net/http/HttpResponse innerClassName BodyHandler flags 609
+innerclass innerClass java/net/http/HttpResponse$PushPromiseHandler outerClass java/net/http/HttpResponse innerClassName PushPromiseHandler flags 609
+innerclass innerClass java/net/http/WebSocket$Builder outerClass java/net/http/WebSocket innerClassName Builder flags 609
+method name <init> descriptor ()V flags 4
+method name newHttpClient descriptor ()Ljava/net/http/HttpClient; flags 9
+method name newBuilder descriptor ()Ljava/net/http/HttpClient$Builder; flags 9
+method name cookieHandler descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/net/CookieHandler;>;
+method name connectTimeout descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/time/Duration;>;
+method name followRedirects descriptor ()Ljava/net/http/HttpClient$Redirect; flags 401
+method name proxy descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/net/ProxySelector;>;
+method name sslContext descriptor ()Ljavax/net/ssl/SSLContext; flags 401
+method name sslParameters descriptor ()Ljavax/net/ssl/SSLParameters; flags 401
+method name authenticator descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/net/Authenticator;>;
+method name version descriptor ()Ljava/net/http/HttpClient$Version; flags 401
+method name executor descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/util/concurrent/Executor;>;
+method name send descriptor (Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler;)Ljava/net/http/HttpResponse; thrownTypes java/io/IOException,java/lang/InterruptedException flags 401 signature <T:Ljava/lang/Object;>(Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler<TT;>;)Ljava/net/http/HttpResponse<TT;>;
+method name sendAsync descriptor (Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler;)Ljava/util/concurrent/CompletableFuture; flags 401 signature <T:Ljava/lang/Object;>(Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler<TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;
+method name sendAsync descriptor (Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler;Ljava/net/http/HttpResponse$PushPromiseHandler;)Ljava/util/concurrent/CompletableFuture; flags 401 signature <T:Ljava/lang/Object;>(Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler<TT;>;Ljava/net/http/HttpResponse$PushPromiseHandler<TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;
+method name newWebSocketBuilder descriptor ()Ljava/net/http/WebSocket$Builder; flags 1
+
+class name java/net/http/HttpClient$Builder
+header extends java/lang/Object nestHost java/net/http/HttpClient flags 601
+innerclass innerClass java/net/http/HttpClient$Builder outerClass java/net/http/HttpClient innerClassName Builder flags 609
+innerclass innerClass java/net/http/HttpClient$Redirect outerClass java/net/http/HttpClient innerClassName Redirect flags 4019
+innerclass innerClass java/net/http/HttpClient$Version outerClass java/net/http/HttpClient innerClassName Version flags 4019
+field name NO_PROXY descriptor Ljava/net/ProxySelector; flags 19
+method name cookieHandler descriptor (Ljava/net/CookieHandler;)Ljava/net/http/HttpClient$Builder; flags 401
+method name connectTimeout descriptor (Ljava/time/Duration;)Ljava/net/http/HttpClient$Builder; flags 401
+method name sslContext descriptor (Ljavax/net/ssl/SSLContext;)Ljava/net/http/HttpClient$Builder; flags 401
+method name sslParameters descriptor (Ljavax/net/ssl/SSLParameters;)Ljava/net/http/HttpClient$Builder; flags 401
+method name executor descriptor (Ljava/util/concurrent/Executor;)Ljava/net/http/HttpClient$Builder; flags 401
+method name followRedirects descriptor (Ljava/net/http/HttpClient$Redirect;)Ljava/net/http/HttpClient$Builder; flags 401
+method name version descriptor (Ljava/net/http/HttpClient$Version;)Ljava/net/http/HttpClient$Builder; flags 401
+method name priority descriptor (I)Ljava/net/http/HttpClient$Builder; flags 401
+method name proxy descriptor (Ljava/net/ProxySelector;)Ljava/net/http/HttpClient$Builder; flags 401
+method name authenticator descriptor (Ljava/net/Authenticator;)Ljava/net/http/HttpClient$Builder; flags 401
+method name build descriptor ()Ljava/net/http/HttpClient; flags 401
+
+class name java/net/http/HttpClient$Redirect
+header extends java/lang/Enum nestHost java/net/http/HttpClient flags 4031 signature Ljava/lang/Enum<Ljava/net/http/HttpClient$Redirect;>;
+innerclass innerClass java/net/http/HttpClient$Redirect outerClass java/net/http/HttpClient innerClassName Redirect flags 4019
+field name NEVER descriptor Ljava/net/http/HttpClient$Redirect; flags 4019
+field name ALWAYS descriptor Ljava/net/http/HttpClient$Redirect; flags 4019
+field name NORMAL descriptor Ljava/net/http/HttpClient$Redirect; flags 4019
+method name values descriptor ()[Ljava/net/http/HttpClient$Redirect; flags 9
+method name valueOf descriptor (Ljava/lang/String;)Ljava/net/http/HttpClient$Redirect; flags 9
+
+class name java/net/http/HttpClient$Version
+header extends java/lang/Enum nestHost java/net/http/HttpClient flags 4031 signature Ljava/lang/Enum<Ljava/net/http/HttpClient$Version;>;
+innerclass innerClass java/net/http/HttpClient$Version outerClass java/net/http/HttpClient innerClassName Version flags 4019
+field name HTTP_1_1 descriptor Ljava/net/http/HttpClient$Version; flags 4019
+field name HTTP_2 descriptor Ljava/net/http/HttpClient$Version; flags 4019
+method name values descriptor ()[Ljava/net/http/HttpClient$Version; flags 9
+method name valueOf descriptor (Ljava/lang/String;)Ljava/net/http/HttpClient$Version; flags 9
+
+class name java/net/http/HttpConnectTimeoutException
+header extends java/net/http/HttpTimeoutException flags 21
+method name <init> descriptor (Ljava/lang/String;)V flags 1
+
+class name java/net/http/HttpHeaders
+header extends java/lang/Object flags 31
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name firstValue descriptor (Ljava/lang/String;)Ljava/util/Optional; flags 1 signature (Ljava/lang/String;)Ljava/util/Optional<Ljava/lang/String;>;
+method name firstValueAsLong descriptor (Ljava/lang/String;)Ljava/util/OptionalLong; flags 1
+method name allValues descriptor (Ljava/lang/String;)Ljava/util/List; flags 1 signature (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
+method name map descriptor ()Ljava/util/Map; flags 1 signature ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
+method name equals descriptor (Ljava/lang/Object;)Z flags 11
+method name hashCode descriptor ()I flags 11
+method name toString descriptor ()Ljava/lang/String; flags 1
+method name of descriptor (Ljava/util/Map;Ljava/util/function/BiPredicate;)Ljava/net/http/HttpHeaders; flags 9 signature (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;Ljava/util/function/BiPredicate<Ljava/lang/String;Ljava/lang/String;>;)Ljava/net/http/HttpHeaders;
+
+class name java/net/http/HttpRequest
+header extends java/lang/Object nestMembers java/net/http/HttpRequest$BodyPublishers,java/net/http/HttpRequest$BodyPublisher,java/net/http/HttpRequest$Builder flags 421
+innerclass innerClass java/net/http/HttpRequest$BodyPublishers outerClass java/net/http/HttpRequest innerClassName BodyPublishers flags 9
+innerclass innerClass java/net/http/HttpRequest$BodyPublisher outerClass java/net/http/HttpRequest innerClassName BodyPublisher flags 609
+innerclass innerClass java/net/http/HttpRequest$Builder outerClass java/net/http/HttpRequest innerClassName Builder flags 609
+innerclass innerClass java/net/http/HttpClient$Version outerClass java/net/http/HttpClient innerClassName Version flags 4019
+method name <init> descriptor ()V flags 4
+method name newBuilder descriptor (Ljava/net/URI;)Ljava/net/http/HttpRequest$Builder; flags 9
+method name newBuilder descriptor ()Ljava/net/http/HttpRequest$Builder; flags 9
+method name bodyPublisher descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/net/http/HttpRequest$BodyPublisher;>;
+method name method descriptor ()Ljava/lang/String; flags 401
+method name timeout descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/time/Duration;>;
+method name expectContinue descriptor ()Z flags 401
+method name uri descriptor ()Ljava/net/URI; flags 401
+method name version descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/net/http/HttpClient$Version;>;
+method name headers descriptor ()Ljava/net/http/HttpHeaders; flags 401
+method name equals descriptor (Ljava/lang/Object;)Z flags 11
+method name hashCode descriptor ()I flags 11
+
+class name java/net/http/HttpRequest$BodyPublisher
+header extends java/lang/Object implements java/util/concurrent/Flow$Publisher nestHost java/net/http/HttpRequest flags 601 signature Ljava/lang/Object;Ljava/util/concurrent/Flow$Publisher<Ljava/nio/ByteBuffer;>;
+innerclass innerClass java/util/concurrent/Flow$Publisher outerClass java/util/concurrent/Flow innerClassName Publisher flags 609
+innerclass innerClass java/net/http/HttpRequest$BodyPublisher outerClass java/net/http/HttpRequest innerClassName BodyPublisher flags 609
+method name contentLength descriptor ()J flags 401
+
+class name java/net/http/HttpRequest$BodyPublishers
+header extends java/lang/Object nestHost java/net/http/HttpRequest flags 21
+innerclass innerClass java/net/http/HttpRequest$BodyPublishers outerClass java/net/http/HttpRequest innerClassName BodyPublishers flags 9
+innerclass innerClass java/util/concurrent/Flow$Publisher outerClass java/util/concurrent/Flow innerClassName Publisher flags 609
+innerclass innerClass java/net/http/HttpRequest$BodyPublisher outerClass java/net/http/HttpRequest innerClassName BodyPublisher flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name fromPublisher descriptor (Ljava/util/concurrent/Flow$Publisher;)Ljava/net/http/HttpRequest$BodyPublisher; flags 9 signature (Ljava/util/concurrent/Flow$Publisher<+Ljava/nio/ByteBuffer;>;)Ljava/net/http/HttpRequest$BodyPublisher;
+method name fromPublisher descriptor (Ljava/util/concurrent/Flow$Publisher;J)Ljava/net/http/HttpRequest$BodyPublisher; flags 9 signature (Ljava/util/concurrent/Flow$Publisher<+Ljava/nio/ByteBuffer;>;J)Ljava/net/http/HttpRequest$BodyPublisher;
+method name ofString descriptor (Ljava/lang/String;)Ljava/net/http/HttpRequest$BodyPublisher; flags 9
+method name ofString descriptor (Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/net/http/HttpRequest$BodyPublisher; flags 9
+method name ofInputStream descriptor (Ljava/util/function/Supplier;)Ljava/net/http/HttpRequest$BodyPublisher; flags 9 signature (Ljava/util/function/Supplier<+Ljava/io/InputStream;>;)Ljava/net/http/HttpRequest$BodyPublisher;
+method name ofByteArray descriptor ([B)Ljava/net/http/HttpRequest$BodyPublisher; flags 9
+method name ofByteArray descriptor ([BII)Ljava/net/http/HttpRequest$BodyPublisher; flags 9
+method name ofFile descriptor (Ljava/nio/file/Path;)Ljava/net/http/HttpRequest$BodyPublisher; thrownTypes java/io/FileNotFoundException flags 9
+method name ofByteArrays descriptor (Ljava/lang/Iterable;)Ljava/net/http/HttpRequest$BodyPublisher; flags 9 signature (Ljava/lang/Iterable<[B>;)Ljava/net/http/HttpRequest$BodyPublisher;
+method name noBody descriptor ()Ljava/net/http/HttpRequest$BodyPublisher; flags 9
+
+class name java/net/http/HttpRequest$Builder
+header extends java/lang/Object nestHost java/net/http/HttpRequest flags 601
+innerclass innerClass java/net/http/HttpRequest$Builder outerClass java/net/http/HttpRequest innerClassName Builder flags 609
+innerclass innerClass java/net/http/HttpClient$Version outerClass java/net/http/HttpClient innerClassName Version flags 4019
+innerclass innerClass java/net/http/HttpRequest$BodyPublisher outerClass java/net/http/HttpRequest innerClassName BodyPublisher flags 609
+method name uri descriptor (Ljava/net/URI;)Ljava/net/http/HttpRequest$Builder; flags 401
+method name expectContinue descriptor (Z)Ljava/net/http/HttpRequest$Builder; flags 401
+method name version descriptor (Ljava/net/http/HttpClient$Version;)Ljava/net/http/HttpRequest$Builder; flags 401
+method name header descriptor (Ljava/lang/String;Ljava/lang/String;)Ljava/net/http/HttpRequest$Builder; flags 401
+method name headers descriptor ([Ljava/lang/String;)Ljava/net/http/HttpRequest$Builder; flags 481
+method name timeout descriptor (Ljava/time/Duration;)Ljava/net/http/HttpRequest$Builder; flags 401
+method name setHeader descriptor (Ljava/lang/String;Ljava/lang/String;)Ljava/net/http/HttpRequest$Builder; flags 401
+method name GET descriptor ()Ljava/net/http/HttpRequest$Builder; flags 401
+method name POST descriptor (Ljava/net/http/HttpRequest$BodyPublisher;)Ljava/net/http/HttpRequest$Builder; flags 401
+method name PUT descriptor (Ljava/net/http/HttpRequest$BodyPublisher;)Ljava/net/http/HttpRequest$Builder; flags 401
+method name DELETE descriptor ()Ljava/net/http/HttpRequest$Builder; flags 401
+method name method descriptor (Ljava/lang/String;Ljava/net/http/HttpRequest$BodyPublisher;)Ljava/net/http/HttpRequest$Builder; flags 401
+method name build descriptor ()Ljava/net/http/HttpRequest; flags 401
+method name copy descriptor ()Ljava/net/http/HttpRequest$Builder; flags 401
+
+class name java/net/http/HttpResponse
+header extends java/lang/Object nestMembers java/net/http/HttpResponse$BodySubscribers,java/net/http/HttpResponse$BodySubscriber,java/net/http/HttpResponse$PushPromiseHandler,java/net/http/HttpResponse$BodyHandlers,java/net/http/HttpResponse$BodyHandler,java/net/http/HttpResponse$ResponseInfo flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass java/net/http/HttpResponse$BodySubscribers outerClass java/net/http/HttpResponse innerClassName BodySubscribers flags 9
+innerclass innerClass java/net/http/HttpResponse$BodySubscriber outerClass java/net/http/HttpResponse innerClassName BodySubscriber flags 609
+innerclass innerClass java/net/http/HttpResponse$PushPromiseHandler outerClass java/net/http/HttpResponse innerClassName PushPromiseHandler flags 609
+innerclass innerClass java/net/http/HttpResponse$BodyHandlers outerClass java/net/http/HttpResponse innerClassName BodyHandlers flags 9
+innerclass innerClass java/net/http/HttpResponse$BodyHandler outerClass java/net/http/HttpResponse innerClassName BodyHandler flags 609
+innerclass innerClass java/net/http/HttpResponse$ResponseInfo outerClass java/net/http/HttpResponse innerClassName ResponseInfo flags 609
+innerclass innerClass java/net/http/HttpClient$Version outerClass java/net/http/HttpClient innerClassName Version flags 4019
+method name statusCode descriptor ()I flags 401
+method name request descriptor ()Ljava/net/http/HttpRequest; flags 401
+method name previousResponse descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/net/http/HttpResponse<TT;>;>;
+method name headers descriptor ()Ljava/net/http/HttpHeaders; flags 401
+method name body descriptor ()Ljava/lang/Object; flags 401 signature ()TT;
+method name sslSession descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljavax/net/ssl/SSLSession;>;
+method name uri descriptor ()Ljava/net/URI; flags 401
+method name version descriptor ()Ljava/net/http/HttpClient$Version; flags 401
+
+class name java/net/http/HttpResponse$BodyHandler
+header extends java/lang/Object nestHost java/net/http/HttpResponse flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface;
+innerclass innerClass java/net/http/HttpResponse$ResponseInfo outerClass java/net/http/HttpResponse innerClassName ResponseInfo flags 609
+innerclass innerClass java/net/http/HttpResponse$BodySubscriber outerClass java/net/http/HttpResponse innerClassName BodySubscriber flags 609
+innerclass innerClass java/net/http/HttpResponse$BodyHandler outerClass java/net/http/HttpResponse innerClassName BodyHandler flags 609
+method name apply descriptor (Ljava/net/http/HttpResponse$ResponseInfo;)Ljava/net/http/HttpResponse$BodySubscriber; flags 401 signature (Ljava/net/http/HttpResponse$ResponseInfo;)Ljava/net/http/HttpResponse$BodySubscriber<TT;>;
+
+class name java/net/http/HttpResponse$BodyHandlers
+header extends java/lang/Object nestHost java/net/http/HttpResponse flags 21
+innerclass innerClass java/net/http/HttpResponse$BodyHandlers outerClass java/net/http/HttpResponse innerClassName BodyHandlers flags 9
+innerclass innerClass java/util/concurrent/Flow$Subscriber outerClass java/util/concurrent/Flow innerClassName Subscriber flags 609
+innerclass innerClass java/net/http/HttpResponse$BodyHandler outerClass java/net/http/HttpResponse innerClassName BodyHandler flags 609
+innerclass innerClass java/util/concurrent/Flow$Publisher outerClass java/util/concurrent/Flow innerClassName Publisher flags 609
+innerclass innerClass java/net/http/HttpResponse$ResponseInfo outerClass java/net/http/HttpResponse innerClassName ResponseInfo flags 609
+innerclass innerClass java/net/http/HttpResponse$BodySubscriber outerClass java/net/http/HttpResponse innerClassName BodySubscriber flags 609
+innerclass innerClass java/net/http/HttpResponse$BodySubscribers outerClass java/net/http/HttpResponse innerClassName BodySubscribers flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name fromSubscriber descriptor (Ljava/util/concurrent/Flow$Subscriber;)Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature (Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)Ljava/net/http/HttpResponse$BodyHandler<Ljava/lang/Void;>;
+method name fromSubscriber descriptor (Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;)Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature <S::Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;T:Ljava/lang/Object;>(TS;Ljava/util/function/Function<-TS;+TT;>;)Ljava/net/http/HttpResponse$BodyHandler<TT;>;
+method name fromLineSubscriber descriptor (Ljava/util/concurrent/Flow$Subscriber;)Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature (Ljava/util/concurrent/Flow$Subscriber<-Ljava/lang/String;>;)Ljava/net/http/HttpResponse$BodyHandler<Ljava/lang/Void;>;
+method name fromLineSubscriber descriptor (Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;Ljava/lang/String;)Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature <S::Ljava/util/concurrent/Flow$Subscriber<-Ljava/lang/String;>;T:Ljava/lang/Object;>(TS;Ljava/util/function/Function<-TS;+TT;>;Ljava/lang/String;)Ljava/net/http/HttpResponse$BodyHandler<TT;>;
+method name discarding descriptor ()Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature ()Ljava/net/http/HttpResponse$BodyHandler<Ljava/lang/Void;>;
+method name replacing descriptor (Ljava/lang/Object;)Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature <U:Ljava/lang/Object;>(TU;)Ljava/net/http/HttpResponse$BodyHandler<TU;>;
+method name ofString descriptor (Ljava/nio/charset/Charset;)Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature (Ljava/nio/charset/Charset;)Ljava/net/http/HttpResponse$BodyHandler<Ljava/lang/String;>;
+method name ofFile descriptor (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/net/http/HttpResponse$BodyHandler; flags 89 signature (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/net/http/HttpResponse$BodyHandler<Ljava/nio/file/Path;>;
+method name ofFile descriptor (Ljava/nio/file/Path;)Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature (Ljava/nio/file/Path;)Ljava/net/http/HttpResponse$BodyHandler<Ljava/nio/file/Path;>;
+method name ofFileDownload descriptor (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/net/http/HttpResponse$BodyHandler; flags 89 signature (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/net/http/HttpResponse$BodyHandler<Ljava/nio/file/Path;>;
+method name ofInputStream descriptor ()Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature ()Ljava/net/http/HttpResponse$BodyHandler<Ljava/io/InputStream;>;
+method name ofLines descriptor ()Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature ()Ljava/net/http/HttpResponse$BodyHandler<Ljava/util/stream/Stream<Ljava/lang/String;>;>;
+method name ofByteArrayConsumer descriptor (Ljava/util/function/Consumer;)Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature (Ljava/util/function/Consumer<Ljava/util/Optional<[B>;>;)Ljava/net/http/HttpResponse$BodyHandler<Ljava/lang/Void;>;
+method name ofByteArray descriptor ()Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature ()Ljava/net/http/HttpResponse$BodyHandler<[B>;
+method name ofString descriptor ()Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature ()Ljava/net/http/HttpResponse$BodyHandler<Ljava/lang/String;>;
+method name ofPublisher descriptor ()Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature ()Ljava/net/http/HttpResponse$BodyHandler<Ljava/util/concurrent/Flow$Publisher<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;>;
+method name buffering descriptor (Ljava/net/http/HttpResponse$BodyHandler;I)Ljava/net/http/HttpResponse$BodyHandler; flags 9 signature <T:Ljava/lang/Object;>(Ljava/net/http/HttpResponse$BodyHandler<TT;>;I)Ljava/net/http/HttpResponse$BodyHandler<TT;>;
+
+class name java/net/http/HttpResponse$BodySubscriber
+header extends java/lang/Object implements java/util/concurrent/Flow$Subscriber nestHost java/net/http/HttpResponse flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/Flow$Subscriber<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
+innerclass innerClass java/util/concurrent/Flow$Subscriber outerClass java/util/concurrent/Flow innerClassName Subscriber flags 609
+innerclass innerClass java/net/http/HttpResponse$BodySubscriber outerClass java/net/http/HttpResponse innerClassName BodySubscriber flags 609
+method name getBody descriptor ()Ljava/util/concurrent/CompletionStage; flags 401 signature ()Ljava/util/concurrent/CompletionStage<TT;>;
+
+class name java/net/http/HttpResponse$BodySubscribers
+header extends java/lang/Object nestHost java/net/http/HttpResponse flags 21
+innerclass innerClass java/net/http/HttpResponse$BodySubscribers outerClass java/net/http/HttpResponse innerClassName BodySubscribers flags 9
+innerclass innerClass java/util/concurrent/Flow$Subscriber outerClass java/util/concurrent/Flow innerClassName Subscriber flags 609
+innerclass innerClass java/net/http/HttpResponse$BodySubscriber outerClass java/net/http/HttpResponse innerClassName BodySubscriber flags 609
+innerclass innerClass java/util/concurrent/Flow$Publisher outerClass java/util/concurrent/Flow innerClassName Publisher flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name fromSubscriber descriptor (Ljava/util/concurrent/Flow$Subscriber;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature (Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)Ljava/net/http/HttpResponse$BodySubscriber<Ljava/lang/Void;>;
+method name fromSubscriber descriptor (Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature <S::Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;T:Ljava/lang/Object;>(TS;Ljava/util/function/Function<-TS;+TT;>;)Ljava/net/http/HttpResponse$BodySubscriber<TT;>;
+method name fromLineSubscriber descriptor (Ljava/util/concurrent/Flow$Subscriber;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature (Ljava/util/concurrent/Flow$Subscriber<-Ljava/lang/String;>;)Ljava/net/http/HttpResponse$BodySubscriber<Ljava/lang/Void;>;
+method name fromLineSubscriber descriptor (Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;Ljava/nio/charset/Charset;Ljava/lang/String;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature <S::Ljava/util/concurrent/Flow$Subscriber<-Ljava/lang/String;>;T:Ljava/lang/Object;>(TS;Ljava/util/function/Function<-TS;+TT;>;Ljava/nio/charset/Charset;Ljava/lang/String;)Ljava/net/http/HttpResponse$BodySubscriber<TT;>;
+method name ofString descriptor (Ljava/nio/charset/Charset;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature (Ljava/nio/charset/Charset;)Ljava/net/http/HttpResponse$BodySubscriber<Ljava/lang/String;>;
+method name ofByteArray descriptor ()Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature ()Ljava/net/http/HttpResponse$BodySubscriber<[B>;
+method name ofFile descriptor (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/net/http/HttpResponse$BodySubscriber; flags 89 signature (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/net/http/HttpResponse$BodySubscriber<Ljava/nio/file/Path;>;
+method name ofFile descriptor (Ljava/nio/file/Path;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature (Ljava/nio/file/Path;)Ljava/net/http/HttpResponse$BodySubscriber<Ljava/nio/file/Path;>;
+method name ofByteArrayConsumer descriptor (Ljava/util/function/Consumer;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature (Ljava/util/function/Consumer<Ljava/util/Optional<[B>;>;)Ljava/net/http/HttpResponse$BodySubscriber<Ljava/lang/Void;>;
+method name ofInputStream descriptor ()Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature ()Ljava/net/http/HttpResponse$BodySubscriber<Ljava/io/InputStream;>;
+method name ofLines descriptor (Ljava/nio/charset/Charset;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature (Ljava/nio/charset/Charset;)Ljava/net/http/HttpResponse$BodySubscriber<Ljava/util/stream/Stream<Ljava/lang/String;>;>;
+method name ofPublisher descriptor ()Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature ()Ljava/net/http/HttpResponse$BodySubscriber<Ljava/util/concurrent/Flow$Publisher<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;>;
+method name replacing descriptor (Ljava/lang/Object;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature <U:Ljava/lang/Object;>(TU;)Ljava/net/http/HttpResponse$BodySubscriber<TU;>;
+method name discarding descriptor ()Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature ()Ljava/net/http/HttpResponse$BodySubscriber<Ljava/lang/Void;>;
+method name buffering descriptor (Ljava/net/http/HttpResponse$BodySubscriber;I)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature <T:Ljava/lang/Object;>(Ljava/net/http/HttpResponse$BodySubscriber<TT;>;I)Ljava/net/http/HttpResponse$BodySubscriber<TT;>;
+method name mapping descriptor (Ljava/net/http/HttpResponse$BodySubscriber;Ljava/util/function/Function;)Ljava/net/http/HttpResponse$BodySubscriber; flags 9 signature <T:Ljava/lang/Object;U:Ljava/lang/Object;>(Ljava/net/http/HttpResponse$BodySubscriber<TT;>;Ljava/util/function/Function<-TT;+TU;>;)Ljava/net/http/HttpResponse$BodySubscriber<TU;>;
+
+class name java/net/http/HttpResponse$PushPromiseHandler
+header extends java/lang/Object nestHost java/net/http/HttpResponse flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass java/net/http/HttpResponse$BodyHandler outerClass java/net/http/HttpResponse innerClassName BodyHandler flags 609
+innerclass innerClass java/net/http/HttpResponse$PushPromiseHandler outerClass java/net/http/HttpResponse innerClassName PushPromiseHandler flags 609
+method name applyPushPromise descriptor (Ljava/net/http/HttpRequest;Ljava/net/http/HttpRequest;Ljava/util/function/Function;)V flags 401 signature (Ljava/net/http/HttpRequest;Ljava/net/http/HttpRequest;Ljava/util/function/Function<Ljava/net/http/HttpResponse$BodyHandler<TT;>;Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;>;)V
+method name of descriptor (Ljava/util/function/Function;Ljava/util/concurrent/ConcurrentMap;)Ljava/net/http/HttpResponse$PushPromiseHandler; flags 9 signature <T:Ljava/lang/Object;>(Ljava/util/function/Function<Ljava/net/http/HttpRequest;Ljava/net/http/HttpResponse$BodyHandler<TT;>;>;Ljava/util/concurrent/ConcurrentMap<Ljava/net/http/HttpRequest;Ljava/util/concurrent/CompletableFuture<Ljava/net/http/HttpResponse<TT;>;>;>;)Ljava/net/http/HttpResponse$PushPromiseHandler<TT;>;
+
+class name java/net/http/HttpResponse$ResponseInfo
+header extends java/lang/Object nestHost java/net/http/HttpResponse flags 601
+innerclass innerClass java/net/http/HttpClient$Version outerClass java/net/http/HttpClient innerClassName Version flags 4019
+innerclass innerClass java/net/http/HttpResponse$ResponseInfo outerClass java/net/http/HttpResponse innerClassName ResponseInfo flags 609
+method name statusCode descriptor ()I flags 401
+method name headers descriptor ()Ljava/net/http/HttpHeaders; flags 401
+method name version descriptor ()Ljava/net/http/HttpClient$Version; flags 401
+
+class name java/net/http/HttpTimeoutException
+header extends java/io/IOException flags 21
+method name <init> descriptor (Ljava/lang/String;)V flags 1
+
+class name java/net/http/WebSocket
+header extends java/lang/Object nestMembers java/net/http/WebSocket$Listener,java/net/http/WebSocket$Builder flags 601
+innerclass innerClass java/net/http/WebSocket$Listener outerClass java/net/http/WebSocket innerClassName Listener flags 609
+innerclass innerClass java/net/http/WebSocket$Builder outerClass java/net/http/WebSocket innerClassName Builder flags 609
+field name NORMAL_CLOSURE descriptor I constantValue 1000 flags 19
+method name sendText descriptor (Ljava/lang/CharSequence;Z)Ljava/util/concurrent/CompletableFuture; flags 401 signature (Ljava/lang/CharSequence;Z)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
+method name sendBinary descriptor (Ljava/nio/ByteBuffer;Z)Ljava/util/concurrent/CompletableFuture; flags 401 signature (Ljava/nio/ByteBuffer;Z)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
+method name sendPing descriptor (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture; flags 401 signature (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
+method name sendPong descriptor (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture; flags 401 signature (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
+method name sendClose descriptor (ILjava/lang/String;)Ljava/util/concurrent/CompletableFuture; flags 401 signature (ILjava/lang/String;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
+method name request descriptor (J)V flags 401
+method name getSubprotocol descriptor ()Ljava/lang/String; flags 401
+method name isOutputClosed descriptor ()Z flags 401
+method name isInputClosed descriptor ()Z flags 401
+method name abort descriptor ()V flags 401
+
+class name java/net/http/WebSocket$Builder
+header extends java/lang/Object nestHost java/net/http/WebSocket flags 601
+innerclass innerClass java/net/http/WebSocket$Builder outerClass java/net/http/WebSocket innerClassName Builder flags 609
+innerclass innerClass java/net/http/WebSocket$Listener outerClass java/net/http/WebSocket innerClassName Listener flags 609
+method name header descriptor (Ljava/lang/String;Ljava/lang/String;)Ljava/net/http/WebSocket$Builder; flags 401
+method name connectTimeout descriptor (Ljava/time/Duration;)Ljava/net/http/WebSocket$Builder; flags 401
+method name subprotocols descriptor (Ljava/lang/String;[Ljava/lang/String;)Ljava/net/http/WebSocket$Builder; flags 481
+method name buildAsync descriptor (Ljava/net/URI;Ljava/net/http/WebSocket$Listener;)Ljava/util/concurrent/CompletableFuture; flags 401 signature (Ljava/net/URI;Ljava/net/http/WebSocket$Listener;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
+
+class name java/net/http/WebSocket$Listener
+header extends java/lang/Object nestHost java/net/http/WebSocket flags 601
+innerclass innerClass java/net/http/WebSocket$Listener outerClass java/net/http/WebSocket innerClassName Listener flags 609
+method name onOpen descriptor (Ljava/net/http/WebSocket;)V flags 1
+method name onText descriptor (Ljava/net/http/WebSocket;Ljava/lang/CharSequence;Z)Ljava/util/concurrent/CompletionStage; flags 1 signature (Ljava/net/http/WebSocket;Ljava/lang/CharSequence;Z)Ljava/util/concurrent/CompletionStage<*>;
+method name onBinary descriptor (Ljava/net/http/WebSocket;Ljava/nio/ByteBuffer;Z)Ljava/util/concurrent/CompletionStage; flags 1 signature (Ljava/net/http/WebSocket;Ljava/nio/ByteBuffer;Z)Ljava/util/concurrent/CompletionStage<*>;
+method name onPing descriptor (Ljava/net/http/WebSocket;Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletionStage; flags 1 signature (Ljava/net/http/WebSocket;Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletionStage<*>;
+method name onPong descriptor (Ljava/net/http/WebSocket;Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletionStage; flags 1 signature (Ljava/net/http/WebSocket;Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletionStage<*>;
+method name onClose descriptor (Ljava/net/http/WebSocket;ILjava/lang/String;)Ljava/util/concurrent/CompletionStage; flags 1 signature (Ljava/net/http/WebSocket;ILjava/lang/String;)Ljava/util/concurrent/CompletionStage<*>;
+method name onError descriptor (Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V flags 1
+
+class name java/net/http/WebSocketHandshakeException
+header extends java/io/IOException flags 31
+method name <init> descriptor (Ljava/net/http/HttpResponse;)V flags 1 signature (Ljava/net/http/HttpResponse<*>;)V
+method name getResponse descriptor ()Ljava/net/http/HttpResponse; flags 1 signature ()Ljava/net/http/HttpResponse<*>;
+method name initCause descriptor (Ljava/lang/Throwable;)Ljava/net/http/WebSocketHandshakeException; flags 1
+method name initCause descriptor (Ljava/lang/Throwable;)Ljava/lang/Throwable; flags 1041
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.prefs-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,52 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.prefs
+header exports java/util/prefs requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.xml\u0020;flags\u0020;0 uses java/util/prefs/PreferencesFactory target linux-amd64 flags 8000
+
+class name java/util/prefs/BackingStoreException
+header extends java/lang/Exception flags 21
+
+class name java/util/prefs/InvalidPreferencesFormatException
+header extends java/lang/Exception flags 21
+
+class name java/util/prefs/NodeChangeEvent
+header extends java/util/EventObject flags 21
+
+class name java/util/prefs/NodeChangeListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name java/util/prefs/PreferenceChangeEvent
+header extends java/util/EventObject flags 21
+
+class name java/util/prefs/PreferenceChangeListener
+header extends java/lang/Object implements java/util/EventListener flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name java/util/prefs/PreferencesFactory
+header extends java/lang/Object flags 601
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.rmi-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,236 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.rmi
+header exports java/rmi,java/rmi/activation,java/rmi/dgc,java/rmi/registry,java/rmi/server,javax/rmi/ssl requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0 uses java/rmi/server/RMIClassLoaderSpi target linux-amd64 flags 8000
+
+class name java/rmi/AccessException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/AlreadyBoundException
+header extends java/lang/Exception flags 21
+
+class name java/rmi/ConnectException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/ConnectIOException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/MarshalException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/NoSuchObjectException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/NotBoundException
+header extends java/lang/Exception flags 21
+
+class name java/rmi/RMISecurityException
+header extends java/lang/SecurityException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/RMISecurityManager
+header extends java/lang/SecurityManager flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/Remote
+header extends java/lang/Object flags 601
+
+class name java/rmi/RemoteException
+header extends java/io/IOException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/rmi/ServerError
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/ServerException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/ServerRuntimeException
+header extends java/rmi/RemoteException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/StubNotFoundException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/UnexpectedException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/UnknownHostException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/UnmarshalException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/activation/Activatable
+header extends java/rmi/server/RemoteServer flags 421
+
+class name java/rmi/activation/ActivateFailedException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/activation/ActivationDesc
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/rmi/activation/ActivationException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/rmi/activation/ActivationGroup
+header extends java/rmi/server/UnicastRemoteObject implements java/rmi/activation/ActivationInstantiator flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/rmi/activation/ActivationGroupDesc
+header extends java/lang/Object implements java/io/Serializable nestMembers java/rmi/activation/ActivationGroupDesc$CommandEnvironment flags 31
+innerclass innerClass java/rmi/activation/ActivationGroupDesc$CommandEnvironment outerClass java/rmi/activation/ActivationGroupDesc innerClassName CommandEnvironment flags 9
+
+class name java/rmi/activation/ActivationGroupDesc$CommandEnvironment
+header extends java/lang/Object implements java/io/Serializable nestHost java/rmi/activation/ActivationGroupDesc flags 21
+innerclass innerClass java/rmi/activation/ActivationGroupDesc$CommandEnvironment outerClass java/rmi/activation/ActivationGroupDesc innerClassName CommandEnvironment flags 9
+
+class name java/rmi/activation/ActivationGroupID
+header extends java/lang/Object implements java/io/Serializable flags 21
+
+class name java/rmi/activation/ActivationGroup_Stub
+header extends java/rmi/server/RemoteStub implements java/rmi/activation/ActivationInstantiator,java/rmi/Remote flags 31
+
+class name java/rmi/activation/ActivationInstantiator
+header extends java/lang/Object implements java/rmi/Remote flags 601
+
+class name java/rmi/activation/ActivationMonitor
+header extends java/lang/Object implements java/rmi/Remote flags 601
+
+class name java/rmi/activation/ActivationSystem
+header extends java/lang/Object implements java/rmi/Remote flags 601
+
+class name java/rmi/activation/Activator
+header extends java/lang/Object implements java/rmi/Remote flags 601
+
+class name java/rmi/activation/UnknownGroupException
+header extends java/rmi/activation/ActivationException flags 21
+
+class name java/rmi/activation/UnknownObjectException
+header extends java/rmi/activation/ActivationException flags 21
+
+class name java/rmi/dgc/DGC
+header extends java/lang/Object implements java/rmi/Remote flags 601
+
+class name java/rmi/dgc/Lease
+header extends java/lang/Object implements java/io/Serializable flags 31
+
+class name java/rmi/dgc/VMID
+header extends java/lang/Object implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/rmi/registry/LocateRegistry
+header extends java/lang/Object flags 31
+
+class name java/rmi/registry/Registry
+header extends java/lang/Object implements java/rmi/Remote flags 601
+
+class name java/rmi/registry/RegistryHandler
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/ExportException
+header extends java/rmi/RemoteException flags 21
+
+class name java/rmi/server/LoaderHandler
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/LogStream
+header extends java/io/PrintStream flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/ObjID
+header extends java/lang/Object implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/rmi/server/Operation
+header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/RMIClassLoaderSpi
+header extends java/lang/Object flags 421
+
+class name java/rmi/server/RMIClientSocketFactory
+header extends java/lang/Object flags 601
+
+class name java/rmi/server/RMIFailureHandler
+header extends java/lang/Object flags 601
+
+class name java/rmi/server/RMIServerSocketFactory
+header extends java/lang/Object flags 601
+
+class name java/rmi/server/RMISocketFactory
+header extends java/lang/Object implements java/rmi/server/RMIClientSocketFactory,java/rmi/server/RMIServerSocketFactory flags 421
+
+class name java/rmi/server/RemoteCall
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/RemoteObject
+header extends java/lang/Object implements java/rmi/Remote,java/io/Serializable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/rmi/server/RemoteRef
+header extends java/lang/Object implements java/io/Externalizable flags 601
+
+class name java/rmi/server/RemoteServer
+header extends java/rmi/server/RemoteObject flags 421
+
+class name java/rmi/server/RemoteStub
+header extends java/rmi/server/RemoteObject flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/ServerCloneException
+header extends java/lang/CloneNotSupportedException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/rmi/server/ServerNotActiveException
+header extends java/lang/Exception flags 21
+
+class name java/rmi/server/ServerRef
+header extends java/lang/Object implements java/rmi/server/RemoteRef flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/Skeleton
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/SkeletonMismatchException
+header extends java/rmi/RemoteException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/SkeletonNotFoundException
+header extends java/rmi/RemoteException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/SocketSecurityException
+header extends java/rmi/server/ExportException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name java/rmi/server/UID
+header extends java/lang/Object implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/rmi/server/UnicastRemoteObject
+header extends java/rmi/server/RemoteServer flags 21
+
+class name java/rmi/server/Unreferenced
+header extends java/lang/Object flags 601
+
+class name javax/rmi/ssl/SslRMIClientSocketFactory
+header extends java/lang/Object implements java/rmi/server/RMIClientSocketFactory,java/io/Serializable flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.scripting-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,66 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.scripting
+header exports javax/script requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/script/ScriptEngineFactory target linux-amd64 flags 8000
+
+class name javax/script/AbstractScriptEngine
+header extends java/lang/Object implements javax/script/ScriptEngine flags 421
+
+class name javax/script/Bindings
+header extends java/lang/Object implements java/util/Map flags 601 signature Ljava/lang/Object;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
+
+class name javax/script/Compilable
+header extends java/lang/Object flags 601
+
+class name javax/script/CompiledScript
+header extends java/lang/Object flags 421
+
+class name javax/script/Invocable
+header extends java/lang/Object flags 601
+
+class name javax/script/ScriptContext
+header extends java/lang/Object flags 601
+
+class name javax/script/ScriptEngine
+header extends java/lang/Object flags 601
+
+class name javax/script/ScriptEngineFactory
+header extends java/lang/Object flags 601
+
+class name javax/script/ScriptException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/script/SimpleBindings
+header extends java/lang/Object implements javax/script/Bindings flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name javax/script/SimpleScriptContext
+header extends java/lang/Object implements javax/script/ScriptContext flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.se-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.se
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;java.datatransfer\u0020;flags\u0020;20,name\u0020;java.desktop\u0020;flags\u0020;20,name\u0020;java.instrument\u0020;flags\u0020;20,name\u0020;java.logging\u0020;flags\u0020;20,name\u0020;java.management\u0020;flags\u0020;20,name\u0020;java.management.rmi\u0020;flags\u0020;20,name\u0020;java.naming\u0020;flags\u0020;20,name\u0020;java.net.http\u0020;flags\u0020;20,name\u0020;java.prefs\u0020;flags\u0020;20,name\u0020;java.rmi\u0020;flags\u0020;20,name\u0020;java.scripting\u0020;flags\u0020;20,name\u0020;java.security.jgss\u0020;flags\u0020;20,name\u0020;java.security.sasl\u0020;flags\u0020;20,name\u0020;java.sql\u0020;flags\u0020;20,name\u0020;java.sql.rowset\u0020;flags\u0020;20,name\u0020;java.transaction.xa\u0020;flags\u0020;20,name\u0020;java.xml\u0020;flags\u0020;20,name\u0020;java.xml.crypto\u0020;flags\u0020;20 target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.se.ee-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+-module name java.se.ee
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.security.jgss-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,102 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.security.jgss
+header exports javax/security/auth/kerberos,org/ietf/jgss requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.naming\u0020;flags\u0020;0 provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/jgss/SunProvider target linux-amd64 flags 8000
+
+class name javax/security/auth/kerberos/DelegationPermission
+header extends java/security/BasicPermission implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/security/auth/kerberos/EncryptionKey
+header extends java/lang/Object implements javax/crypto/SecretKey flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/security/auth/kerberos/KerberosCredMessage
+header extends java/lang/Object implements javax/security/auth/Destroyable flags 31
+innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/security/auth/kerberos/KerberosKey
+header extends java/lang/Object implements javax/crypto/SecretKey flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/security/auth/kerberos/KerberosPrincipal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/security/auth/kerberos/KerberosTicket
+header extends java/lang/Object implements javax/security/auth/Destroyable,javax/security/auth/Refreshable,java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/security/auth/kerberos/KeyTab
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/security/auth/kerberos/ServicePermission
+header extends java/security/Permission implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name org/ietf/jgss/ChannelBinding
+header extends java/lang/Object flags 21
+
+class name org/ietf/jgss/GSSContext
+header extends java/lang/Object flags 601
+-method name initSecContext descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;)I
+-method name acceptSecContext descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;)V
+-method name wrap descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/ietf/jgss/MessageProp;)V
+-method name unwrap descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/ietf/jgss/MessageProp;)V
+-method name getMIC descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/ietf/jgss/MessageProp;)V
+-method name verifyMIC descriptor (Ljava/io/InputStream;Ljava/io/InputStream;Lorg/ietf/jgss/MessageProp;)V
+method name initSecContext descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;)I thrownTypes org/ietf/jgss/GSSException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="11")
+method name acceptSecContext descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;)V thrownTypes org/ietf/jgss/GSSException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="11")
+method name wrap descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/ietf/jgss/MessageProp;)V thrownTypes org/ietf/jgss/GSSException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="11")
+method name unwrap descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/ietf/jgss/MessageProp;)V thrownTypes org/ietf/jgss/GSSException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="11")
+method name getMIC descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/ietf/jgss/MessageProp;)V thrownTypes org/ietf/jgss/GSSException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="11")
+method name verifyMIC descriptor (Ljava/io/InputStream;Ljava/io/InputStream;Lorg/ietf/jgss/MessageProp;)V thrownTypes org/ietf/jgss/GSSException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="11")
+
+class name org/ietf/jgss/GSSCredential
+header extends java/lang/Object implements java/lang/Cloneable flags 601
+
+class name org/ietf/jgss/GSSException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name org/ietf/jgss/GSSManager
+header extends java/lang/Object flags 421
+
+class name org/ietf/jgss/GSSName
+header extends java/lang/Object flags 601
+
+class name org/ietf/jgss/MessageProp
+header extends java/lang/Object flags 21
+
+class name org/ietf/jgss/Oid
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.security.sasl-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,59 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.security.sasl
+header exports javax/security/sasl requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0 provides interface\u0020;java/security/Provider\u0020;impls\u0020;com/sun/security/sasl/Provider target linux-amd64 flags 8000
+
+class name javax/security/sasl/AuthenticationException
+header extends javax/security/sasl/SaslException flags 21
+
+class name javax/security/sasl/AuthorizeCallback
+header extends java/lang/Object implements javax/security/auth/callback/Callback,java/io/Serializable flags 21
+
+class name javax/security/sasl/RealmCallback
+header extends javax/security/auth/callback/TextInputCallback flags 21
+
+class name javax/security/sasl/RealmChoiceCallback
+header extends javax/security/auth/callback/ChoiceCallback flags 21
+
+class name javax/security/sasl/SaslClient
+header extends java/lang/Object flags 601
+
+class name javax/security/sasl/SaslClientFactory
+header extends java/lang/Object flags 601
+
+class name javax/security/sasl/SaslException
+header extends java/io/IOException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/security/sasl/SaslServer
+header extends java/lang/Object flags 601
+
+class name javax/security/sasl/SaslServerFactory
+header extends java/lang/Object flags 601
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.smartcardio-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,73 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.smartcardio
+header exports javax/smartcardio requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/smartcardio/SunPCSC target linux-amd64 flags 8000
+
+class name javax/smartcardio/ATR
+header extends java/lang/Object implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/smartcardio/Card
+header extends java/lang/Object flags 421
+
+class name javax/smartcardio/CardChannel
+header extends java/lang/Object flags 421
+
+class name javax/smartcardio/CardException
+header extends java/lang/Exception flags 21
+
+class name javax/smartcardio/CardNotPresentException
+header extends javax/smartcardio/CardException flags 21
+
+class name javax/smartcardio/CardPermission
+header extends java/security/Permission flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/smartcardio/CardTerminal
+header extends java/lang/Object flags 421
+
+class name javax/smartcardio/CardTerminals
+header extends java/lang/Object nestMembers javax/smartcardio/CardTerminals$State flags 421
+innerclass innerClass javax/smartcardio/CardTerminals$State outerClass javax/smartcardio/CardTerminals innerClassName State flags 4019
+
+class name javax/smartcardio/CardTerminals$State
+header extends java/lang/Enum nestHost javax/smartcardio/CardTerminals flags 4031 signature Ljava/lang/Enum<Ljavax/smartcardio/CardTerminals$State;>;
+innerclass innerClass javax/smartcardio/CardTerminals$State outerClass javax/smartcardio/CardTerminals innerClassName State flags 4019
+
+class name javax/smartcardio/CommandAPDU
+header extends java/lang/Object implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/smartcardio/ResponseAPDU
+header extends java/lang/Object implements java/io/Serializable flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/smartcardio/TerminalFactorySpi
+header extends java/lang/Object flags 421
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.sql-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,261 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.sql
+header exports java/sql,javax/sql requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;20,name\u0020;java.transaction.xa\u0020;flags\u0020;20,name\u0020;java.xml\u0020;flags\u0020;20 uses java/sql/Driver target linux-amd64 flags 8000
+
+class name java/sql/Array
+header extends java/lang/Object flags 601
+
+class name java/sql/BatchUpdateException
+header extends java/sql/SQLException flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+
+class name java/sql/Blob
+header extends java/lang/Object flags 601
+
+class name java/sql/CallableStatement
+header extends java/lang/Object implements java/sql/PreparedStatement flags 601
+
+class name java/sql/ClientInfoStatus
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/sql/ClientInfoStatus;>;
+
+class name java/sql/Clob
+header extends java/lang/Object flags 601
+
+class name java/sql/Connection
+header extends java/lang/Object implements java/sql/Wrapper,java/lang/AutoCloseable flags 601
+
+class name java/sql/ConnectionBuilder
+header extends java/lang/Object flags 601
+
+class name java/sql/DataTruncation
+header extends java/sql/SQLWarning flags 21
+
+class name java/sql/DatabaseMetaData
+header extends java/lang/Object implements java/sql/Wrapper flags 601
+
+class name java/sql/Date
+header extends java/util/Date flags 21
+
+class name java/sql/Driver
+header extends java/lang/Object flags 601
+
+class name java/sql/DriverAction
+header extends java/lang/Object flags 601
+
+class name java/sql/DriverPropertyInfo
+header extends java/lang/Object flags 21
+
+class name java/sql/JDBCType
+header extends java/lang/Enum implements java/sql/SQLType flags 4031 signature Ljava/lang/Enum<Ljava/sql/JDBCType;>;Ljava/sql/SQLType;
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/sql/NClob
+header extends java/lang/Object implements java/sql/Clob flags 601
+
+class name java/sql/ParameterMetaData
+header extends java/lang/Object implements java/sql/Wrapper flags 601
+
+class name java/sql/PreparedStatement
+header extends java/lang/Object implements java/sql/Statement flags 601
+
+class name java/sql/PseudoColumnUsage
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/sql/PseudoColumnUsage;>;
+
+class name java/sql/Ref
+header extends java/lang/Object flags 601
+
+class name java/sql/ResultSet
+header extends java/lang/Object implements java/sql/Wrapper,java/lang/AutoCloseable flags 601
+
+class name java/sql/ResultSetMetaData
+header extends java/lang/Object implements java/sql/Wrapper flags 601
+
+class name java/sql/RowId
+header extends java/lang/Object flags 601
+
+class name java/sql/RowIdLifetime
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljava/sql/RowIdLifetime;>;
+
+class name java/sql/SQLClientInfoException
+header extends java/sql/SQLException flags 21
+
+class name java/sql/SQLData
+header extends java/lang/Object flags 601
+
+class name java/sql/SQLDataException
+header extends java/sql/SQLNonTransientException flags 21
+
+class name java/sql/SQLFeatureNotSupportedException
+header extends java/sql/SQLNonTransientException flags 21
+
+class name java/sql/SQLInput
+header extends java/lang/Object flags 601
+
+class name java/sql/SQLIntegrityConstraintViolationException
+header extends java/sql/SQLNonTransientException flags 21
+
+class name java/sql/SQLInvalidAuthorizationSpecException
+header extends java/sql/SQLNonTransientException flags 21
+
+class name java/sql/SQLNonTransientConnectionException
+header extends java/sql/SQLNonTransientException flags 21
+
+class name java/sql/SQLNonTransientException
+header extends java/sql/SQLException flags 21
+
+class name java/sql/SQLOutput
+header extends java/lang/Object flags 601
+
+class name java/sql/SQLPermission
+header extends java/security/BasicPermission flags 31
+
+class name java/sql/SQLRecoverableException
+header extends java/sql/SQLException flags 21
+
+class name java/sql/SQLSyntaxErrorException
+header extends java/sql/SQLNonTransientException flags 21
+
+class name java/sql/SQLTimeoutException
+header extends java/sql/SQLTransientException flags 21
+
+class name java/sql/SQLTransactionRollbackException
+header extends java/sql/SQLTransientException flags 21
+
+class name java/sql/SQLTransientConnectionException
+header extends java/sql/SQLTransientException flags 21
+
+class name java/sql/SQLTransientException
+header extends java/sql/SQLException flags 21
+
+class name java/sql/SQLType
+header extends java/lang/Object flags 601
+
+class name java/sql/SQLWarning
+header extends java/sql/SQLException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/sql/SQLXML
+header extends java/lang/Object flags 601
+
+class name java/sql/Savepoint
+header extends java/lang/Object flags 601
+
+class name java/sql/ShardingKey
+header extends java/lang/Object flags 601
+
+class name java/sql/ShardingKeyBuilder
+header extends java/lang/Object flags 601
+
+class name java/sql/Statement
+header extends java/lang/Object implements java/sql/Wrapper,java/lang/AutoCloseable flags 601
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name java/sql/Struct
+header extends java/lang/Object flags 601
+
+class name java/sql/Time
+header extends java/util/Date flags 21
+
+class name java/sql/Timestamp
+header extends java/util/Date flags 21
+
+class name java/sql/Types
+header extends java/lang/Object flags 21
+
+class name java/sql/Wrapper
+header extends java/lang/Object flags 601
+
+class name javax/sql/CommonDataSource
+header extends java/lang/Object flags 601
+
+class name javax/sql/ConnectionEvent
+header extends java/util/EventObject flags 21
+
+class name javax/sql/ConnectionEventListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/sql/ConnectionPoolDataSource
+header extends java/lang/Object implements javax/sql/CommonDataSource flags 601
+
+class name javax/sql/DataSource
+header extends java/lang/Object implements javax/sql/CommonDataSource,java/sql/Wrapper flags 601
+
+class name javax/sql/PooledConnection
+header extends java/lang/Object flags 601
+
+class name javax/sql/PooledConnectionBuilder
+header extends java/lang/Object flags 601
+
+class name javax/sql/RowSet
+header extends java/lang/Object implements java/sql/ResultSet flags 601
+
+class name javax/sql/RowSetEvent
+header extends java/util/EventObject flags 21
+
+class name javax/sql/RowSetInternal
+header extends java/lang/Object flags 601
+
+class name javax/sql/RowSetListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/sql/RowSetMetaData
+header extends java/lang/Object implements java/sql/ResultSetMetaData flags 601
+
+class name javax/sql/RowSetReader
+header extends java/lang/Object flags 601
+
+class name javax/sql/RowSetWriter
+header extends java/lang/Object flags 601
+
+class name javax/sql/StatementEvent
+header extends java/util/EventObject flags 21
+
+class name javax/sql/StatementEventListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name javax/sql/XAConnection
+header extends java/lang/Object implements javax/sql/PooledConnection flags 601
+
+class name javax/sql/XAConnectionBuilder
+header extends java/lang/Object flags 601
+
+class name javax/sql/XADataSource
+header extends java/lang/Object implements javax/sql/CommonDataSource flags 601
+
+class name javax/transaction/xa/XAException
+header extends java/lang/Exception flags 21
+
+class name javax/transaction/xa/XAResource
+header extends java/lang/Object flags 601
+
+class name javax/transaction/xa/Xid
+header extends java/lang/Object flags 601
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.sql.rowset-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,129 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.sql.rowset
+header exports javax/sql/rowset,javax/sql/rowset/serial,javax/sql/rowset/spi requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;20,name\u0020;java.naming\u0020;flags\u0020;20,name\u0020;java.sql\u0020;flags\u0020;20 uses javax/sql/rowset/RowSetFactory target linux-amd64 flags 8000
+
+class name javax/sql/rowset/BaseRowSet
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sql/rowset/CachedRowSet
+header extends java/lang/Object implements javax/sql/RowSet,javax/sql/rowset/Joinable flags 601
+
+class name javax/sql/rowset/FilteredRowSet
+header extends java/lang/Object implements javax/sql/rowset/WebRowSet flags 601
+
+class name javax/sql/rowset/JdbcRowSet
+header extends java/lang/Object implements javax/sql/RowSet,javax/sql/rowset/Joinable flags 601
+
+class name javax/sql/rowset/JoinRowSet
+header extends java/lang/Object implements javax/sql/rowset/WebRowSet flags 601
+
+class name javax/sql/rowset/Joinable
+header extends java/lang/Object flags 601
+
+class name javax/sql/rowset/Predicate
+header extends java/lang/Object flags 601
+
+class name javax/sql/rowset/RowSetFactory
+header extends java/lang/Object flags 601
+
+class name javax/sql/rowset/RowSetWarning
+header extends java/sql/SQLException flags 21
+
+class name javax/sql/rowset/WebRowSet
+header extends java/lang/Object implements javax/sql/rowset/CachedRowSet flags 601
+
+class name javax/sql/rowset/serial/SQLInputImpl
+header extends java/lang/Object implements java/sql/SQLInput flags 21
+
+class name javax/sql/rowset/serial/SQLOutputImpl
+header extends java/lang/Object implements java/sql/SQLOutput flags 21
+
+class name javax/sql/rowset/serial/SerialArray
+header extends java/lang/Object implements java/sql/Array,java/io/Serializable,java/lang/Cloneable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+
+class name javax/sql/rowset/serial/SerialBlob
+header extends java/lang/Object implements java/sql/Blob,java/io/Serializable,java/lang/Cloneable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+
+class name javax/sql/rowset/serial/SerialClob
+header extends java/lang/Object implements java/sql/Clob,java/io/Serializable,java/lang/Cloneable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sql/rowset/serial/SerialDatalink
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sql/rowset/serial/SerialException
+header extends java/sql/SQLException flags 21
+
+class name javax/sql/rowset/serial/SerialJavaObject
+header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+
+class name javax/sql/rowset/serial/SerialRef
+header extends java/lang/Object implements java/sql/Ref,java/io/Serializable,java/lang/Cloneable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sql/rowset/serial/SerialStruct
+header extends java/lang/Object implements java/sql/Struct,java/io/Serializable,java/lang/Cloneable flags 21
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/sql/rowset/spi/SyncFactoryException
+header extends java/sql/SQLException flags 21
+
+class name javax/sql/rowset/spi/SyncProvider
+header extends java/lang/Object flags 421
+
+class name javax/sql/rowset/spi/SyncProviderException
+header extends java/sql/SQLException flags 21
+
+class name javax/sql/rowset/spi/SyncResolver
+header extends java/lang/Object implements javax/sql/RowSet flags 601
+
+class name javax/sql/rowset/spi/TransactionalWriter
+header extends java/lang/Object implements javax/sql/RowSetWriter flags 601
+
+class name javax/sql/rowset/spi/XmlReader
+header extends java/lang/Object implements javax/sql/RowSetReader flags 601
+
+class name javax/sql/rowset/spi/XmlWriter
+header extends java/lang/Object implements javax/sql/RowSetWriter flags 601
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.transaction-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+-module name java.transaction
+
+-class name javax/transaction/InvalidTransactionException
+
+-class name javax/transaction/TransactionRequiredException
+
+-class name javax/transaction/TransactionRolledbackException
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.transaction.xa-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.transaction.xa
+header exports javax/transaction/xa requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.xml-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,636 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.xml
+header exports javax/xml,javax/xml/catalog,javax/xml/datatype,javax/xml/namespace,javax/xml/parsers,javax/xml/stream,javax/xml/stream/events,javax/xml/stream/util,javax/xml/transform,javax/xml/transform/dom,javax/xml/transform/sax,javax/xml/transform/stax,javax/xml/transform/stream,javax/xml/validation,javax/xml/xpath,org/w3c/dom,org/w3c/dom/bootstrap,org/w3c/dom/events,org/w3c/dom/ls,org/w3c/dom/ranges,org/w3c/dom/traversal,org/w3c/dom/views,org/xml/sax,org/xml/sax/ext,org/xml/sax/helpers requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/xml/datatype/DatatypeFactory,javax/xml/parsers/DocumentBuilderFactory,javax/xml/parsers/SAXParserFactory,javax/xml/stream/XMLEventFactory,javax/xml/stream/XMLInputFactory,javax/xml/stream/XMLOutputFactory,javax/xml/transform/TransformerFactory,javax/xml/validation/SchemaFactory,javax/xml/xpath/XPathFactory,org/xml/sax/XMLReader target linux-amd64 flags 8000
+
+class name javax/xml/XMLConstants
+header extends java/lang/Object flags 31
+
+class name javax/xml/catalog/Catalog
+header extends java/lang/Object flags 601
+
+class name javax/xml/catalog/CatalogException
+header extends java/lang/RuntimeException flags 21
+
+class name javax/xml/catalog/CatalogFeatures
+header extends java/lang/Object nestMembers javax/xml/catalog/CatalogFeatures$Builder,javax/xml/catalog/CatalogFeatures$Feature flags 21
+innerclass innerClass javax/xml/catalog/CatalogFeatures$Builder outerClass javax/xml/catalog/CatalogFeatures innerClassName Builder flags 9
+innerclass innerClass javax/xml/catalog/CatalogFeatures$Feature outerClass javax/xml/catalog/CatalogFeatures innerClassName Feature flags 4019
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/catalog/CatalogFeatures$Builder
+header extends java/lang/Object nestHost javax/xml/catalog/CatalogFeatures flags 21
+innerclass innerClass javax/xml/catalog/CatalogFeatures$Feature outerClass javax/xml/catalog/CatalogFeatures innerClassName Feature flags 4019
+innerclass innerClass javax/xml/catalog/CatalogFeatures$Builder outerClass javax/xml/catalog/CatalogFeatures innerClassName Builder flags 9
+
+class name javax/xml/catalog/CatalogFeatures$Feature
+header extends java/lang/Enum nestHost javax/xml/catalog/CatalogFeatures flags 4031 signature Ljava/lang/Enum<Ljavax/xml/catalog/CatalogFeatures$Feature;>;
+innerclass innerClass javax/xml/catalog/CatalogFeatures$Feature outerClass javax/xml/catalog/CatalogFeatures innerClassName Feature flags 4019
+
+class name javax/xml/catalog/CatalogManager
+header extends java/lang/Object flags 31
+
+class name javax/xml/catalog/CatalogResolver
+header extends java/lang/Object implements org/xml/sax/EntityResolver,javax/xml/stream/XMLResolver,javax/xml/transform/URIResolver,org/w3c/dom/ls/LSResourceResolver flags 601
+
+class name javax/xml/datatype/DatatypeConfigurationException
+header extends java/lang/Exception flags 21
+
+class name javax/xml/datatype/DatatypeConstants
+header extends java/lang/Object nestMembers javax/xml/datatype/DatatypeConstants$Field flags 31
+innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19
+
+class name javax/xml/datatype/DatatypeConstants$Field
+header extends java/lang/Object nestHost javax/xml/datatype/DatatypeConstants flags 31
+innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19
+
+class name javax/xml/datatype/DatatypeFactory
+header extends java/lang/Object flags 421
+innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/datatype/Duration
+header extends java/lang/Object flags 421
+innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/datatype/XMLGregorianCalendar
+header extends java/lang/Object implements java/lang/Cloneable flags 421
+
+class name javax/xml/namespace/NamespaceContext
+header extends java/lang/Object flags 601
+
+class name javax/xml/namespace/QName
+header extends java/lang/Object implements java/io/Serializable flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/parsers/DocumentBuilder
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/parsers/DocumentBuilderFactory
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/parsers/FactoryConfigurationError
+header extends java/lang/Error flags 21
+
+class name javax/xml/parsers/ParserConfigurationException
+header extends java/lang/Exception flags 21
+
+class name javax/xml/parsers/SAXParser
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/parsers/SAXParserFactory
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/stream/EventFilter
+header extends java/lang/Object flags 601
+
+class name javax/xml/stream/FactoryConfigurationError
+header extends java/lang/Error flags 21
+
+class name javax/xml/stream/Location
+header extends java/lang/Object flags 601
+
+class name javax/xml/stream/StreamFilter
+header extends java/lang/Object flags 601
+
+class name javax/xml/stream/XMLEventFactory
+header extends java/lang/Object flags 421
+
+class name javax/xml/stream/XMLEventReader
+header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator<Ljava/lang/Object;>;
+
+class name javax/xml/stream/XMLEventWriter
+header extends java/lang/Object implements javax/xml/stream/util/XMLEventConsumer flags 601
+
+class name javax/xml/stream/XMLInputFactory
+header extends java/lang/Object flags 421
+method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
+-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
+
+class name javax/xml/stream/XMLOutputFactory
+header extends java/lang/Object flags 421
+
+class name javax/xml/stream/XMLReporter
+header extends java/lang/Object flags 601
+
+class name javax/xml/stream/XMLResolver
+header extends java/lang/Object flags 601
+
+class name javax/xml/stream/XMLStreamConstants
+header extends java/lang/Object flags 601
+
+class name javax/xml/stream/XMLStreamException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/stream/XMLStreamReader
+header extends java/lang/Object implements javax/xml/stream/XMLStreamConstants flags 601
+
+class name javax/xml/stream/XMLStreamWriter
+header extends java/lang/Object flags 601
+
+class name javax/xml/stream/events/Attribute
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/Characters
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/Comment
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/DTD
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/EndDocument
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/EndElement
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/EntityDeclaration
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/EntityReference
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/Namespace
+header extends java/lang/Object implements javax/xml/stream/events/Attribute flags 601
+
+class name javax/xml/stream/events/NotationDeclaration
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/ProcessingInstruction
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/StartDocument
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/StartElement
+header extends java/lang/Object implements javax/xml/stream/events/XMLEvent flags 601
+
+class name javax/xml/stream/events/XMLEvent
+header extends java/lang/Object implements javax/xml/stream/XMLStreamConstants flags 601
+
+class name javax/xml/stream/util/EventReaderDelegate
+header extends java/lang/Object implements javax/xml/stream/XMLEventReader flags 21
+
+class name javax/xml/stream/util/StreamReaderDelegate
+header extends java/lang/Object implements javax/xml/stream/XMLStreamReader flags 21
+
+class name javax/xml/stream/util/XMLEventAllocator
+header extends java/lang/Object flags 601
+
+class name javax/xml/stream/util/XMLEventConsumer
+header extends java/lang/Object flags 601
+
+class name javax/xml/transform/ErrorListener
+header extends java/lang/Object flags 601
+
+class name javax/xml/transform/OutputKeys
+header extends java/lang/Object flags 21
+
+class name javax/xml/transform/Result
+header extends java/lang/Object flags 601
+
+class name javax/xml/transform/Source
+header extends java/lang/Object flags 601
+
+class name javax/xml/transform/SourceLocator
+header extends java/lang/Object flags 601
+
+class name javax/xml/transform/Templates
+header extends java/lang/Object flags 601
+
+class name javax/xml/transform/Transformer
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/transform/TransformerConfigurationException
+header extends javax/xml/transform/TransformerException flags 21
+
+class name javax/xml/transform/TransformerException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/transform/TransformerFactory
+header extends java/lang/Object flags 421
+
+class name javax/xml/transform/TransformerFactoryConfigurationError
+header extends java/lang/Error flags 21
+
+class name javax/xml/transform/URIResolver
+header extends java/lang/Object flags 601
+
+class name javax/xml/transform/dom/DOMLocator
+header extends java/lang/Object implements javax/xml/transform/SourceLocator flags 601
+
+class name javax/xml/transform/dom/DOMResult
+header extends java/lang/Object implements javax/xml/transform/Result flags 21
+
+class name javax/xml/transform/dom/DOMSource
+header extends java/lang/Object implements javax/xml/transform/Source flags 21
+
+class name javax/xml/transform/sax/SAXResult
+header extends java/lang/Object implements javax/xml/transform/Result flags 21
+
+class name javax/xml/transform/sax/SAXSource
+header extends java/lang/Object implements javax/xml/transform/Source flags 21
+
+class name javax/xml/transform/sax/SAXTransformerFactory
+header extends javax/xml/transform/TransformerFactory flags 421
+
+class name javax/xml/transform/sax/TemplatesHandler
+header extends java/lang/Object implements org/xml/sax/ContentHandler flags 601
+
+class name javax/xml/transform/sax/TransformerHandler
+header extends java/lang/Object implements org/xml/sax/ContentHandler,org/xml/sax/ext/LexicalHandler,org/xml/sax/DTDHandler flags 601
+
+class name javax/xml/transform/stax/StAXResult
+header extends java/lang/Object implements javax/xml/transform/Result flags 21
+
+class name javax/xml/transform/stax/StAXSource
+header extends java/lang/Object implements javax/xml/transform/Source flags 21
+
+class name javax/xml/transform/stream/StreamResult
+header extends java/lang/Object implements javax/xml/transform/Result flags 21
+
+class name javax/xml/transform/stream/StreamSource
+header extends java/lang/Object implements javax/xml/transform/Source flags 21
+
+class name javax/xml/validation/Schema
+header extends java/lang/Object flags 421
+
+class name javax/xml/validation/SchemaFactory
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/validation/SchemaFactoryConfigurationError
+header extends java/lang/Error flags 31
+
+class name javax/xml/validation/SchemaFactoryLoader
+header extends java/lang/Object flags 421
+
+class name javax/xml/validation/TypeInfoProvider
+header extends java/lang/Object flags 421
+
+class name javax/xml/validation/Validator
+header extends java/lang/Object flags 421
+
+class name javax/xml/validation/ValidatorHandler
+header extends java/lang/Object implements org/xml/sax/ContentHandler flags 421
+
+class name javax/xml/xpath/XPath
+header extends java/lang/Object flags 601
+innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019
+
+class name javax/xml/xpath/XPathConstants
+header extends java/lang/Object flags 21
+
+class name javax/xml/xpath/XPathEvaluationResult
+header extends java/lang/Object nestMembers javax/xml/xpath/XPathEvaluationResult$XPathResultType flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019
+
+class name javax/xml/xpath/XPathEvaluationResult$XPathResultType
+header extends java/lang/Enum nestHost javax/xml/xpath/XPathEvaluationResult flags 4031 signature Ljava/lang/Enum<Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;>;
+innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019
+
+class name javax/xml/xpath/XPathException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+
+class name javax/xml/xpath/XPathExpression
+header extends java/lang/Object flags 601
+innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019
+
+class name javax/xml/xpath/XPathExpressionException
+header extends javax/xml/xpath/XPathException flags 21
+
+class name javax/xml/xpath/XPathFactory
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/xpath/XPathFactoryConfigurationException
+header extends javax/xml/xpath/XPathException flags 21
+
+class name javax/xml/xpath/XPathFunction
+header extends java/lang/Object flags 601
+
+class name javax/xml/xpath/XPathFunctionException
+header extends javax/xml/xpath/XPathExpressionException flags 21
+
+class name javax/xml/xpath/XPathFunctionResolver
+header extends java/lang/Object flags 601
+
+class name javax/xml/xpath/XPathNodes
+header extends java/lang/Object implements java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljava/lang/Iterable<Lorg/w3c/dom/Node;>;
+
+class name javax/xml/xpath/XPathVariableResolver
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/Attr
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/CDATASection
+header extends java/lang/Object implements org/w3c/dom/Text flags 601
+
+class name org/w3c/dom/CharacterData
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/Comment
+header extends java/lang/Object implements org/w3c/dom/CharacterData flags 601
+
+class name org/w3c/dom/DOMConfiguration
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/DOMError
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/DOMErrorHandler
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/DOMException
+header extends java/lang/RuntimeException flags 21
+
+class name org/w3c/dom/DOMImplementation
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/DOMImplementationList
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/DOMImplementationSource
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/DOMLocator
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/DOMStringList
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/Document
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/DocumentFragment
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/DocumentType
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/Element
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/ElementTraversal
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/Entity
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/EntityReference
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/NameList
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/NamedNodeMap
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/Node
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/NodeList
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/Notation
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/ProcessingInstruction
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/Text
+header extends java/lang/Object implements org/w3c/dom/CharacterData flags 601
+
+class name org/w3c/dom/TypeInfo
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/UserDataHandler
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/events/DocumentEvent
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/events/Event
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/events/EventException
+header extends java/lang/RuntimeException flags 21
+
+class name org/w3c/dom/events/EventListener
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/events/EventTarget
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/events/MouseEvent
+header extends java/lang/Object implements org/w3c/dom/events/UIEvent flags 601
+
+class name org/w3c/dom/events/MutationEvent
+header extends java/lang/Object implements org/w3c/dom/events/Event flags 601
+
+class name org/w3c/dom/events/UIEvent
+header extends java/lang/Object implements org/w3c/dom/events/Event flags 601
+
+class name org/w3c/dom/ls/DOMImplementationLS
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/ls/LSException
+header extends java/lang/RuntimeException flags 21
+
+class name org/w3c/dom/ls/LSInput
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/ls/LSLoadEvent
+header extends java/lang/Object implements org/w3c/dom/events/Event flags 601
+
+class name org/w3c/dom/ls/LSOutput
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/ls/LSParser
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/ls/LSParserFilter
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/ls/LSProgressEvent
+header extends java/lang/Object implements org/w3c/dom/events/Event flags 601
+
+class name org/w3c/dom/ls/LSResourceResolver
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/ls/LSSerializer
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/ls/LSSerializerFilter
+header extends java/lang/Object implements org/w3c/dom/traversal/NodeFilter flags 601
+
+class name org/w3c/dom/ranges/DocumentRange
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/ranges/Range
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/ranges/RangeException
+header extends java/lang/RuntimeException flags 21
+
+class name org/w3c/dom/traversal/DocumentTraversal
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/traversal/NodeFilter
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/traversal/NodeIterator
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/traversal/TreeWalker
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/views/AbstractView
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/views/DocumentView
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/AttributeList
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5")
+
+class name org/xml/sax/Attributes
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/ContentHandler
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/DTDHandler
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/DocumentHandler
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5")
+
+class name org/xml/sax/EntityResolver
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/ErrorHandler
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/HandlerBase
+header extends java/lang/Object implements org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/DocumentHandler,org/xml/sax/ErrorHandler flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5")
+
+class name org/xml/sax/InputSource
+header extends java/lang/Object flags 21
+
+class name org/xml/sax/Locator
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/Parser
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5")
+
+class name org/xml/sax/SAXException
+header extends java/lang/Exception flags 21
+innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409
+innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name org/xml/sax/SAXNotRecognizedException
+header extends org/xml/sax/SAXException flags 21
+
+class name org/xml/sax/SAXNotSupportedException
+header extends org/xml/sax/SAXException flags 21
+
+class name org/xml/sax/SAXParseException
+header extends org/xml/sax/SAXException flags 21
+
+class name org/xml/sax/XMLFilter
+header extends java/lang/Object implements org/xml/sax/XMLReader flags 601
+
+class name org/xml/sax/XMLReader
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/ext/Attributes2
+header extends java/lang/Object implements org/xml/sax/Attributes flags 601
+
+class name org/xml/sax/ext/Attributes2Impl
+header extends org/xml/sax/helpers/AttributesImpl implements org/xml/sax/ext/Attributes2 flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name org/xml/sax/ext/DeclHandler
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/ext/DefaultHandler2
+header extends org/xml/sax/helpers/DefaultHandler implements org/xml/sax/ext/LexicalHandler,org/xml/sax/ext/DeclHandler,org/xml/sax/ext/EntityResolver2 flags 21
+
+class name org/xml/sax/ext/EntityResolver2
+header extends java/lang/Object implements org/xml/sax/EntityResolver flags 601
+
+class name org/xml/sax/ext/LexicalHandler
+header extends java/lang/Object flags 601
+
+class name org/xml/sax/ext/Locator2
+header extends java/lang/Object implements org/xml/sax/Locator flags 601
+
+class name org/xml/sax/ext/Locator2Impl
+header extends org/xml/sax/helpers/LocatorImpl implements org/xml/sax/ext/Locator2 flags 21
+
+class name org/xml/sax/helpers/AttributeListImpl
+header extends java/lang/Object implements org/xml/sax/AttributeList flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5")
+
+class name org/xml/sax/helpers/AttributesImpl
+header extends java/lang/Object implements org/xml/sax/Attributes flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name org/xml/sax/helpers/DefaultHandler
+header extends java/lang/Object implements org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/ContentHandler,org/xml/sax/ErrorHandler flags 21
+
+class name org/xml/sax/helpers/LocatorImpl
+header extends java/lang/Object implements org/xml/sax/Locator flags 21
+
+class name org/xml/sax/helpers/ParserFactory
+header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5")
+
+class name org/xml/sax/helpers/XMLFilterImpl
+header extends java/lang/Object implements org/xml/sax/XMLFilter,org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/ContentHandler,org/xml/sax/ErrorHandler flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name org/xml/sax/helpers/XMLReaderFactory
+header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.xml.bind-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,212 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+-module name java.xml.bind
+
+-class name javax/xml/bind/Binder
+
+-class name javax/xml/bind/DataBindingException
+
+-class name javax/xml/bind/DatatypeConverter
+
+-class name javax/xml/bind/DatatypeConverterInterface
+
+-class name javax/xml/bind/Element
+
+-class name javax/xml/bind/JAXB
+
+-class name javax/xml/bind/JAXBContext
+
+-class name javax/xml/bind/JAXBContextFactory
+
+-class name javax/xml/bind/JAXBElement
+
+-class name javax/xml/bind/JAXBElement$GlobalScope
+
+-class name javax/xml/bind/JAXBException
+
+-class name javax/xml/bind/JAXBIntrospector
+
+-class name javax/xml/bind/JAXBPermission
+
+-class name javax/xml/bind/MarshalException
+
+-class name javax/xml/bind/Marshaller
+
+-class name javax/xml/bind/Marshaller$Listener
+
+-class name javax/xml/bind/NotIdentifiableEvent
+
+-class name javax/xml/bind/ParseConversionEvent
+
+-class name javax/xml/bind/PrintConversionEvent
+
+-class name javax/xml/bind/PropertyException
+
+-class name javax/xml/bind/SchemaOutputResolver
+
+-class name javax/xml/bind/TypeConstraintException
+
+-class name javax/xml/bind/UnmarshalException
+
+-class name javax/xml/bind/Unmarshaller
+
+-class name javax/xml/bind/Unmarshaller$Listener
+
+-class name javax/xml/bind/UnmarshallerHandler
+
+-class name javax/xml/bind/ValidationEvent
+
+-class name javax/xml/bind/ValidationEventHandler
+
+-class name javax/xml/bind/ValidationEventLocator
+
+-class name javax/xml/bind/ValidationException
+
+-class name javax/xml/bind/Validator
+
+-class name javax/xml/bind/annotation/DomHandler
+
+-class name javax/xml/bind/annotation/W3CDomHandler
+
+-class name javax/xml/bind/annotation/XmlAccessOrder
+
+-class name javax/xml/bind/annotation/XmlAccessType
+
+-class name javax/xml/bind/annotation/XmlAccessorOrder
+
+-class name javax/xml/bind/annotation/XmlAccessorType
+
+-class name javax/xml/bind/annotation/XmlAnyAttribute
+
+-class name javax/xml/bind/annotation/XmlAnyElement
+
+-class name javax/xml/bind/annotation/XmlAttachmentRef
+
+-class name javax/xml/bind/annotation/XmlAttribute
+
+-class name javax/xml/bind/annotation/XmlElement
+
+-class name javax/xml/bind/annotation/XmlElement$DEFAULT
+
+-class name javax/xml/bind/annotation/XmlElementDecl
+
+-class name javax/xml/bind/annotation/XmlElementDecl$GLOBAL
+
+-class name javax/xml/bind/annotation/XmlElementRef
+
+-class name javax/xml/bind/annotation/XmlElementRef$DEFAULT
+
+-class name javax/xml/bind/annotation/XmlElementRefs
+
+-class name javax/xml/bind/annotation/XmlElementWrapper
+
+-class name javax/xml/bind/annotation/XmlElements
+
+-class name javax/xml/bind/annotation/XmlEnum
+
+-class name javax/xml/bind/annotation/XmlEnumValue
+
+-class name javax/xml/bind/annotation/XmlID
+
+-class name javax/xml/bind/annotation/XmlIDREF
+
+-class name javax/xml/bind/annotation/XmlInlineBinaryData
+
+-class name javax/xml/bind/annotation/XmlList
+
+-class name javax/xml/bind/annotation/XmlMimeType
+
+-class name javax/xml/bind/annotation/XmlMixed
+
+-class name javax/xml/bind/annotation/XmlNs
+
+-class name javax/xml/bind/annotation/XmlNsForm
+
+-class name javax/xml/bind/annotation/XmlRegistry
+
+-class name javax/xml/bind/annotation/XmlRootElement
+
+-class name javax/xml/bind/annotation/XmlSchema
+
+-class name javax/xml/bind/annotation/XmlSchemaType
+
+-class name javax/xml/bind/annotation/XmlSchemaType$DEFAULT
+
+-class name javax/xml/bind/annotation/XmlSchemaTypes
+
+-class name javax/xml/bind/annotation/XmlSeeAlso
+
+-class name javax/xml/bind/annotation/XmlTransient
+
+-class name javax/xml/bind/annotation/XmlType
+
+-class name javax/xml/bind/annotation/XmlType$DEFAULT
+
+-class name javax/xml/bind/annotation/XmlValue
+
+-class name javax/xml/bind/annotation/adapters/CollapsedStringAdapter
+
+-class name javax/xml/bind/annotation/adapters/HexBinaryAdapter
+
+-class name javax/xml/bind/annotation/adapters/NormalizedStringAdapter
+
+-class name javax/xml/bind/annotation/adapters/XmlAdapter
+
+-class name javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter
+
+-class name javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter$DEFAULT
+
+-class name javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters
+
+-class name javax/xml/bind/attachment/AttachmentMarshaller
+
+-class name javax/xml/bind/attachment/AttachmentUnmarshaller
+
+-class name javax/xml/bind/helpers/AbstractMarshallerImpl
+
+-class name javax/xml/bind/helpers/AbstractUnmarshallerImpl
+
+-class name javax/xml/bind/helpers/DefaultValidationEventHandler
+
+-class name javax/xml/bind/helpers/NotIdentifiableEventImpl
+
+-class name javax/xml/bind/helpers/ParseConversionEventImpl
+
+-class name javax/xml/bind/helpers/PrintConversionEventImpl
+
+-class name javax/xml/bind/helpers/ValidationEventImpl
+
+-class name javax/xml/bind/helpers/ValidationEventLocatorImpl
+
+-class name javax/xml/bind/util/JAXBResult
+
+-class name javax/xml/bind/util/JAXBSource
+
+-class name javax/xml/bind/util/ValidationEventCollector
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.xml.crypto-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,236 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name java.xml.crypto
+header exports javax/xml/crypto,javax/xml/crypto/dom,javax/xml/crypto/dsig,javax/xml/crypto/dsig/dom,javax/xml/crypto/dsig/keyinfo,javax/xml/crypto/dsig/spec requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0,name\u0020;java.xml\u0020;flags\u0020;20 provides interface\u0020;java/security/Provider\u0020;impls\u0020;org/jcp/xml/dsig/internal/dom/XMLDSigRI target linux-amd64 flags 8000
+
+class name javax/xml/crypto/AlgorithmMethod
+header extends java/lang/Object flags 601
+
+class name javax/xml/crypto/Data
+header extends java/lang/Object flags 601
+
+class name javax/xml/crypto/KeySelector
+header extends java/lang/Object nestMembers javax/xml/crypto/KeySelector$Purpose flags 421
+innerclass innerClass javax/xml/crypto/KeySelector$Purpose outerClass javax/xml/crypto/KeySelector innerClassName Purpose flags 9
+
+class name javax/xml/crypto/KeySelector$Purpose
+header extends java/lang/Object nestHost javax/xml/crypto/KeySelector flags 21
+innerclass innerClass javax/xml/crypto/KeySelector$Purpose outerClass javax/xml/crypto/KeySelector innerClassName Purpose flags 9
+
+class name javax/xml/crypto/KeySelectorException
+header extends java/lang/Exception flags 21
+
+class name javax/xml/crypto/KeySelectorResult
+header extends java/lang/Object flags 601
+
+class name javax/xml/crypto/MarshalException
+header extends java/lang/Exception flags 21
+
+class name javax/xml/crypto/NoSuchMechanismException
+header extends java/lang/RuntimeException flags 21
+
+class name javax/xml/crypto/NodeSetData
+header extends java/lang/Object implements javax/xml/crypto/Data,java/lang/Iterable flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/xml/crypto/Data;Ljava/lang/Iterable<TT;>;
+
+class name javax/xml/crypto/OctetStreamData
+header extends java/lang/Object implements javax/xml/crypto/Data flags 21
+
+class name javax/xml/crypto/URIDereferencer
+header extends java/lang/Object flags 601
+
+class name javax/xml/crypto/URIReference
+header extends java/lang/Object flags 601
+
+class name javax/xml/crypto/URIReferenceException
+header extends java/lang/Exception flags 21
+
+class name javax/xml/crypto/XMLCryptoContext
+header extends java/lang/Object flags 601
+
+class name javax/xml/crypto/XMLStructure
+header extends java/lang/Object flags 601
+
+class name javax/xml/crypto/dom/DOMCryptoContext
+header extends java/lang/Object implements javax/xml/crypto/XMLCryptoContext flags 21
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/crypto/dom/DOMStructure
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 21
+
+class name javax/xml/crypto/dom/DOMURIReference
+header extends java/lang/Object implements javax/xml/crypto/URIReference flags 601
+
+class name javax/xml/crypto/dsig/CanonicalizationMethod
+header extends java/lang/Object implements javax/xml/crypto/dsig/Transform flags 601
+
+class name javax/xml/crypto/dsig/DigestMethod
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure,javax/xml/crypto/AlgorithmMethod flags 601
+field name SHA224 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#sha224 flags 19
+field name SHA384 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#sha384 flags 19
+field name SHA3_224 descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#sha3-224 flags 19
+field name SHA3_256 descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#sha3-256 flags 19
+field name SHA3_384 descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#sha3-384 flags 19
+field name SHA3_512 descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#sha3-512 flags 19
+
+class name javax/xml/crypto/dsig/Manifest
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/Reference
+header extends java/lang/Object implements javax/xml/crypto/URIReference,javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/SignatureMethod
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure,javax/xml/crypto/AlgorithmMethod flags 601
+field name DSA_SHA256 descriptor Ljava/lang/String; constantValue http://www.w3.org/2009/xmldsig11#dsa-sha256 flags 19
+field name RSA_SHA224 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#rsa-sha224 flags 19
+field name RSA_SHA256 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 flags 19
+field name RSA_SHA384 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#rsa-sha384 flags 19
+field name RSA_SHA512 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 flags 19
+field name SHA1_RSA_MGF1 descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1 flags 19
+field name SHA224_RSA_MGF1 descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#sha224-rsa-MGF1 flags 19
+field name SHA256_RSA_MGF1 descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#sha256-rsa-MGF1 flags 19
+field name SHA384_RSA_MGF1 descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#sha384-rsa-MGF1 flags 19
+field name SHA512_RSA_MGF1 descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#sha512-rsa-MGF1 flags 19
+field name ECDSA_SHA1 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1 flags 19
+field name ECDSA_SHA224 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha224 flags 19
+field name ECDSA_SHA256 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256 flags 19
+field name ECDSA_SHA384 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384 flags 19
+field name ECDSA_SHA512 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512 flags 19
+field name HMAC_SHA224 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#hmac-sha224 flags 19
+field name HMAC_SHA256 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#hmac-sha256 flags 19
+field name HMAC_SHA384 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#hmac-sha384 flags 19
+field name HMAC_SHA512 descriptor Ljava/lang/String; constantValue http://www.w3.org/2001/04/xmldsig-more#hmac-sha512 flags 19
+
+class name javax/xml/crypto/dsig/SignatureProperties
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/SignatureProperty
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/SignedInfo
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/Transform
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure,javax/xml/crypto/AlgorithmMethod flags 601
+
+class name javax/xml/crypto/dsig/TransformException
+header extends java/lang/Exception flags 21
+
+class name javax/xml/crypto/dsig/XMLObject
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/XMLSignContext
+header extends java/lang/Object implements javax/xml/crypto/XMLCryptoContext flags 601
+
+class name javax/xml/crypto/dsig/XMLSignature
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure nestMembers javax/xml/crypto/dsig/XMLSignature$SignatureValue flags 601
+innerclass innerClass javax/xml/crypto/dsig/XMLSignature$SignatureValue outerClass javax/xml/crypto/dsig/XMLSignature innerClassName SignatureValue flags 609
+
+class name javax/xml/crypto/dsig/XMLSignature$SignatureValue
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure nestHost javax/xml/crypto/dsig/XMLSignature flags 601
+innerclass innerClass javax/xml/crypto/dsig/XMLSignature$SignatureValue outerClass javax/xml/crypto/dsig/XMLSignature innerClassName SignatureValue flags 609
+
+class name javax/xml/crypto/dsig/XMLSignatureException
+header extends java/lang/Exception flags 21
+
+class name javax/xml/crypto/dsig/XMLSignatureFactory
+header extends java/lang/Object flags 421
+innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/crypto/dsig/XMLValidateContext
+header extends java/lang/Object implements javax/xml/crypto/XMLCryptoContext flags 601
+
+class name javax/xml/crypto/dsig/dom/DOMSignContext
+header extends javax/xml/crypto/dom/DOMCryptoContext implements javax/xml/crypto/dsig/XMLSignContext flags 21
+
+class name javax/xml/crypto/dsig/dom/DOMValidateContext
+header extends javax/xml/crypto/dom/DOMCryptoContext implements javax/xml/crypto/dsig/XMLValidateContext flags 21
+
+class name javax/xml/crypto/dsig/keyinfo/KeyInfo
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/keyinfo/KeyInfoFactory
+header extends java/lang/Object flags 421
+innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name javax/xml/crypto/dsig/keyinfo/KeyName
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/keyinfo/KeyValue
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/keyinfo/PGPData
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/keyinfo/RetrievalMethod
+header extends java/lang/Object implements javax/xml/crypto/URIReference,javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/keyinfo/X509Data
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/keyinfo/X509IssuerSerial
+header extends java/lang/Object implements javax/xml/crypto/XMLStructure flags 601
+
+class name javax/xml/crypto/dsig/spec/C14NMethodParameterSpec
+header extends java/lang/Object implements javax/xml/crypto/dsig/spec/TransformParameterSpec flags 601
+
+class name javax/xml/crypto/dsig/spec/DigestMethodParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 601
+
+class name javax/xml/crypto/dsig/spec/ExcC14NParameterSpec
+header extends java/lang/Object implements javax/xml/crypto/dsig/spec/C14NMethodParameterSpec flags 31
+
+class name javax/xml/crypto/dsig/spec/HMACParameterSpec
+header extends java/lang/Object implements javax/xml/crypto/dsig/spec/SignatureMethodParameterSpec flags 31
+
+class name javax/xml/crypto/dsig/spec/SignatureMethodParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 601
+
+class name javax/xml/crypto/dsig/spec/TransformParameterSpec
+header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 601
+
+class name javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec
+header extends java/lang/Object implements javax/xml/crypto/dsig/spec/TransformParameterSpec flags 31
+
+class name javax/xml/crypto/dsig/spec/XPathFilterParameterSpec
+header extends java/lang/Object implements javax/xml/crypto/dsig/spec/TransformParameterSpec flags 31
+
+class name javax/xml/crypto/dsig/spec/XPathType
+header extends java/lang/Object nestMembers javax/xml/crypto/dsig/spec/XPathType$Filter flags 21
+innerclass innerClass javax/xml/crypto/dsig/spec/XPathType$Filter outerClass javax/xml/crypto/dsig/spec/XPathType innerClassName Filter flags 9
+
+class name javax/xml/crypto/dsig/spec/XPathType$Filter
+header extends java/lang/Object nestHost javax/xml/crypto/dsig/spec/XPathType flags 21
+innerclass innerClass javax/xml/crypto/dsig/spec/XPathType$Filter outerClass javax/xml/crypto/dsig/spec/XPathType innerClassName Filter flags 9
+
+class name javax/xml/crypto/dsig/spec/XSLTTransformParameterSpec
+header extends java/lang/Object implements javax/xml/crypto/dsig/spec/TransformParameterSpec flags 31
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.xml.ws-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,230 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+-module name java.xml.ws
+
+-class name javax/jws/HandlerChain
+
+-class name javax/jws/Oneway
+
+-class name javax/jws/WebMethod
+
+-class name javax/jws/WebParam
+
+-class name javax/jws/WebParam$Mode
+
+-class name javax/jws/WebResult
+
+-class name javax/jws/WebService
+
+-class name javax/jws/soap/InitParam
+
+-class name javax/jws/soap/SOAPBinding
+
+-class name javax/jws/soap/SOAPBinding$ParameterStyle
+
+-class name javax/jws/soap/SOAPBinding$Style
+
+-class name javax/jws/soap/SOAPBinding$Use
+
+-class name javax/jws/soap/SOAPMessageHandler
+
+-class name javax/jws/soap/SOAPMessageHandlers
+
+-class name javax/xml/soap/AttachmentPart
+
+-class name javax/xml/soap/Detail
+
+-class name javax/xml/soap/DetailEntry
+
+-class name javax/xml/soap/MessageFactory
+
+-class name javax/xml/soap/MimeHeader
+
+-class name javax/xml/soap/MimeHeaders
+
+-class name javax/xml/soap/Name
+
+-class name javax/xml/soap/Node
+
+-class name javax/xml/soap/SAAJMetaFactory
+
+-class name javax/xml/soap/SAAJResult
+
+-class name javax/xml/soap/SOAPBody
+
+-class name javax/xml/soap/SOAPBodyElement
+
+-class name javax/xml/soap/SOAPConnection
+
+-class name javax/xml/soap/SOAPConnectionFactory
+
+-class name javax/xml/soap/SOAPConstants
+
+-class name javax/xml/soap/SOAPElement
+
+-class name javax/xml/soap/SOAPElementFactory
+
+-class name javax/xml/soap/SOAPEnvelope
+
+-class name javax/xml/soap/SOAPException
+
+-class name javax/xml/soap/SOAPFactory
+
+-class name javax/xml/soap/SOAPFault
+
+-class name javax/xml/soap/SOAPFaultElement
+
+-class name javax/xml/soap/SOAPHeader
+
+-class name javax/xml/soap/SOAPHeaderElement
+
+-class name javax/xml/soap/SOAPMessage
+
+-class name javax/xml/soap/SOAPPart
+
+-class name javax/xml/soap/Text
+
+-class name javax/xml/ws/Action
+
+-class name javax/xml/ws/AsyncHandler
+
+-class name javax/xml/ws/Binding
+
+-class name javax/xml/ws/BindingProvider
+
+-class name javax/xml/ws/BindingType
+
+-class name javax/xml/ws/Dispatch
+
+-class name javax/xml/ws/Endpoint
+
+-class name javax/xml/ws/EndpointContext
+
+-class name javax/xml/ws/EndpointReference
+
+-class name javax/xml/ws/FaultAction
+
+-class name javax/xml/ws/Holder
+
+-class name javax/xml/ws/LogicalMessage
+
+-class name javax/xml/ws/ProtocolException
+
+-class name javax/xml/ws/Provider
+
+-class name javax/xml/ws/RequestWrapper
+
+-class name javax/xml/ws/RespectBinding
+
+-class name javax/xml/ws/RespectBindingFeature
+
+-class name javax/xml/ws/Response
+
+-class name javax/xml/ws/ResponseWrapper
+
+-class name javax/xml/ws/Service
+
+-class name javax/xml/ws/Service$Mode
+
+-class name javax/xml/ws/ServiceMode
+
+-class name javax/xml/ws/WebEndpoint
+
+-class name javax/xml/ws/WebFault
+
+-class name javax/xml/ws/WebServiceClient
+
+-class name javax/xml/ws/WebServiceContext
+
+-class name javax/xml/ws/WebServiceException
+
+-class name javax/xml/ws/WebServiceFeature
+
+-class name javax/xml/ws/WebServicePermission
+
+-class name javax/xml/ws/WebServiceProvider
+
+-class name javax/xml/ws/WebServiceRef
+
+-class name javax/xml/ws/WebServiceRefs
+
+-class name javax/xml/ws/handler/Handler
+
+-class name javax/xml/ws/handler/HandlerResolver
+
+-class name javax/xml/ws/handler/LogicalHandler
+
+-class name javax/xml/ws/handler/LogicalMessageContext
+
+-class name javax/xml/ws/handler/MessageContext
+
+-class name javax/xml/ws/handler/MessageContext$Scope
+
+-class name javax/xml/ws/handler/PortInfo
+
+-class name javax/xml/ws/handler/soap/SOAPHandler
+
+-class name javax/xml/ws/handler/soap/SOAPMessageContext
+
+-class name javax/xml/ws/http/HTTPBinding
+
+-class name javax/xml/ws/http/HTTPException
+
+-class name javax/xml/ws/soap/Addressing
+
+-class name javax/xml/ws/soap/AddressingFeature
+
+-class name javax/xml/ws/soap/AddressingFeature$Responses
+
+-class name javax/xml/ws/soap/MTOM
+
+-class name javax/xml/ws/soap/MTOMFeature
+
+-class name javax/xml/ws/soap/SOAPBinding
+
+-class name javax/xml/ws/soap/SOAPFaultException
+
+-class name javax/xml/ws/spi/Invoker
+
+-class name javax/xml/ws/spi/Provider
+
+-class name javax/xml/ws/spi/ServiceDelegate
+
+-class name javax/xml/ws/spi/WebServiceFeatureAnnotation
+
+-class name javax/xml/ws/spi/http/HttpContext
+
+-class name javax/xml/ws/spi/http/HttpExchange
+
+-class name javax/xml/ws/spi/http/HttpHandler
+
+-class name javax/xml/ws/wsaddressing/W3CEndpointReference
+
+-class name javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/java.xml.ws.annotation-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+-module name java.xml.ws.annotation
+
+-class name javax/annotation/Generated
+
+-class name javax/annotation/PostConstruct
+
+-class name javax/annotation/PreDestroy
+
+-class name javax/annotation/Resource
+
+-class name javax/annotation/Resource$AuthenticationType
+
+-class name javax/annotation/Resources
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.accessibility-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,47 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.accessibility
+header exports com/sun/java/accessibility/util requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.desktop\u0020;flags\u0020;20 target linux-amd64 flags 8000
+
+class name com/sun/java/accessibility/util/AccessibilityListenerList
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/java/accessibility/util/EventID
+header extends java/lang/Object flags 21
+
+class name com/sun/java/accessibility/util/GUIInitializedListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name com/sun/java/accessibility/util/TopLevelWindowListener
+header extends java/lang/Object implements java/util/EventListener flags 601
+
+class name com/sun/java/accessibility/util/Translator
+header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.attach-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,58 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.attach
+header exports com/sun/tools/attach,com/sun/tools/attach/spi requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.internal.jvmstat\u0020;flags\u0020;0 uses com/sun/tools/attach/spi/AttachProvider provides interface\u0020;com/sun/tools/attach/spi/AttachProvider\u0020;impls\u0020;sun/tools/attach/AttachProviderImpl target linux-amd64 flags 8000
+
+class name com/sun/tools/attach/AgentInitializationException
+header extends java/lang/Exception flags 21
+
+class name com/sun/tools/attach/AgentLoadException
+header extends java/lang/Exception flags 21
+
+class name com/sun/tools/attach/AttachNotSupportedException
+header extends java/lang/Exception flags 21
+
+class name com/sun/tools/attach/AttachOperationFailedException
+header extends java/io/IOException flags 21
+
+class name com/sun/tools/attach/AttachPermission
+header extends java/security/BasicPermission flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/tools/attach/VirtualMachine
+header extends java/lang/Object flags 421
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/tools/attach/VirtualMachineDescriptor
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/tools/attach/spi/AttachProvider
+header extends java/lang/Object flags 421
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.charsets-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.charsets
+header requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/nio/charset/spi/CharsetProvider\u0020;impls\u0020;sun/nio/cs/ext/ExtendedCharsets target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.compiler-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,432 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.compiler
+header exports com/sun/source/doctree,com/sun/source/tree,com/sun/source/util,com/sun/tools/javac requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.compiler\u0020;flags\u0020;20 uses javax/annotation/processing/Processor,com/sun/source/util/Plugin,com/sun/tools/javac/platform/PlatformProvider provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;com/sun/tools/javac/main/JavacToolProvider,interface\u0020;com/sun/tools/javac/platform/PlatformProvider\u0020;impls\u0020;com/sun/tools/javac/platform/JDKPlatformProvider,interface\u0020;javax/tools/JavaCompiler\u0020;impls\u0020;com/sun/tools/javac/api/JavacTool,interface\u0020;javax/tools/Tool\u0020;impls\u0020;com/sun/tools/javac/api/JavacTool target linux-amd64 flags 8000
+
+class name com/sun/source/doctree/AttributeTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree nestMembers com/sun/source/doctree/AttributeTree$ValueKind flags 601
+innerclass innerClass com/sun/source/doctree/AttributeTree$ValueKind outerClass com/sun/source/doctree/AttributeTree innerClassName ValueKind flags 4019
+
+class name com/sun/source/doctree/AttributeTree$ValueKind
+header extends java/lang/Enum nestHost com/sun/source/doctree/AttributeTree flags 4031 signature Ljava/lang/Enum<Lcom/sun/source/doctree/AttributeTree$ValueKind;>;
+innerclass innerClass com/sun/source/doctree/AttributeTree$ValueKind outerClass com/sun/source/doctree/AttributeTree innerClassName ValueKind flags 4019
+
+class name com/sun/source/doctree/AuthorTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/BlockTagTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/CommentTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/DeprecatedTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/DocCommentTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/DocRootTree
+header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601
+
+class name com/sun/source/doctree/DocTree
+header extends java/lang/Object nestMembers com/sun/source/doctree/DocTree$Kind flags 601
+innerclass innerClass com/sun/source/doctree/DocTree$Kind outerClass com/sun/source/doctree/DocTree innerClassName Kind flags 4019
+
+class name com/sun/source/doctree/DocTree$Kind
+header extends java/lang/Enum nestHost com/sun/source/doctree/DocTree flags 4031 signature Ljava/lang/Enum<Lcom/sun/source/doctree/DocTree$Kind;>;
+innerclass innerClass com/sun/source/doctree/DocTree$Kind outerClass com/sun/source/doctree/DocTree innerClassName Kind flags 4019
+
+class name com/sun/source/doctree/DocTreeVisitor
+header extends java/lang/Object flags 601 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name com/sun/source/doctree/DocTypeTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/EndElementTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/EntityTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/ErroneousTree
+header extends java/lang/Object implements com/sun/source/doctree/TextTree flags 601
+
+class name com/sun/source/doctree/HiddenTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/IdentifierTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/IndexTree
+header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601
+
+class name com/sun/source/doctree/InheritDocTree
+header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601
+
+class name com/sun/source/doctree/InlineTagTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/LinkTree
+header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601
+
+class name com/sun/source/doctree/LiteralTree
+header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601
+
+class name com/sun/source/doctree/ParamTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/ProvidesTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/ReferenceTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/ReturnTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/SeeTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/SerialDataTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/SerialFieldTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/SerialTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/SinceTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/StartElementTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/SummaryTree
+header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601
+
+class name com/sun/source/doctree/TextTree
+header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601
+
+class name com/sun/source/doctree/ThrowsTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/UnknownBlockTagTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/UnknownInlineTagTree
+header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601
+
+class name com/sun/source/doctree/UsesTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/doctree/ValueTree
+header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601
+
+class name com/sun/source/doctree/VersionTree
+header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601
+
+class name com/sun/source/tree/AnnotatedTypeTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/AnnotationTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/ArrayAccessTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/ArrayTypeTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/AssertTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/AssignmentTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/BinaryTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/BlockTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/BreakTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/CaseTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/CatchTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/ClassTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/CompilationUnitTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/CompoundAssignmentTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/ConditionalExpressionTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/ContinueTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/DirectiveTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/DoWhileLoopTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/EmptyStatementTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/EnhancedForLoopTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/ErroneousTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/ExportsTree
+header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601
+
+class name com/sun/source/tree/ExpressionStatementTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/ExpressionTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/ForLoopTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/IdentifierTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/IfTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/ImportTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/InstanceOfTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/IntersectionTypeTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/LabeledStatementTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/LambdaExpressionTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree nestMembers com/sun/source/tree/LambdaExpressionTree$BodyKind flags 601
+innerclass innerClass com/sun/source/tree/LambdaExpressionTree$BodyKind outerClass com/sun/source/tree/LambdaExpressionTree innerClassName BodyKind flags 4019
+
+class name com/sun/source/tree/LambdaExpressionTree$BodyKind
+header extends java/lang/Enum nestHost com/sun/source/tree/LambdaExpressionTree flags 4031 signature Ljava/lang/Enum<Lcom/sun/source/tree/LambdaExpressionTree$BodyKind;>;
+innerclass innerClass com/sun/source/tree/LambdaExpressionTree$BodyKind outerClass com/sun/source/tree/LambdaExpressionTree innerClassName BodyKind flags 4019
+
+class name com/sun/source/tree/LineMap
+header extends java/lang/Object flags 601
+
+class name com/sun/source/tree/LiteralTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/MemberReferenceTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree nestMembers com/sun/source/tree/MemberReferenceTree$ReferenceMode flags 601
+innerclass innerClass com/sun/source/tree/MemberReferenceTree$ReferenceMode outerClass com/sun/source/tree/MemberReferenceTree innerClassName ReferenceMode flags 4019
+
+class name com/sun/source/tree/MemberReferenceTree$ReferenceMode
+header extends java/lang/Enum nestHost com/sun/source/tree/MemberReferenceTree flags 4031 signature Ljava/lang/Enum<Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;>;
+innerclass innerClass com/sun/source/tree/MemberReferenceTree$ReferenceMode outerClass com/sun/source/tree/MemberReferenceTree innerClassName ReferenceMode flags 4019
+
+class name com/sun/source/tree/MemberSelectTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/MethodInvocationTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/MethodTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/ModifiersTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/ModuleTree
+header extends java/lang/Object implements com/sun/source/tree/Tree nestMembers com/sun/source/tree/ModuleTree$ModuleKind flags 601
+innerclass innerClass com/sun/source/tree/ModuleTree$ModuleKind outerClass com/sun/source/tree/ModuleTree innerClassName ModuleKind flags 4019
+
+class name com/sun/source/tree/ModuleTree$ModuleKind
+header extends java/lang/Enum nestHost com/sun/source/tree/ModuleTree flags 4031 signature Ljava/lang/Enum<Lcom/sun/source/tree/ModuleTree$ModuleKind;>;
+innerclass innerClass com/sun/source/tree/ModuleTree$ModuleKind outerClass com/sun/source/tree/ModuleTree innerClassName ModuleKind flags 4019
+
+class name com/sun/source/tree/NewArrayTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/NewClassTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/OpensTree
+header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601
+
+class name com/sun/source/tree/PackageTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/ParameterizedTypeTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/ParenthesizedTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/PrimitiveTypeTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/ProvidesTree
+header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601
+
+class name com/sun/source/tree/RequiresTree
+header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601
+
+class name com/sun/source/tree/ReturnTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/Scope
+header extends java/lang/Object flags 601
+
+class name com/sun/source/tree/StatementTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/SwitchTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/SynchronizedTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/ThrowTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/Tree
+header extends java/lang/Object nestMembers com/sun/source/tree/Tree$Kind flags 601
+innerclass innerClass com/sun/source/tree/Tree$Kind outerClass com/sun/source/tree/Tree innerClassName Kind flags 4019
+
+class name com/sun/source/tree/Tree$Kind
+header extends java/lang/Enum nestHost com/sun/source/tree/Tree flags 4031 signature Ljava/lang/Enum<Lcom/sun/source/tree/Tree$Kind;>;
+innerclass innerClass com/sun/source/tree/Tree$Kind outerClass com/sun/source/tree/Tree innerClassName Kind flags 4019
+
+class name com/sun/source/tree/TreeVisitor
+header extends java/lang/Object flags 601 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name com/sun/source/tree/TryTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/TypeCastTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/TypeParameterTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/UnaryTree
+header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
+
+class name com/sun/source/tree/UnionTypeTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/tree/UsesTree
+header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601
+
+class name com/sun/source/tree/VariableTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/WhileLoopTree
+header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
+
+class name com/sun/source/tree/WildcardTree
+header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
+
+class name com/sun/source/util/DocSourcePositions
+header extends java/lang/Object implements com/sun/source/util/SourcePositions flags 601
+
+class name com/sun/source/util/DocTreeFactory
+header extends java/lang/Object flags 601
+innerclass innerClass com/sun/source/doctree/AttributeTree$ValueKind outerClass com/sun/source/doctree/AttributeTree innerClassName ValueKind flags 4019
+
+class name com/sun/source/util/DocTreePathScanner
+header extends com/sun/source/util/DocTreeScanner flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Lcom/sun/source/util/DocTreeScanner<TR;TP;>;
+
+class name com/sun/source/util/DocTreeScanner
+header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor<TR;TP;>;
+
+class name com/sun/source/util/DocTrees
+header extends com/sun/source/util/Trees flags 421
+innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609
+innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
+
+class name com/sun/source/util/JavacTask
+header extends java/lang/Object implements javax/tools/JavaCompiler$CompilationTask flags 421
+innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609
+
+class name com/sun/source/util/Plugin
+header extends java/lang/Object flags 601
+
+class name com/sun/source/util/SimpleDocTreeVisitor
+header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor<TR;TP;>;
+
+class name com/sun/source/util/SimpleTreeVisitor
+header extends java/lang/Object implements com/sun/source/tree/TreeVisitor flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;Lcom/sun/source/tree/TreeVisitor<TR;TP;>;
+
+class name com/sun/source/util/SourcePositions
+header extends java/lang/Object flags 601
+
+class name com/sun/source/util/TaskEvent
+header extends java/lang/Object nestMembers com/sun/source/util/TaskEvent$Kind flags 31
+innerclass innerClass com/sun/source/util/TaskEvent$Kind outerClass com/sun/source/util/TaskEvent innerClassName Kind flags 4019
+
+class name com/sun/source/util/TaskEvent$Kind
+header extends java/lang/Enum nestHost com/sun/source/util/TaskEvent flags 4031 signature Ljava/lang/Enum<Lcom/sun/source/util/TaskEvent$Kind;>;
+innerclass innerClass com/sun/source/util/TaskEvent$Kind outerClass com/sun/source/util/TaskEvent innerClassName Kind flags 4019
+
+class name com/sun/source/util/TaskListener
+header extends java/lang/Object flags 601
+
+class name com/sun/source/util/TreePathScanner
+header extends com/sun/source/util/TreeScanner flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Lcom/sun/source/util/TreeScanner<TR;TP;>;
+
+class name com/sun/source/util/TreeScanner
+header extends java/lang/Object implements com/sun/source/tree/TreeVisitor flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;Lcom/sun/source/tree/TreeVisitor<TR;TP;>;
+
+class name com/sun/source/util/Trees
+header extends java/lang/Object flags 421
+innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609
+innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
+
+class name com/sun/tools/javac/Main
+header extends java/lang/Object flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.crypto.cryptoki-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.crypto.cryptoki
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.crypto.ec\u0020;flags\u0020;0 provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/pkcs11/SunPKCS11 target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.crypto.ec-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.crypto.ec
+header requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/ec/SunEC target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.dynalink-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,147 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.dynalink
+header exports jdk/dynalink,jdk/dynalink/beans,jdk/dynalink/linker,jdk/dynalink/linker/support,jdk/dynalink/support requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0 uses jdk/dynalink/linker/GuardingDynamicLinkerExporter target linux-amd64 flags 8000
+
+class name jdk/dynalink/CallSiteDescriptor
+header extends jdk/dynalink/SecureLookupSupplier flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/DynamicLinker
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609
+innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/NamedOperation
+header extends java/lang/Object implements jdk/dynalink/Operation flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/Namespace
+header extends java/lang/Object flags 601
+
+class name jdk/dynalink/NamespaceOperation
+header extends java/lang/Object implements jdk/dynalink/Operation flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/NoSuchDynamicMethodException
+header extends java/lang/RuntimeException flags 21
+
+class name jdk/dynalink/Operation
+header extends java/lang/Object flags 601
+
+class name jdk/dynalink/RelinkableCallSite
+header extends java/lang/Object flags 601
+
+class name jdk/dynalink/SecureLookupSupplier
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/StandardNamespace
+header extends java/lang/Enum implements jdk/dynalink/Namespace flags 4031 signature Ljava/lang/Enum<Ljdk/dynalink/StandardNamespace;>;Ljdk/dynalink/Namespace;
+
+class name jdk/dynalink/StandardOperation
+header extends java/lang/Enum implements jdk/dynalink/Operation flags 4031 signature Ljava/lang/Enum<Ljdk/dynalink/StandardOperation;>;Ljdk/dynalink/Operation;
+
+class name jdk/dynalink/beans/MissingMemberHandlerFactory
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name jdk/dynalink/linker/ConversionComparator
+header extends java/lang/Object nestMembers jdk/dynalink/linker/ConversionComparator$Comparison flags 601
+innerclass innerClass jdk/dynalink/linker/ConversionComparator$Comparison outerClass jdk/dynalink/linker/ConversionComparator innerClassName Comparison flags 4019
+
+class name jdk/dynalink/linker/ConversionComparator$Comparison
+header extends java/lang/Enum nestHost jdk/dynalink/linker/ConversionComparator flags 4031 signature Ljava/lang/Enum<Ljdk/dynalink/linker/ConversionComparator$Comparison;>;
+innerclass innerClass jdk/dynalink/linker/ConversionComparator$Comparison outerClass jdk/dynalink/linker/ConversionComparator innerClassName Comparison flags 4019
+
+class name jdk/dynalink/linker/GuardedInvocation
+header extends java/lang/Object flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/linker/GuardedInvocationTransformer
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name jdk/dynalink/linker/GuardingDynamicLinker
+header extends java/lang/Object flags 601
+
+class name jdk/dynalink/linker/GuardingDynamicLinkerExporter
+header extends java/lang/Object implements java/util/function/Supplier flags 421 signature Ljava/lang/Object;Ljava/util/function/Supplier<Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;>;
+
+class name jdk/dynalink/linker/GuardingTypeConverterFactory
+header extends java/lang/Object flags 601
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/linker/LinkRequest
+header extends java/lang/Object flags 601
+
+class name jdk/dynalink/linker/LinkerServices
+header extends java/lang/Object flags 601
+innerclass innerClass jdk/dynalink/linker/ConversionComparator$Comparison outerClass jdk/dynalink/linker/ConversionComparator innerClassName Comparison flags 4019
+
+class name jdk/dynalink/linker/MethodHandleTransformer
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name jdk/dynalink/linker/MethodTypeConversionStrategy
+header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;
+
+class name jdk/dynalink/linker/TypeBasedGuardingDynamicLinker
+header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 601
+
+class name jdk/dynalink/linker/support/CompositeGuardingDynamicLinker
+header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 21
+
+class name jdk/dynalink/linker/support/DefaultInternalObjectFilter
+header extends java/lang/Object implements jdk/dynalink/linker/MethodHandleTransformer flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/linker/support/Guards
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/linker/support/Lookup
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/linker/support/SimpleLinkRequest
+header extends java/lang/Object implements jdk/dynalink/linker/LinkRequest flags 21
+
+class name jdk/dynalink/linker/support/TypeUtilities
+header extends java/lang/Object flags 31
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name jdk/dynalink/support/AbstractRelinkableCallSite
+header extends java/lang/invoke/MutableCallSite implements jdk/dynalink/RelinkableCallSite flags 421
+
+class name jdk/dynalink/support/ChainedCallSite
+header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/dynalink/support/SimpleRelinkableCallSite
+header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.editpad-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.editpad
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.desktop\u0020;flags\u0020;0,name\u0020;jdk.internal.ed\u0020;flags\u0020;0 provides interface\u0020;jdk/internal/editor/spi/BuildInEditorProvider\u0020;impls\u0020;jdk/editpad/EditPadProvider target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.hotspot.agent-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.hotspot.agent
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.datatransfer\u0020;flags\u0020;0,name\u0020;java.desktop\u0020;flags\u0020;0,name\u0020;java.rmi\u0020;flags\u0020;0,name\u0020;java.scripting\u0020;flags\u0020;0 target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.httpserver-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,106 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.httpserver
+header exports com/sun/net/httpserver,com/sun/net/httpserver/spi requires name\u0020;java.base\u0020;flags\u0020;8000 uses com/sun/net/httpserver/spi/HttpServerProvider target linux-amd64 flags 8000
+
+class name com/sun/net/httpserver/Authenticator
+header extends java/lang/Object nestMembers com/sun/net/httpserver/Authenticator$Retry,com/sun/net/httpserver/Authenticator$Success,com/sun/net/httpserver/Authenticator$Failure,com/sun/net/httpserver/Authenticator$Result flags 421
+innerclass innerClass com/sun/net/httpserver/Authenticator$Retry outerClass com/sun/net/httpserver/Authenticator innerClassName Retry flags 9
+innerclass innerClass com/sun/net/httpserver/Authenticator$Success outerClass com/sun/net/httpserver/Authenticator innerClassName Success flags 9
+innerclass innerClass com/sun/net/httpserver/Authenticator$Failure outerClass com/sun/net/httpserver/Authenticator innerClassName Failure flags 9
+innerclass innerClass com/sun/net/httpserver/Authenticator$Result outerClass com/sun/net/httpserver/Authenticator innerClassName Result flags 409
+
+class name com/sun/net/httpserver/Authenticator$Failure
+header extends com/sun/net/httpserver/Authenticator$Result nestHost com/sun/net/httpserver/Authenticator flags 21
+innerclass innerClass com/sun/net/httpserver/Authenticator$Failure outerClass com/sun/net/httpserver/Authenticator innerClassName Failure flags 9
+innerclass innerClass com/sun/net/httpserver/Authenticator$Result outerClass com/sun/net/httpserver/Authenticator innerClassName Result flags 409
+
+class name com/sun/net/httpserver/Authenticator$Result
+header extends java/lang/Object nestHost com/sun/net/httpserver/Authenticator flags 421
+innerclass innerClass com/sun/net/httpserver/Authenticator$Result outerClass com/sun/net/httpserver/Authenticator innerClassName Result flags 409
+
+class name com/sun/net/httpserver/Authenticator$Retry
+header extends com/sun/net/httpserver/Authenticator$Result nestHost com/sun/net/httpserver/Authenticator flags 21
+innerclass innerClass com/sun/net/httpserver/Authenticator$Retry outerClass com/sun/net/httpserver/Authenticator innerClassName Retry flags 9
+innerclass innerClass com/sun/net/httpserver/Authenticator$Result outerClass com/sun/net/httpserver/Authenticator innerClassName Result flags 409
+
+class name com/sun/net/httpserver/Authenticator$Success
+header extends com/sun/net/httpserver/Authenticator$Result nestHost com/sun/net/httpserver/Authenticator flags 21
+innerclass innerClass com/sun/net/httpserver/Authenticator$Success outerClass com/sun/net/httpserver/Authenticator innerClassName Success flags 9
+innerclass innerClass com/sun/net/httpserver/Authenticator$Result outerClass com/sun/net/httpserver/Authenticator innerClassName Result flags 409
+
+class name com/sun/net/httpserver/BasicAuthenticator
+header extends com/sun/net/httpserver/Authenticator flags 421
+innerclass innerClass com/sun/net/httpserver/Authenticator$Result outerClass com/sun/net/httpserver/Authenticator innerClassName Result flags 409
+innerclass innerClass com/sun/net/httpserver/Authenticator$Retry outerClass com/sun/net/httpserver/Authenticator innerClassName Retry flags 9
+innerclass innerClass com/sun/net/httpserver/Authenticator$Failure outerClass com/sun/net/httpserver/Authenticator innerClassName Failure flags 9
+innerclass innerClass com/sun/net/httpserver/Authenticator$Success outerClass com/sun/net/httpserver/Authenticator innerClassName Success flags 9
+innerclass innerClass java/util/Base64$Decoder outerClass java/util/Base64 innerClassName Decoder flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/net/httpserver/Filter
+header extends java/lang/Object nestMembers com/sun/net/httpserver/Filter$Chain flags 421
+innerclass innerClass com/sun/net/httpserver/Filter$Chain outerClass com/sun/net/httpserver/Filter innerClassName Chain flags 9
+
+class name com/sun/net/httpserver/Filter$Chain
+header extends java/lang/Object nestHost com/sun/net/httpserver/Filter flags 21
+innerclass innerClass com/sun/net/httpserver/Filter$Chain outerClass com/sun/net/httpserver/Filter innerClassName Chain flags 9
+
+class name com/sun/net/httpserver/Headers
+header extends java/lang/Object implements java/util/Map flags 21 signature Ljava/lang/Object;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+
+class name com/sun/net/httpserver/HttpContext
+header extends java/lang/Object flags 421
+
+class name com/sun/net/httpserver/HttpExchange
+header extends java/lang/Object flags 421
+
+class name com/sun/net/httpserver/HttpHandler
+header extends java/lang/Object flags 601
+
+class name com/sun/net/httpserver/HttpPrincipal
+header extends java/lang/Object implements java/security/Principal flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/net/httpserver/HttpServer
+header extends java/lang/Object flags 421
+
+class name com/sun/net/httpserver/HttpsConfigurator
+header extends java/lang/Object flags 21
+
+class name com/sun/net/httpserver/HttpsExchange
+header extends com/sun/net/httpserver/HttpExchange flags 421
+
+class name com/sun/net/httpserver/HttpsParameters
+header extends java/lang/Object flags 421
+
+class name com/sun/net/httpserver/HttpsServer
+header extends com/sun/net/httpserver/HttpServer flags 421
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.incubator.httpclient-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,68 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+-module name jdk.incubator.httpclient
+
+-class name jdk/incubator/http/HttpClient
+
+-class name jdk/incubator/http/HttpClient$Builder
+
+-class name jdk/incubator/http/HttpClient$Redirect
+
+-class name jdk/incubator/http/HttpClient$Version
+
+-class name jdk/incubator/http/HttpHeaders
+
+-class name jdk/incubator/http/HttpRequest
+
+-class name jdk/incubator/http/HttpRequest$BodyPublisher
+
+-class name jdk/incubator/http/HttpRequest$Builder
+
+-class name jdk/incubator/http/HttpResponse
+
+-class name jdk/incubator/http/HttpResponse$BodyHandler
+
+-class name jdk/incubator/http/HttpResponse$BodySubscriber
+
+-class name jdk/incubator/http/HttpResponse$MultiSubscriber
+
+-class name jdk/incubator/http/HttpTimeoutException
+
+-class name jdk/incubator/http/MultiMapResult
+
+-class name jdk/incubator/http/WebSocket
+
+-class name jdk/incubator/http/WebSocket$Builder
+
+-class name jdk/incubator/http/WebSocket$Listener
+
+-class name jdk/incubator/http/WebSocket$MessagePart
+
+-class name jdk/incubator/http/WebSocketHandshakeException
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jartool-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jartool
+header exports com/sun/jarsigner,jdk/security/jarsigner requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;sun/tools/jar/JarToolProvider target linux-amd64 flags 8000
+
+class name com/sun/jarsigner/ContentSigner
+header extends java/lang/Object flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name com/sun/jarsigner/ContentSignerParameters
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
+
+class name jdk/security/jarsigner/JarSigner
+header extends java/lang/Object nestMembers jdk/security/jarsigner/JarSigner$Builder flags 31
+innerclass innerClass jdk/security/jarsigner/JarSigner$Builder outerClass jdk/security/jarsigner/JarSigner innerClassName Builder flags 9
+innerclass innerClass java/util/jar/Attributes$Name outerClass java/util/jar/Attributes innerClassName Name flags 9
+innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9
+
+class name jdk/security/jarsigner/JarSigner$Builder
+header extends java/lang/Object nestHost jdk/security/jarsigner/JarSigner flags 21
+innerclass innerClass java/security/KeyStore$PrivateKeyEntry outerClass java/security/KeyStore innerClassName PrivateKeyEntry flags 19
+innerclass innerClass jdk/security/jarsigner/JarSigner$Builder outerClass jdk/security/jarsigner/JarSigner innerClassName Builder flags 9
+
+class name jdk/security/jarsigner/JarSignerException
+header extends java/lang/RuntimeException flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.javadoc-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,170 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.javadoc
+header exports com/sun/javadoc,com/sun/tools/javadoc,jdk/javadoc/doclet requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.xml\u0020;flags\u0020;0,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;jdk.compiler\u0020;flags\u0020;20 provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;jdk/javadoc/internal/tool/JavadocToolProvider,interface\u0020;javax/tools/DocumentationTool\u0020;impls\u0020;jdk/javadoc/internal/api/JavadocTool,interface\u0020;javax/tools/Tool\u0020;impls\u0020;jdk/javadoc/internal/api/JavadocTool target linux-amd64 flags 8000
+
+class name com/sun/javadoc/AnnotatedType
+header extends java/lang/Object implements com/sun/javadoc/Type flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/AnnotationDesc
+header extends java/lang/Object nestMembers com/sun/javadoc/AnnotationDesc$ElementValuePair flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+innerclass innerClass com/sun/javadoc/AnnotationDesc$ElementValuePair outerClass com/sun/javadoc/AnnotationDesc innerClassName ElementValuePair flags 609
+
+class name com/sun/javadoc/AnnotationDesc$ElementValuePair
+header extends java/lang/Object nestHost com/sun/javadoc/AnnotationDesc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+innerclass innerClass com/sun/javadoc/AnnotationDesc$ElementValuePair outerClass com/sun/javadoc/AnnotationDesc innerClassName ElementValuePair flags 609
+
+class name com/sun/javadoc/AnnotationTypeDoc
+header extends java/lang/Object implements com/sun/javadoc/ClassDoc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/AnnotationTypeElementDoc
+header extends java/lang/Object implements com/sun/javadoc/MethodDoc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/AnnotationValue
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/ClassDoc
+header extends java/lang/Object implements com/sun/javadoc/ProgramElementDoc,com/sun/javadoc/Type flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+-method name importedClasses descriptor ()[Lcom/sun/javadoc/ClassDoc;
+-method name importedPackages descriptor ()[Lcom/sun/javadoc/PackageDoc;
+method name importedClasses descriptor ()[Lcom/sun/javadoc/ClassDoc; flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+method name importedPackages descriptor ()[Lcom/sun/javadoc/PackageDoc; flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/ConstructorDoc
+header extends java/lang/Object implements com/sun/javadoc/ExecutableMemberDoc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/Doc
+header extends java/lang/Object implements java/lang/Comparable flags 601 deprecated true signature Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/Object;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/DocErrorReporter
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/Doclet
+header extends java/lang/Object flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/ExecutableMemberDoc
+header extends java/lang/Object implements com/sun/javadoc/MemberDoc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/FieldDoc
+header extends java/lang/Object implements com/sun/javadoc/MemberDoc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/LanguageVersion
+header extends java/lang/Enum flags 4031 deprecated true signature Ljava/lang/Enum<Lcom/sun/javadoc/LanguageVersion;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/MemberDoc
+header extends java/lang/Object implements com/sun/javadoc/ProgramElementDoc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/MethodDoc
+header extends java/lang/Object implements com/sun/javadoc/ExecutableMemberDoc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/PackageDoc
+header extends java/lang/Object implements com/sun/javadoc/Doc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/ParamTag
+header extends java/lang/Object implements com/sun/javadoc/Tag flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/Parameter
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/ParameterizedType
+header extends java/lang/Object implements com/sun/javadoc/Type flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/ProgramElementDoc
+header extends java/lang/Object implements com/sun/javadoc/Doc flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/RootDoc
+header extends java/lang/Object implements com/sun/javadoc/Doc,com/sun/javadoc/DocErrorReporter flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/SeeTag
+header extends java/lang/Object implements com/sun/javadoc/Tag flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/SerialFieldTag
+header extends java/lang/Object implements com/sun/javadoc/Tag,java/lang/Comparable flags 601 deprecated true signature Ljava/lang/Object;Lcom/sun/javadoc/Tag;Ljava/lang/Comparable<Ljava/lang/Object;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/SourcePosition
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/Tag
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/ThrowsTag
+header extends java/lang/Object implements com/sun/javadoc/Tag flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/Type
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/TypeVariable
+header extends java/lang/Object implements com/sun/javadoc/Type flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/javadoc/WildcardType
+header extends java/lang/Object implements com/sun/javadoc/Type flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name com/sun/tools/javadoc/Main
+header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")
+
+class name jdk/javadoc/doclet/Doclet
+header extends java/lang/Object nestMembers jdk/javadoc/doclet/Doclet$Option,jdk/javadoc/doclet/Doclet$Option$Kind flags 601
+innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609
+innerclass innerClass jdk/javadoc/doclet/Doclet$Option$Kind outerClass jdk/javadoc/doclet/Doclet$Option innerClassName Kind flags 4019
+
+class name jdk/javadoc/doclet/Doclet$Option
+header extends java/lang/Object nestHost jdk/javadoc/doclet/Doclet flags 601
+innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609
+innerclass innerClass jdk/javadoc/doclet/Doclet$Option$Kind outerClass jdk/javadoc/doclet/Doclet$Option innerClassName Kind flags 4019
+
+class name jdk/javadoc/doclet/Doclet$Option$Kind
+header extends java/lang/Enum nestHost jdk/javadoc/doclet/Doclet flags 4031 signature Ljava/lang/Enum<Ljdk/javadoc/doclet/Doclet$Option$Kind;>;
+innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609
+innerclass innerClass jdk/javadoc/doclet/Doclet$Option$Kind outerClass jdk/javadoc/doclet/Doclet$Option innerClassName Kind flags 4019
+
+class name jdk/javadoc/doclet/DocletEnvironment
+header extends java/lang/Object nestMembers jdk/javadoc/doclet/DocletEnvironment$ModuleMode flags 601
+innerclass innerClass jdk/javadoc/doclet/DocletEnvironment$ModuleMode outerClass jdk/javadoc/doclet/DocletEnvironment innerClassName ModuleMode flags 4019
+innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019
+
+class name jdk/javadoc/doclet/DocletEnvironment$ModuleMode
+header extends java/lang/Enum nestHost jdk/javadoc/doclet/DocletEnvironment flags 4031 signature Ljava/lang/Enum<Ljdk/javadoc/doclet/DocletEnvironment$ModuleMode;>;
+innerclass innerClass jdk/javadoc/doclet/DocletEnvironment$ModuleMode outerClass jdk/javadoc/doclet/DocletEnvironment innerClassName ModuleMode flags 4019
+
+class name jdk/javadoc/doclet/Reporter
+header extends java/lang/Object flags 601
+innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
+
+class name jdk/javadoc/doclet/StandardDoclet
+header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21
+innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609
+
+class name jdk/javadoc/doclet/Taglet
+header extends java/lang/Object nestMembers jdk/javadoc/doclet/Taglet$Location flags 601
+innerclass innerClass jdk/javadoc/doclet/Taglet$Location outerClass jdk/javadoc/doclet/Taglet innerClassName Location flags 4019
+
+class name jdk/javadoc/doclet/Taglet$Location
+header extends java/lang/Enum nestHost jdk/javadoc/doclet/Taglet flags 4031 signature Ljava/lang/Enum<Ljdk/javadoc/doclet/Taglet$Location;>;
+innerclass innerClass jdk/javadoc/doclet/Taglet$Location outerClass jdk/javadoc/doclet/Taglet innerClassName Location flags 4019
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jcmd-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jcmd
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.attach\u0020;flags\u0020;0,name\u0020;jdk.internal.jvmstat\u0020;flags\u0020;0 target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jconsole-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jconsole
+header exports com/sun/tools/jconsole requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.management.rmi\u0020;flags\u0020;0,name\u0020;java.rmi\u0020;flags\u0020;0,name\u0020;jdk.attach\u0020;flags\u0020;0,name\u0020;jdk.internal.jvmstat\u0020;flags\u0020;0,name\u0020;jdk.management\u0020;flags\u0020;0,name\u0020;jdk.management.agent\u0020;flags\u0020;0,name\u0020;java.desktop\u0020;flags\u0020;20,name\u0020;java.management\u0020;flags\u0020;20 uses com/sun/tools/jconsole/JConsolePlugin target linux-amd64 flags 8000
+
+class name com/sun/tools/jconsole/JConsoleContext
+header extends java/lang/Object nestMembers com/sun/tools/jconsole/JConsoleContext$ConnectionState flags 601
+innerclass innerClass com/sun/tools/jconsole/JConsoleContext$ConnectionState outerClass com/sun/tools/jconsole/JConsoleContext innerClassName ConnectionState flags 4019
+
+class name com/sun/tools/jconsole/JConsoleContext$ConnectionState
+header extends java/lang/Enum nestHost com/sun/tools/jconsole/JConsoleContext flags 4031 signature Ljava/lang/Enum<Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;>;
+innerclass innerClass com/sun/tools/jconsole/JConsoleContext$ConnectionState outerClass com/sun/tools/jconsole/JConsoleContext innerClassName ConnectionState flags 4019
+
+class name com/sun/tools/jconsole/JConsolePlugin
+header extends java/lang/Object flags 421
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jdeps-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jdeps
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.compiler\u0020;flags\u0020;0,name\u0020;jdk.compiler\u0020;flags\u0020;0 provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;com/sun/tools/javap/Main$JavapToolProvider\u005C;u002C;com/sun/tools/jdeps/Main$JDepsToolProvider target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jdi-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,443 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jdi
+header exports com/sun/jdi,com/sun/jdi/connect,com/sun/jdi/connect/spi,com/sun/jdi/event,com/sun/jdi/request requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.attach\u0020;flags\u0020;0,name\u0020;jdk.jdwp.agent\u0020;flags\u0020;0 uses com/sun/jdi/connect/Connector,com/sun/jdi/connect/spi/TransportService provides interface\u0020;com/sun/jdi/connect/Connector\u0020;impls\u0020;com/sun/tools/jdi/ProcessAttachingConnector\u005C;u002C;com/sun/tools/jdi/RawCommandLineLauncher\u005C;u002C;com/sun/tools/jdi/SocketAttachingConnector\u005C;u002C;com/sun/tools/jdi/SocketListeningConnector\u005C;u002C;com/sun/tools/jdi/SunCommandLineLauncher target linux-amd64 flags 8000
+
+class name com/sun/jdi/AbsentInformationException
+header extends java/lang/Exception flags 21
+
+class name com/sun/jdi/Accessible
+header extends java/lang/Object flags 601
+
+class name com/sun/jdi/ArrayReference
+header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601
+
+class name com/sun/jdi/ArrayType
+header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601
+
+class name com/sun/jdi/BooleanType
+header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601
+
+class name com/sun/jdi/BooleanValue
+header extends java/lang/Object implements com/sun/jdi/PrimitiveValue flags 601
+
+class name com/sun/jdi/Bootstrap
+header extends java/lang/Object flags 21
+
+class name com/sun/jdi/ByteType
+header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601
+
+class name com/sun/jdi/ByteValue
+header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable<Lcom/sun/jdi/ByteValue;>;
+
+class name com/sun/jdi/CharType
+header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601
+
+class name com/sun/jdi/CharValue
+header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable<Lcom/sun/jdi/CharValue;>;
+
+class name com/sun/jdi/ClassLoaderReference
+header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601
+
+class name com/sun/jdi/ClassNotLoadedException
+header extends java/lang/Exception flags 21
+
+class name com/sun/jdi/ClassNotPreparedException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/ClassObjectReference
+header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601
+
+class name com/sun/jdi/ClassType
+header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601
+
+class name com/sun/jdi/DoubleType
+header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601
+
+class name com/sun/jdi/DoubleValue
+header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable<Lcom/sun/jdi/DoubleValue;>;
+
+class name com/sun/jdi/Field
+header extends java/lang/Object implements com/sun/jdi/TypeComponent,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Ljava/lang/Comparable<Lcom/sun/jdi/Field;>;
+
+class name com/sun/jdi/FloatType
+header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601
+
+class name com/sun/jdi/FloatValue
+header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable<Lcom/sun/jdi/FloatValue;>;
+
+class name com/sun/jdi/IncompatibleThreadStateException
+header extends java/lang/Exception flags 21
+
+class name com/sun/jdi/InconsistentDebugInfoException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/IntegerType
+header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601
+
+class name com/sun/jdi/IntegerValue
+header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable<Lcom/sun/jdi/IntegerValue;>;
+
+class name com/sun/jdi/InterfaceType
+header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601
+
+class name com/sun/jdi/InternalException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/InvalidCodeIndexException
+header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name com/sun/jdi/InvalidLineNumberException
+header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
+
+class name com/sun/jdi/InvalidModuleException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/InvalidStackFrameException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/InvalidTypeException
+header extends java/lang/Exception flags 21
+
+class name com/sun/jdi/InvocationException
+header extends java/lang/Exception flags 21
+
+class name com/sun/jdi/JDIPermission
+header extends java/security/BasicPermission flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/jdi/LocalVariable
+header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable<Lcom/sun/jdi/LocalVariable;>;
+
+class name com/sun/jdi/Locatable
+header extends java/lang/Object flags 601
+
+class name com/sun/jdi/Location
+header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable<Lcom/sun/jdi/Location;>;
+
+class name com/sun/jdi/LongType
+header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601
+
+class name com/sun/jdi/LongValue
+header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable<Lcom/sun/jdi/LongValue;>;
+
+class name com/sun/jdi/Method
+header extends java/lang/Object implements com/sun/jdi/TypeComponent,com/sun/jdi/Locatable,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Lcom/sun/jdi/Locatable;Ljava/lang/Comparable<Lcom/sun/jdi/Method;>;
+
+class name com/sun/jdi/Mirror
+header extends java/lang/Object flags 601
+
+class name com/sun/jdi/ModuleReference
+header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601
+
+class name com/sun/jdi/MonitorInfo
+header extends java/lang/Object implements com/sun/jdi/Mirror flags 601
+
+class name com/sun/jdi/NativeMethodException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/ObjectCollectedException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/ObjectReference
+header extends java/lang/Object implements com/sun/jdi/Value flags 601
+
+class name com/sun/jdi/PathSearchingVirtualMachine
+header extends java/lang/Object implements com/sun/jdi/VirtualMachine flags 601
+
+class name com/sun/jdi/PrimitiveType
+header extends java/lang/Object implements com/sun/jdi/Type flags 601
+
+class name com/sun/jdi/PrimitiveValue
+header extends java/lang/Object implements com/sun/jdi/Value flags 601
+
+class name com/sun/jdi/ReferenceType
+header extends java/lang/Object implements com/sun/jdi/Type,java/lang/Comparable,com/sun/jdi/Accessible flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Type;Ljava/lang/Comparable<Lcom/sun/jdi/ReferenceType;>;Lcom/sun/jdi/Accessible;
+
+class name com/sun/jdi/ShortType
+header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601
+
+class name com/sun/jdi/ShortValue
+header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable<Lcom/sun/jdi/ShortValue;>;
+
+class name com/sun/jdi/StackFrame
+header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Locatable flags 601
+
+class name com/sun/jdi/StringReference
+header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601
+
+class name com/sun/jdi/ThreadGroupReference
+header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601
+
+class name com/sun/jdi/ThreadReference
+header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601
+
+class name com/sun/jdi/Type
+header extends java/lang/Object implements com/sun/jdi/Mirror flags 601
+
+class name com/sun/jdi/TypeComponent
+header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Accessible flags 601
+
+class name com/sun/jdi/VMCannotBeModifiedException
+header extends java/lang/UnsupportedOperationException flags 21
+
+class name com/sun/jdi/VMDisconnectedException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/VMMismatchException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/VMOutOfMemoryException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/Value
+header extends java/lang/Object implements com/sun/jdi/Mirror flags 601
+
+class name com/sun/jdi/VirtualMachine
+header extends java/lang/Object implements com/sun/jdi/Mirror flags 601
+
+class name com/sun/jdi/VirtualMachineManager
+header extends java/lang/Object flags 601
+
+class name com/sun/jdi/VoidType
+header extends java/lang/Object implements com/sun/jdi/Type flags 601
+
+class name com/sun/jdi/VoidValue
+header extends java/lang/Object implements com/sun/jdi/Value flags 601
+
+class name com/sun/jdi/connect/AttachingConnector
+header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+
+class name com/sun/jdi/connect/Connector
+header extends java/lang/Object nestMembers com/sun/jdi/connect/Connector$SelectedArgument,com/sun/jdi/connect/Connector$StringArgument,com/sun/jdi/connect/Connector$IntegerArgument,com/sun/jdi/connect/Connector$BooleanArgument,com/sun/jdi/connect/Connector$Argument flags 601
+innerclass innerClass com/sun/jdi/connect/Connector$SelectedArgument outerClass com/sun/jdi/connect/Connector innerClassName SelectedArgument flags 609
+innerclass innerClass com/sun/jdi/connect/Connector$StringArgument outerClass com/sun/jdi/connect/Connector innerClassName StringArgument flags 609
+innerclass innerClass com/sun/jdi/connect/Connector$IntegerArgument outerClass com/sun/jdi/connect/Connector innerClassName IntegerArgument flags 609
+innerclass innerClass com/sun/jdi/connect/Connector$BooleanArgument outerClass com/sun/jdi/connect/Connector innerClassName BooleanArgument flags 609
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+
+class name com/sun/jdi/connect/Connector$Argument
+header extends java/lang/Object implements java/io/Serializable nestHost com/sun/jdi/connect/Connector flags 601
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+
+class name com/sun/jdi/connect/Connector$BooleanArgument
+header extends java/lang/Object implements com/sun/jdi/connect/Connector$Argument nestHost com/sun/jdi/connect/Connector flags 601
+innerclass innerClass com/sun/jdi/connect/Connector$BooleanArgument outerClass com/sun/jdi/connect/Connector innerClassName BooleanArgument flags 609
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+
+class name com/sun/jdi/connect/Connector$IntegerArgument
+header extends java/lang/Object implements com/sun/jdi/connect/Connector$Argument nestHost com/sun/jdi/connect/Connector flags 601
+innerclass innerClass com/sun/jdi/connect/Connector$IntegerArgument outerClass com/sun/jdi/connect/Connector innerClassName IntegerArgument flags 609
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+
+class name com/sun/jdi/connect/Connector$SelectedArgument
+header extends java/lang/Object implements com/sun/jdi/connect/Connector$Argument nestHost com/sun/jdi/connect/Connector flags 601
+innerclass innerClass com/sun/jdi/connect/Connector$SelectedArgument outerClass com/sun/jdi/connect/Connector innerClassName SelectedArgument flags 609
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+
+class name com/sun/jdi/connect/Connector$StringArgument
+header extends java/lang/Object implements com/sun/jdi/connect/Connector$Argument nestHost com/sun/jdi/connect/Connector flags 601
+innerclass innerClass com/sun/jdi/connect/Connector$StringArgument outerClass com/sun/jdi/connect/Connector innerClassName StringArgument flags 609
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+
+class name com/sun/jdi/connect/IllegalConnectorArgumentsException
+header extends java/lang/Exception flags 21
+
+class name com/sun/jdi/connect/LaunchingConnector
+header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+
+class name com/sun/jdi/connect/ListeningConnector
+header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+
+class name com/sun/jdi/connect/Transport
+header extends java/lang/Object flags 601
+
+class name com/sun/jdi/connect/TransportTimeoutException
+header extends java/io/IOException flags 21
+
+class name com/sun/jdi/connect/VMStartException
+header extends java/lang/Exception flags 21
+
+class name com/sun/jdi/connect/spi/ClosedConnectionException
+header extends java/io/IOException flags 21
+
+class name com/sun/jdi/connect/spi/Connection
+header extends java/lang/Object flags 421
+
+class name com/sun/jdi/connect/spi/TransportService
+header extends java/lang/Object nestMembers com/sun/jdi/connect/spi/TransportService$ListenKey,com/sun/jdi/connect/spi/TransportService$Capabilities flags 421
+innerclass innerClass com/sun/jdi/connect/spi/TransportService$ListenKey outerClass com/sun/jdi/connect/spi/TransportService innerClassName ListenKey flags 409
+innerclass innerClass com/sun/jdi/connect/spi/TransportService$Capabilities outerClass com/sun/jdi/connect/spi/TransportService innerClassName Capabilities flags 409
+
+class name com/sun/jdi/connect/spi/TransportService$Capabilities
+header extends java/lang/Object nestHost com/sun/jdi/connect/spi/TransportService flags 421
+innerclass innerClass com/sun/jdi/connect/spi/TransportService$Capabilities outerClass com/sun/jdi/connect/spi/TransportService innerClassName Capabilities flags 409
+
+class name com/sun/jdi/connect/spi/TransportService$ListenKey
+header extends java/lang/Object nestHost com/sun/jdi/connect/spi/TransportService flags 421
+innerclass innerClass com/sun/jdi/connect/spi/TransportService$ListenKey outerClass com/sun/jdi/connect/spi/TransportService innerClassName ListenKey flags 409
+
+class name com/sun/jdi/event/AccessWatchpointEvent
+header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601
+
+class name com/sun/jdi/event/BreakpointEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/event/ClassPrepareEvent
+header extends java/lang/Object implements com/sun/jdi/event/Event flags 601
+
+class name com/sun/jdi/event/ClassUnloadEvent
+header extends java/lang/Object implements com/sun/jdi/event/Event flags 601
+
+class name com/sun/jdi/event/Event
+header extends java/lang/Object implements com/sun/jdi/Mirror flags 601
+
+class name com/sun/jdi/event/EventIterator
+header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator<Lcom/sun/jdi/event/Event;>;
+
+class name com/sun/jdi/event/EventQueue
+header extends java/lang/Object implements com/sun/jdi/Mirror flags 601
+
+class name com/sun/jdi/event/EventSet
+header extends java/lang/Object implements com/sun/jdi/Mirror,java/util/Set flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/util/Set<Lcom/sun/jdi/event/Event;>;
+
+class name com/sun/jdi/event/ExceptionEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/event/LocatableEvent
+header extends java/lang/Object implements com/sun/jdi/event/Event,com/sun/jdi/Locatable flags 601
+
+class name com/sun/jdi/event/MethodEntryEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/event/MethodExitEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/event/ModificationWatchpointEvent
+header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601
+
+class name com/sun/jdi/event/MonitorContendedEnterEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/event/MonitorContendedEnteredEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/event/MonitorWaitEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/event/MonitorWaitedEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/event/StepEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/event/ThreadDeathEvent
+header extends java/lang/Object implements com/sun/jdi/event/Event flags 601
+
+class name com/sun/jdi/event/ThreadStartEvent
+header extends java/lang/Object implements com/sun/jdi/event/Event flags 601
+
+class name com/sun/jdi/event/VMDeathEvent
+header extends java/lang/Object implements com/sun/jdi/event/Event flags 601
+
+class name com/sun/jdi/event/VMDisconnectEvent
+header extends java/lang/Object implements com/sun/jdi/event/Event flags 601
+
+class name com/sun/jdi/event/VMStartEvent
+header extends java/lang/Object implements com/sun/jdi/event/Event flags 601
+
+class name com/sun/jdi/event/WatchpointEvent
+header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601
+
+class name com/sun/jdi/request/AccessWatchpointRequest
+header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601
+
+class name com/sun/jdi/request/BreakpointRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest,com/sun/jdi/Locatable flags 601
+
+class name com/sun/jdi/request/ClassPrepareRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/ClassUnloadRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/DuplicateRequestException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/request/EventRequest
+header extends java/lang/Object implements com/sun/jdi/Mirror flags 601
+
+class name com/sun/jdi/request/EventRequestManager
+header extends java/lang/Object implements com/sun/jdi/Mirror flags 601
+
+class name com/sun/jdi/request/ExceptionRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/InvalidRequestStateException
+header extends java/lang/RuntimeException flags 21
+
+class name com/sun/jdi/request/MethodEntryRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/MethodExitRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/ModificationWatchpointRequest
+header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601
+
+class name com/sun/jdi/request/MonitorContendedEnterRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/MonitorContendedEnteredRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/MonitorWaitRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/MonitorWaitedRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/StepRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/ThreadDeathRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/ThreadStartRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/VMDeathRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
+class name com/sun/jdi/request/WatchpointRequest
+header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jdwp.agent-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jdwp.agent
+header requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jfr-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,392 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jfr
+header exports jdk/jfr,jdk/jfr/consumer requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
+
+class name jdk/jfr/AnnotationElement
+header extends java/lang/Object flags 31
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+method name <init> descriptor (Ljava/lang/Class;Ljava/util/Map;)V flags 1 signature (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
+method name <init> descriptor (Ljava/lang/Class;Ljava/lang/Object;)V flags 1 signature (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Object;)V
+method name <init> descriptor (Ljava/lang/Class;)V flags 1 signature (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
+method name getValues descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljava/lang/Object;>;
+method name getValueDescriptors descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
+method name getAnnotationElements descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
+method name getTypeName descriptor ()Ljava/lang/String; flags 1
+method name getValue descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 1
+method name hasValue descriptor (Ljava/lang/String;)Z flags 1
+method name getAnnotation descriptor (Ljava/lang/Class;)Ljava/lang/Object; flags 11 signature <A:Ljava/lang/Object;>(Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)TA;
+method name getTypeId descriptor ()J flags 1
+
+class name jdk/jfr/BooleanFlag
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/ContentType;@Ljdk/jfr/Label;(value="Flag")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;})
+
+class name jdk/jfr/Category
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Inherited;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+method name value descriptor ()[Ljava/lang/String; flags 401
+
+class name jdk/jfr/Configuration
+header extends java/lang/Object flags 31
+method name getSettings descriptor ()Ljava/util/Map; flags 1 signature ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getLabel descriptor ()Ljava/lang/String; flags 1
+method name getDescription descriptor ()Ljava/lang/String; flags 1
+method name getProvider descriptor ()Ljava/lang/String; flags 1
+method name getContents descriptor ()Ljava/lang/String; flags 1
+method name create descriptor (Ljava/nio/file/Path;)Ljdk/jfr/Configuration; thrownTypes java/io/IOException,java/text/ParseException flags 9
+method name create descriptor (Ljava/io/Reader;)Ljdk/jfr/Configuration; thrownTypes java/io/IOException,java/text/ParseException flags 9
+method name getConfiguration descriptor (Ljava/lang/String;)Ljdk/jfr/Configuration; thrownTypes java/io/IOException,java/text/ParseException flags 9
+method name getConfigurations descriptor ()Ljava/util/List; flags 9 signature ()Ljava/util/List<Ljdk/jfr/Configuration;>;
+
+class name jdk/jfr/ContentType
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/Label;(value="Content\u005C;u0020;Type")@Ljdk/jfr/Description;(value="Semantic\u005C;u0020;meaning\u005C;u0020;of\u005C;u0020;a\u005C;u0020;value")@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;ANNOTATION_TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+
+class name jdk/jfr/DataAmount
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/ContentType;@Ljdk/jfr/Label;(value="Data\u005C;u0020;Amount")@Ljdk/jfr/Description;(value="Amount\u005C;u0020;of\u005C;u0020;data")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;})
+field name BITS descriptor Ljava/lang/String; constantValue BITS flags 19
+field name BYTES descriptor Ljava/lang/String; constantValue BYTES flags 19
+method name value descriptor ()Ljava/lang/String; annotationDefaultValue "BYTES" flags 401
+
+class name jdk/jfr/Description
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+method name value descriptor ()Ljava/lang/String; flags 401
+
+class name jdk/jfr/Enabled
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Inherited;@Ljdk/jfr/MetadataDefinition;
+field name NAME descriptor Ljava/lang/String; constantValue enabled flags 19
+method name value descriptor ()Z annotationDefaultValue Ztrue flags 401
+
+class name jdk/jfr/Event
+header extends java/lang/Object flags 421 runtimeAnnotations @Ljdk/jfr/Enabled;(value=Ztrue)@Ljdk/jfr/StackTrace;(value=Ztrue)@Ljdk/jfr/Registered;(value=Ztrue)
+method name <init> descriptor ()V flags 4
+method name begin descriptor ()V flags 11
+method name end descriptor ()V flags 11
+method name commit descriptor ()V flags 11
+method name isEnabled descriptor ()Z flags 11
+method name shouldCommit descriptor ()Z flags 11
+method name set descriptor (ILjava/lang/Object;)V flags 11
+
+class name jdk/jfr/EventFactory
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name create descriptor (Ljava/util/List;Ljava/util/List;)Ljdk/jfr/EventFactory; flags 9 signature (Ljava/util/List<Ljdk/jfr/AnnotationElement;>;Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;)Ljdk/jfr/EventFactory;
+method name newEvent descriptor ()Ljdk/jfr/Event; flags 1
+method name getEventType descriptor ()Ljdk/jfr/EventType; flags 1
+method name register descriptor ()V flags 1
+method name unregister descriptor ()V flags 1
+
+class name jdk/jfr/EventSettings
+header extends java/lang/Object flags 421
+method name withStackTrace descriptor ()Ljdk/jfr/EventSettings; flags 11
+method name withoutStackTrace descriptor ()Ljdk/jfr/EventSettings; flags 11
+method name withoutThreshold descriptor ()Ljdk/jfr/EventSettings; flags 11
+method name withPeriod descriptor (Ljava/time/Duration;)Ljdk/jfr/EventSettings; flags 11
+method name withThreshold descriptor (Ljava/time/Duration;)Ljdk/jfr/EventSettings; flags 11
+method name with descriptor (Ljava/lang/String;Ljava/lang/String;)Ljdk/jfr/EventSettings; flags 401
+
+class name jdk/jfr/EventType
+header extends java/lang/Object flags 31
+method name getFields descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
+method name getField descriptor (Ljava/lang/String;)Ljdk/jfr/ValueDescriptor; flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getLabel descriptor ()Ljava/lang/String; flags 1
+method name getId descriptor ()J flags 1
+method name getAnnotationElements descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
+method name isEnabled descriptor ()Z flags 1
+method name getDescription descriptor ()Ljava/lang/String; flags 1
+method name getAnnotation descriptor (Ljava/lang/Class;)Ljava/lang/annotation/Annotation; flags 1 signature <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
+method name getEventType descriptor (Ljava/lang/Class;)Ljdk/jfr/EventType; flags 9 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;)Ljdk/jfr/EventType;
+method name getSettingDescriptors descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/SettingDescriptor;>;
+method name getCategoryNames descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljava/lang/String;>;
+
+class name jdk/jfr/Experimental
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/Label;(value="Experimental")@Ljdk/jfr/Description;(value="Element\u005C;u0020;is\u005C;u0020;not\u005C;u0020;to\u005C;u0020;be\u005C;u0020;shown\u005C;u0020;to\u005C;u0020;a\u005C;u0020;user\u005C;u0020;by\u005C;u0020;default")@Ljava/lang/annotation/Inherited;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;TYPE;})
+
+class name jdk/jfr/FlightRecorder
+header extends java/lang/Object flags 31
+method name getRecordings descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/Recording;>;
+method name takeSnapshot descriptor ()Ljdk/jfr/Recording; flags 1
+method name register descriptor (Ljava/lang/Class;)V flags 9 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;)V
+method name unregister descriptor (Ljava/lang/Class;)V flags 9 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;)V
+method name getFlightRecorder descriptor ()Ljdk/jfr/FlightRecorder; thrownTypes java/lang/IllegalStateException,java/lang/SecurityException flags 9
+method name addPeriodicEvent descriptor (Ljava/lang/Class;Ljava/lang/Runnable;)V thrownTypes java/lang/SecurityException flags 9 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;Ljava/lang/Runnable;)V
+method name removePeriodicEvent descriptor (Ljava/lang/Runnable;)Z thrownTypes java/lang/SecurityException flags 9
+method name getEventTypes descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/EventType;>;
+method name addListener descriptor (Ljdk/jfr/FlightRecorderListener;)V flags 9
+method name removeListener descriptor (Ljdk/jfr/FlightRecorderListener;)Z flags 9
+method name isAvailable descriptor ()Z flags 9
+method name isInitialized descriptor ()Z flags 9
+
+class name jdk/jfr/FlightRecorderListener
+header extends java/lang/Object flags 601
+method name recorderInitialized descriptor (Ljdk/jfr/FlightRecorder;)V flags 1
+method name recordingStateChanged descriptor (Ljdk/jfr/Recording;)V flags 1
+
+class name jdk/jfr/FlightRecorderPermission
+header extends java/security/BasicPermission flags 31
+method name <init> descriptor (Ljava/lang/String;)V flags 1
+
+class name jdk/jfr/Frequency
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/ContentType;@Ljdk/jfr/Label;(value="Frequency")@Ljdk/jfr/Description;(value="Measure\u005C;u0020;of\u005C;u0020;how\u005C;u0020;often\u005C;u0020;something\u005C;u0020;occurs,\u005C;u0020;in\u005C;u0020;Hertz")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;METHOD;})
+
+class name jdk/jfr/Label
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+method name value descriptor ()Ljava/lang/String; flags 401
+
+class name jdk/jfr/MemoryAddress
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/ContentType;@Ljdk/jfr/Label;(value="Memory\u005C;u0020;Address")@Ljdk/jfr/Description;(value="Represents\u005C;u0020;a\u005C;u0020;physical\u005C;u0020;memory\u005C;u0020;address")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;})
+
+class name jdk/jfr/MetadataDefinition
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})
+
+class name jdk/jfr/Name
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljdk/jfr/MetadataDefinition;
+method name value descriptor ()Ljava/lang/String; flags 401
+
+class name jdk/jfr/Percentage
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/ContentType;@Ljdk/jfr/Label;(value="Percentage")@Ljdk/jfr/Description;(value="Percentage,\u005C;u0020;represented\u005C;u0020;as\u005C;u0020;a\u005C;u0020;number\u005C;u0020;between\u005C;u0020;0\u005C;u0020;and\u005C;u0020;1")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;})
+
+class name jdk/jfr/Period
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Inherited;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})
+field name NAME descriptor Ljava/lang/String; constantValue period flags 19
+method name value descriptor ()Ljava/lang/String; annotationDefaultValue "everyChunk" flags 401
+
+class name jdk/jfr/Recording
+header extends java/lang/Object implements java/io/Closeable flags 31
+method name <init> descriptor (Ljava/util/Map;)V flags 1 signature (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
+method name <init> descriptor ()V flags 1
+method name <init> descriptor (Ljdk/jfr/Configuration;)V flags 1
+method name start descriptor ()V flags 1
+method name scheduleStart descriptor (Ljava/time/Duration;)V flags 1
+method name stop descriptor ()Z flags 1
+method name getSettings descriptor ()Ljava/util/Map; flags 1 signature ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
+method name getSize descriptor ()J flags 1
+method name getStopTime descriptor ()Ljava/time/Instant; flags 1
+method name getStartTime descriptor ()Ljava/time/Instant; flags 1
+method name getMaxSize descriptor ()J flags 1
+method name getMaxAge descriptor ()Ljava/time/Duration; flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name setSettings descriptor (Ljava/util/Map;)V flags 1 signature (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
+method name getState descriptor ()Ljdk/jfr/RecordingState; flags 1
+method name close descriptor ()V flags 1
+method name copy descriptor (Z)Ljdk/jfr/Recording; flags 1
+method name dump descriptor (Ljava/nio/file/Path;)V thrownTypes java/io/IOException flags 1
+method name isToDisk descriptor ()Z flags 1
+method name setMaxSize descriptor (J)V flags 1
+method name setMaxAge descriptor (Ljava/time/Duration;)V flags 1
+method name setDestination descriptor (Ljava/nio/file/Path;)V thrownTypes java/io/IOException flags 1
+method name getDestination descriptor ()Ljava/nio/file/Path; flags 1
+method name getId descriptor ()J flags 1
+method name setName descriptor (Ljava/lang/String;)V flags 1
+method name setDumpOnExit descriptor (Z)V flags 1
+method name getDumpOnExit descriptor ()Z flags 1
+method name setToDisk descriptor (Z)V flags 1
+method name getStream descriptor (Ljava/time/Instant;Ljava/time/Instant;)Ljava/io/InputStream; thrownTypes java/io/IOException flags 1
+method name getDuration descriptor ()Ljava/time/Duration; flags 1
+method name setDuration descriptor (Ljava/time/Duration;)V flags 1
+method name enable descriptor (Ljava/lang/String;)Ljdk/jfr/EventSettings; flags 1
+method name disable descriptor (Ljava/lang/String;)Ljdk/jfr/EventSettings; flags 1
+method name enable descriptor (Ljava/lang/Class;)Ljdk/jfr/EventSettings; flags 1 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;)Ljdk/jfr/EventSettings;
+method name disable descriptor (Ljava/lang/Class;)Ljdk/jfr/EventSettings; flags 1 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;)Ljdk/jfr/EventSettings;
+
+class name jdk/jfr/RecordingState
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Ljdk/jfr/RecordingState;>;
+field name NEW descriptor Ljdk/jfr/RecordingState; flags 4019
+field name DELAYED descriptor Ljdk/jfr/RecordingState; flags 4019
+field name RUNNING descriptor Ljdk/jfr/RecordingState; flags 4019
+field name STOPPED descriptor Ljdk/jfr/RecordingState; flags 4019
+field name CLOSED descriptor Ljdk/jfr/RecordingState; flags 4019
+method name values descriptor ()[Ljdk/jfr/RecordingState; flags 9
+method name valueOf descriptor (Ljava/lang/String;)Ljdk/jfr/RecordingState; flags 9
+
+class name jdk/jfr/Registered
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Inherited;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+method name value descriptor ()Z annotationDefaultValue Ztrue flags 401
+
+class name jdk/jfr/Relational
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/Label;(value="Relation")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;ANNOTATION_TYPE;})
+
+class name jdk/jfr/SettingControl
+header extends jdk/jfr/internal/Control flags 421 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;
+method name <init> descriptor ()V flags 4
+method name combine descriptor (Ljava/util/Set;)Ljava/lang/String; flags 401 signature (Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
+method name setValue descriptor (Ljava/lang/String;)V flags 401
+method name getValue descriptor ()Ljava/lang/String; flags 401
+
+class name jdk/jfr/SettingDefinition
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})
+
+class name jdk/jfr/SettingDescriptor
+header extends java/lang/Object flags 31
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getLabel descriptor ()Ljava/lang/String; flags 1
+method name getDescription descriptor ()Ljava/lang/String; flags 1
+method name getContentType descriptor ()Ljava/lang/String; flags 1
+method name getTypeName descriptor ()Ljava/lang/String; flags 1
+method name getTypeId descriptor ()J flags 1
+method name getAnnotation descriptor (Ljava/lang/Class;)Ljava/lang/annotation/Annotation; flags 1 signature <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
+method name getAnnotationElements descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
+method name getDefaultValue descriptor ()Ljava/lang/String; flags 1
+
+class name jdk/jfr/StackTrace
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Inherited;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+field name NAME descriptor Ljava/lang/String; constantValue stackTrace flags 19
+method name value descriptor ()Z annotationDefaultValue Ztrue flags 401
+
+class name jdk/jfr/Threshold
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Inherited;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)
+field name NAME descriptor Ljava/lang/String; constantValue threshold flags 19
+method name value descriptor ()Ljava/lang/String; annotationDefaultValue "0\u005C;u0020;ns" flags 401
+
+class name jdk/jfr/Timespan
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/ContentType;@Ljdk/jfr/Label;(value="Timespan")@Ljdk/jfr/Description;(value="A\u005C;u0020;duration,\u005C;u0020;measured\u005C;u0020;in\u005C;u0020;nanoseconds\u005C;u0020;by\u005C;u0020;default")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;})
+field name TICKS descriptor Ljava/lang/String; constantValue TICKS flags 19
+field name SECONDS descriptor Ljava/lang/String; constantValue SECONDS flags 19
+field name MILLISECONDS descriptor Ljava/lang/String; constantValue MILLISECONDS flags 19
+field name NANOSECONDS descriptor Ljava/lang/String; constantValue NANOSECONDS flags 19
+field name MICROSECONDS descriptor Ljava/lang/String; constantValue MICROSECONDS flags 19
+method name value descriptor ()Ljava/lang/String; annotationDefaultValue "NANOSECONDS" flags 401
+
+class name jdk/jfr/Timestamp
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/ContentType;@Ljdk/jfr/Label;(value="Timestamp")@Ljdk/jfr/Description;(value="A\u005C;u0020;point\u005C;u0020;in\u005C;u0020;time")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;})
+field name MILLISECONDS_SINCE_EPOCH descriptor Ljava/lang/String; constantValue MILLISECONDS_SINCE_EPOCH flags 19
+field name TICKS descriptor Ljava/lang/String; constantValue TICKS flags 19
+method name value descriptor ()Ljava/lang/String; annotationDefaultValue "MILLISECONDS_SINCE_EPOCH" flags 401
+
+class name jdk/jfr/TransitionFrom
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/Label;(value="Transition\u005C;u0020;From")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;})
+
+class name jdk/jfr/TransitionTo
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/Label;(value="Transition\u005C;u0020;To")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;})
+
+class name jdk/jfr/Unsigned
+header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;@Ljdk/jfr/ContentType;@Ljdk/jfr/Label;(value="Unsigned\u005C;u0020;Value")@Ljdk/jfr/Description;(value="Value\u005C;u0020;should\u005C;u0020;be\u005C;u0020;interpreted\u005C;u0020;as\u005C;u0020;unsigned\u005C;u0020;data\u005C;u0020;type")@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;TYPE;})
+
+class name jdk/jfr/ValueDescriptor
+header extends java/lang/Object flags 31
+method name <init> descriptor (Ljava/lang/Class;Ljava/lang/String;)V flags 1 signature (Ljava/lang/Class<*>;Ljava/lang/String;)V
+method name <init> descriptor (Ljava/lang/Class;Ljava/lang/String;Ljava/util/List;)V flags 1 signature (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/util/List<Ljdk/jfr/AnnotationElement;>;)V
+method name getLabel descriptor ()Ljava/lang/String; flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getDescription descriptor ()Ljava/lang/String; flags 1
+method name getContentType descriptor ()Ljava/lang/String; flags 1
+method name getTypeName descriptor ()Ljava/lang/String; flags 1
+method name getTypeId descriptor ()J flags 1
+method name isArray descriptor ()Z flags 1
+method name getAnnotation descriptor (Ljava/lang/Class;)Ljava/lang/annotation/Annotation; flags 1 signature <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
+method name getAnnotationElements descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
+method name getFields descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
+
+class name jdk/jfr/consumer/RecordedClass
+header extends jdk/jfr/consumer/RecordedObject flags 31
+method name getModifiers descriptor ()I flags 1
+method name getClassLoader descriptor ()Ljdk/jfr/consumer/RecordedClassLoader; flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getId descriptor ()J flags 1
+
+class name jdk/jfr/consumer/RecordedClassLoader
+header extends jdk/jfr/consumer/RecordedObject flags 31
+method name getType descriptor ()Ljdk/jfr/consumer/RecordedClass; flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getId descriptor ()J flags 1
+
+class name jdk/jfr/consumer/RecordedEvent
+header extends jdk/jfr/consumer/RecordedObject flags 31
+method name getStackTrace descriptor ()Ljdk/jfr/consumer/RecordedStackTrace; flags 1
+method name getThread descriptor ()Ljdk/jfr/consumer/RecordedThread; flags 1
+method name getEventType descriptor ()Ljdk/jfr/EventType; flags 1
+method name getStartTime descriptor ()Ljava/time/Instant; flags 1
+method name getEndTime descriptor ()Ljava/time/Instant; flags 1
+method name getDuration descriptor ()Ljava/time/Duration; flags 1
+method name getFields descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
+
+class name jdk/jfr/consumer/RecordedFrame
+header extends jdk/jfr/consumer/RecordedObject flags 31
+method name isJavaFrame descriptor ()Z flags 1
+method name getBytecodeIndex descriptor ()I flags 1
+method name getLineNumber descriptor ()I flags 1
+method name getType descriptor ()Ljava/lang/String; flags 1
+method name getMethod descriptor ()Ljdk/jfr/consumer/RecordedMethod; flags 1
+
+class name jdk/jfr/consumer/RecordedMethod
+header extends jdk/jfr/consumer/RecordedObject flags 31
+method name getType descriptor ()Ljdk/jfr/consumer/RecordedClass; flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getDescriptor descriptor ()Ljava/lang/String; flags 1
+method name getModifiers descriptor ()I flags 1
+method name isHidden descriptor ()Z flags 1
+
+class name jdk/jfr/consumer/RecordedObject
+header extends java/lang/Object flags 21
+method name hasField descriptor (Ljava/lang/String;)Z flags 1
+method name getValue descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 11 signature <T:Ljava/lang/Object;>(Ljava/lang/String;)TT;
+method name getFields descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
+method name getBoolean descriptor (Ljava/lang/String;)Z flags 11
+method name getByte descriptor (Ljava/lang/String;)B flags 11
+method name getChar descriptor (Ljava/lang/String;)C flags 11
+method name getShort descriptor (Ljava/lang/String;)S flags 11
+method name getInt descriptor (Ljava/lang/String;)I flags 11
+method name getFloat descriptor (Ljava/lang/String;)F flags 11
+method name getLong descriptor (Ljava/lang/String;)J flags 11
+method name getDouble descriptor (Ljava/lang/String;)D flags 11
+method name getString descriptor (Ljava/lang/String;)Ljava/lang/String; flags 11
+method name getDuration descriptor (Ljava/lang/String;)Ljava/time/Duration; flags 11
+method name getInstant descriptor (Ljava/lang/String;)Ljava/time/Instant; flags 11
+method name getClass descriptor (Ljava/lang/String;)Ljdk/jfr/consumer/RecordedClass; flags 11
+method name getThread descriptor (Ljava/lang/String;)Ljdk/jfr/consumer/RecordedThread; flags 11
+method name toString descriptor ()Ljava/lang/String; flags 11
+
+class name jdk/jfr/consumer/RecordedStackTrace
+header extends jdk/jfr/consumer/RecordedObject flags 31
+method name getFrames descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/jfr/consumer/RecordedFrame;>;
+method name isTruncated descriptor ()Z flags 1
+
+class name jdk/jfr/consumer/RecordedThread
+header extends jdk/jfr/consumer/RecordedObject flags 31
+method name getOSName descriptor ()Ljava/lang/String; flags 1
+method name getOSThreadId descriptor ()J flags 1
+method name getThreadGroup descriptor ()Ljdk/jfr/consumer/RecordedThreadGroup; flags 1
+method name getJavaName descriptor ()Ljava/lang/String; flags 1
+method name getJavaThreadId descriptor ()J flags 1
+method name getId descriptor ()J flags 1
+
+class name jdk/jfr/consumer/RecordedThreadGroup
+header extends jdk/jfr/consumer/RecordedObject flags 31
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getParent descriptor ()Ljdk/jfr/consumer/RecordedThreadGroup; flags 1
+
+class name jdk/jfr/consumer/RecordingFile
+header extends java/lang/Object implements java/io/Closeable flags 31
+method name <init> descriptor (Ljava/nio/file/Path;)V thrownTypes java/io/IOException flags 1
+method name readEvent descriptor ()Ljdk/jfr/consumer/RecordedEvent; thrownTypes java/io/IOException flags 1
+method name hasMoreEvents descriptor ()Z flags 1
+method name readEventTypes descriptor ()Ljava/util/List; thrownTypes java/io/IOException flags 1 signature ()Ljava/util/List<Ljdk/jfr/EventType;>;
+method name close descriptor ()V thrownTypes java/io/IOException flags 1
+method name readAllEvents descriptor (Ljava/nio/file/Path;)Ljava/util/List; thrownTypes java/io/IOException flags 9 signature (Ljava/nio/file/Path;)Ljava/util/List<Ljdk/jfr/consumer/RecordedEvent;>;
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jlink-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jlink
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.internal.opt\u0020;flags\u0020;0,name\u0020;jdk.jdeps\u0020;flags\u0020;0 uses jdk/tools/jlink/plugin/Plugin provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;jdk/tools/jmod/Main$JmodToolProvider\u005C;u002C;jdk/tools/jlink/internal/Main$JlinkToolProvider,interface\u0020;jdk/tools/jlink/plugin/Plugin\u0020;impls\u0020;jdk/tools/jlink/internal/plugins/StripDebugPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludePlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludeFilesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludeJmodSectionPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/LegalNoticeFilePlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/SystemModulesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/StripNativeCommandsPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/OrderResourcesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/DefaultCompressPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludeVMPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ReleaseInfoPlugin target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jshell-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,310 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jshell
+header exports jdk/jshell,jdk/jshell/execution,jdk/jshell/spi,jdk/jshell/tool requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0,name\u0020;jdk.compiler\u0020;flags\u0020;0,name\u0020;jdk.internal.ed\u0020;flags\u0020;0,name\u0020;jdk.internal.le\u0020;flags\u0020;0,name\u0020;jdk.internal.opt\u0020;flags\u0020;0,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;java.prefs\u0020;flags\u0020;20,name\u0020;jdk.jdi\u0020;flags\u0020;20 uses jdk/jshell/spi/ExecutionControlProvider,jdk/internal/editor/spi/BuildInEditorProvider provides interface\u0020;javax/tools/Tool\u0020;impls\u0020;jdk/internal/jshell/tool/JShellToolProvider,interface\u0020;jdk/jshell/spi/ExecutionControlProvider\u0020;impls\u0020;jdk/jshell/execution/JdiExecutionControlProvider\u005C;u002C;jdk/jshell/execution/LocalExecutionControlProvider\u005C;u002C;jdk/jshell/execution/FailOverExecutionControlProvider target linux-amd64 flags 8000
+
+class name jdk/jshell/DeclarationSnippet
+header extends jdk/jshell/PersistentSnippet flags 421
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/Diag
+header extends java/lang/Object flags 421
+
+class name jdk/jshell/ErroneousSnippet
+header extends jdk/jshell/Snippet flags 21
+innerclass innerClass jdk/jshell/Snippet$Kind outerClass jdk/jshell/Snippet innerClassName Kind flags 4019
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+
+class name jdk/jshell/EvalException
+header extends jdk/jshell/JShellException flags 21
+method name getCause descriptor ()Ljdk/jshell/JShellException; flags 1
+method name getCause descriptor ()Ljava/lang/Throwable; flags 1041
+
+class name jdk/jshell/ExpressionSnippet
+header extends jdk/jshell/Snippet flags 21
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+
+class name jdk/jshell/ImportSnippet
+header extends jdk/jshell/PersistentSnippet flags 21
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+
+class name jdk/jshell/JShell
+header extends java/lang/Object implements java/lang/AutoCloseable nestMembers jdk/jshell/JShell$Subscription,jdk/jshell/JShell$Builder flags 21
+innerclass innerClass jdk/jshell/JShell$Subscription outerClass jdk/jshell/JShell innerClassName Subscription flags 1
+innerclass innerClass jdk/jshell/JShell$Builder outerClass jdk/jshell/JShell innerClassName Builder flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ExecutionControlException outerClass jdk/jshell/spi/ExecutionControl innerClassName ExecutionControlException flags 409
+innerclass innerClass jdk/jshell/Snippet$Status outerClass jdk/jshell/Snippet innerClassName Status flags 4019
+innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9
+innerclass innerClass jdk/jshell/Snippet$Kind outerClass jdk/jshell/Snippet innerClassName Kind flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/JShell$Builder
+header extends java/lang/Object nestHost jdk/jshell/JShell flags 21
+innerclass innerClass jdk/jshell/JShell$Builder outerClass jdk/jshell/JShell innerClassName Builder flags 9
+
+class name jdk/jshell/JShell$Subscription
+header extends java/lang/Object nestHost jdk/jshell/JShell flags 21
+innerclass innerClass jdk/jshell/JShell$Subscription outerClass jdk/jshell/JShell innerClassName Subscription flags 1
+
+class name jdk/jshell/JShellException
+header extends java/lang/Exception flags 21
+
+class name jdk/jshell/MethodSnippet
+header extends jdk/jshell/DeclarationSnippet flags 21
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+
+class name jdk/jshell/PersistentSnippet
+header extends jdk/jshell/Snippet flags 421
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+
+class name jdk/jshell/Snippet
+header extends java/lang/Object nestMembers jdk/jshell/Snippet$Status,jdk/jshell/Snippet$SubKind,jdk/jshell/Snippet$Kind flags 421
+innerclass innerClass jdk/jshell/Snippet$Status outerClass jdk/jshell/Snippet innerClassName Status flags 4019
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+innerclass innerClass jdk/jshell/Snippet$Kind outerClass jdk/jshell/Snippet innerClassName Kind flags 4019
+
+class name jdk/jshell/Snippet$Kind
+header extends java/lang/Enum nestHost jdk/jshell/Snippet flags 4031 signature Ljava/lang/Enum<Ljdk/jshell/Snippet$Kind;>;
+innerclass innerClass jdk/jshell/Snippet$Kind outerClass jdk/jshell/Snippet innerClassName Kind flags 4019
+
+class name jdk/jshell/Snippet$Status
+header extends java/lang/Enum nestHost jdk/jshell/Snippet flags 4031 signature Ljava/lang/Enum<Ljdk/jshell/Snippet$Status;>;
+innerclass innerClass jdk/jshell/Snippet$Status outerClass jdk/jshell/Snippet innerClassName Status flags 4019
+
+class name jdk/jshell/Snippet$SubKind
+header extends java/lang/Enum nestHost jdk/jshell/Snippet flags 4031 signature Ljava/lang/Enum<Ljdk/jshell/Snippet$SubKind;>;
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+innerclass innerClass jdk/jshell/Snippet$Kind outerClass jdk/jshell/Snippet innerClassName Kind flags 4019
+
+class name jdk/jshell/SnippetEvent
+header extends java/lang/Object flags 21
+innerclass innerClass jdk/jshell/Snippet$Status outerClass jdk/jshell/Snippet innerClassName Status flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/SourceCodeAnalysis
+header extends java/lang/Object nestMembers jdk/jshell/SourceCodeAnalysis$SnippetWrapper,jdk/jshell/SourceCodeAnalysis$QualifiedNames,jdk/jshell/SourceCodeAnalysis$Documentation,jdk/jshell/SourceCodeAnalysis$Suggestion,jdk/jshell/SourceCodeAnalysis$Completeness,jdk/jshell/SourceCodeAnalysis$CompletionInfo flags 421
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$SnippetWrapper outerClass jdk/jshell/SourceCodeAnalysis innerClassName SnippetWrapper flags 609
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$QualifiedNames outerClass jdk/jshell/SourceCodeAnalysis innerClassName QualifiedNames flags 19
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$Documentation outerClass jdk/jshell/SourceCodeAnalysis innerClassName Documentation flags 609
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$Suggestion outerClass jdk/jshell/SourceCodeAnalysis innerClassName Suggestion flags 609
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$Completeness outerClass jdk/jshell/SourceCodeAnalysis innerClassName Completeness flags 4019
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$CompletionInfo outerClass jdk/jshell/SourceCodeAnalysis innerClassName CompletionInfo flags 609
+
+class name jdk/jshell/SourceCodeAnalysis$Completeness
+header extends java/lang/Enum nestHost jdk/jshell/SourceCodeAnalysis flags 4031 signature Ljava/lang/Enum<Ljdk/jshell/SourceCodeAnalysis$Completeness;>;
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$Completeness outerClass jdk/jshell/SourceCodeAnalysis innerClassName Completeness flags 4019
+
+class name jdk/jshell/SourceCodeAnalysis$CompletionInfo
+header extends java/lang/Object nestHost jdk/jshell/SourceCodeAnalysis flags 601
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$Completeness outerClass jdk/jshell/SourceCodeAnalysis innerClassName Completeness flags 4019
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$CompletionInfo outerClass jdk/jshell/SourceCodeAnalysis innerClassName CompletionInfo flags 609
+
+class name jdk/jshell/SourceCodeAnalysis$Documentation
+header extends java/lang/Object nestHost jdk/jshell/SourceCodeAnalysis flags 601
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$Documentation outerClass jdk/jshell/SourceCodeAnalysis innerClassName Documentation flags 609
+
+class name jdk/jshell/SourceCodeAnalysis$QualifiedNames
+header extends java/lang/Object nestHost jdk/jshell/SourceCodeAnalysis flags 31
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$QualifiedNames outerClass jdk/jshell/SourceCodeAnalysis innerClassName QualifiedNames flags 19
+
+class name jdk/jshell/SourceCodeAnalysis$SnippetWrapper
+header extends java/lang/Object nestHost jdk/jshell/SourceCodeAnalysis flags 601
+innerclass innerClass jdk/jshell/Snippet$Kind outerClass jdk/jshell/Snippet innerClassName Kind flags 4019
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$SnippetWrapper outerClass jdk/jshell/SourceCodeAnalysis innerClassName SnippetWrapper flags 609
+
+class name jdk/jshell/SourceCodeAnalysis$Suggestion
+header extends java/lang/Object nestHost jdk/jshell/SourceCodeAnalysis flags 601
+innerclass innerClass jdk/jshell/SourceCodeAnalysis$Suggestion outerClass jdk/jshell/SourceCodeAnalysis innerClassName Suggestion flags 609
+
+class name jdk/jshell/StatementSnippet
+header extends jdk/jshell/Snippet flags 21
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+
+class name jdk/jshell/TypeDeclSnippet
+header extends jdk/jshell/DeclarationSnippet flags 21
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+
+class name jdk/jshell/UnresolvedReferenceException
+header extends jdk/jshell/JShellException flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/VarSnippet
+header extends jdk/jshell/DeclarationSnippet flags 21
+innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/execution/DirectExecutionControl
+header extends java/lang/Object implements jdk/jshell/spi/ExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ExecutionControlException outerClass jdk/jshell/spi/ExecutionControl innerClassName ExecutionControlException flags 409
+innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409
+innerclass innerClass jdk/jshell/spi/ExecutionControl$UserException outerClass jdk/jshell/spi/ExecutionControl innerClassName UserException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ResolutionException outerClass jdk/jshell/spi/ExecutionControl innerClassName ResolutionException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/execution/FailOverExecutionControlProvider
+header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/execution/JdiDefaultExecutionControl
+header extends jdk/jshell/execution/JdiExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/execution/JdiExecutionControl
+header extends jdk/jshell/execution/StreamingExecutionControl implements jdk/jshell/spi/ExecutionControl flags 421
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19
+innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/execution/JdiExecutionControlProvider
+header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21
+
+class name jdk/jshell/execution/JdiInitiator
+header extends java/lang/Object flags 21
+innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/execution/LoaderDelegate
+header extends java/lang/Object flags 601
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9
+
+class name jdk/jshell/execution/LocalExecutionControl
+header extends jdk/jshell/execution/DirectExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$StoppedException outerClass jdk/jshell/spi/ExecutionControl innerClassName StoppedException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9
+innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/execution/LocalExecutionControlProvider
+header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21
+
+class name jdk/jshell/execution/StreamingExecutionControl
+header extends java/lang/Object implements jdk/jshell/spi/ExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19
+innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409
+innerclass innerClass jdk/jshell/spi/ExecutionControl$UserException outerClass jdk/jshell/spi/ExecutionControl innerClassName UserException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ResolutionException outerClass jdk/jshell/spi/ExecutionControl innerClassName ResolutionException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$StoppedException outerClass jdk/jshell/spi/ExecutionControl innerClassName StoppedException flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/spi/ExecutionControl
+header extends java/lang/Object implements java/lang/AutoCloseable nestMembers jdk/jshell/spi/ExecutionControl$StoppedException,jdk/jshell/spi/ExecutionControl$ResolutionException,jdk/jshell/spi/ExecutionControl$UserException,jdk/jshell/spi/ExecutionControl$RunException,jdk/jshell/spi/ExecutionControl$ClassInstallException,jdk/jshell/spi/ExecutionControl$InternalException,jdk/jshell/spi/ExecutionControl$NotImplementedException,jdk/jshell/spi/ExecutionControl$EngineTerminationException,jdk/jshell/spi/ExecutionControl$ExecutionControlException,jdk/jshell/spi/ExecutionControl$ClassBytecodes flags 601
+innerclass innerClass jdk/jshell/spi/ExecutionControl$StoppedException outerClass jdk/jshell/spi/ExecutionControl innerClassName StoppedException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ResolutionException outerClass jdk/jshell/spi/ExecutionControl innerClassName ResolutionException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$UserException outerClass jdk/jshell/spi/ExecutionControl innerClassName UserException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ExecutionControlException outerClass jdk/jshell/spi/ExecutionControl innerClassName ExecutionControlException flags 409
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/spi/ExecutionControl$ClassBytecodes
+header extends java/lang/Object implements java/io/Serializable nestHost jdk/jshell/spi/ExecutionControl flags 31
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19
+
+class name jdk/jshell/spi/ExecutionControl$ClassInstallException
+header extends jdk/jshell/spi/ExecutionControl$ExecutionControlException nestHost jdk/jshell/spi/ExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ExecutionControlException outerClass jdk/jshell/spi/ExecutionControl innerClassName ExecutionControlException flags 409
+
+class name jdk/jshell/spi/ExecutionControl$EngineTerminationException
+header extends jdk/jshell/spi/ExecutionControl$ExecutionControlException nestHost jdk/jshell/spi/ExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ExecutionControlException outerClass jdk/jshell/spi/ExecutionControl innerClassName ExecutionControlException flags 409
+
+class name jdk/jshell/spi/ExecutionControl$ExecutionControlException
+header extends java/lang/Exception nestHost jdk/jshell/spi/ExecutionControl flags 421
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ExecutionControlException outerClass jdk/jshell/spi/ExecutionControl innerClassName ExecutionControlException flags 409
+
+class name jdk/jshell/spi/ExecutionControl$InternalException
+header extends jdk/jshell/spi/ExecutionControl$ExecutionControlException nestHost jdk/jshell/spi/ExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ExecutionControlException outerClass jdk/jshell/spi/ExecutionControl innerClassName ExecutionControlException flags 409
+
+class name jdk/jshell/spi/ExecutionControl$NotImplementedException
+header extends jdk/jshell/spi/ExecutionControl$InternalException nestHost jdk/jshell/spi/ExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9
+
+class name jdk/jshell/spi/ExecutionControl$ResolutionException
+header extends jdk/jshell/spi/ExecutionControl$RunException nestHost jdk/jshell/spi/ExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ResolutionException outerClass jdk/jshell/spi/ExecutionControl innerClassName ResolutionException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/jshell/spi/ExecutionControl$RunException
+header extends jdk/jshell/spi/ExecutionControl$ExecutionControlException nestHost jdk/jshell/spi/ExecutionControl flags 421
+innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409
+innerclass innerClass jdk/jshell/spi/ExecutionControl$ExecutionControlException outerClass jdk/jshell/spi/ExecutionControl innerClassName ExecutionControlException flags 409
+
+class name jdk/jshell/spi/ExecutionControl$StoppedException
+header extends jdk/jshell/spi/ExecutionControl$RunException nestHost jdk/jshell/spi/ExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$StoppedException outerClass jdk/jshell/spi/ExecutionControl innerClassName StoppedException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409
+
+class name jdk/jshell/spi/ExecutionControl$UserException
+header extends jdk/jshell/spi/ExecutionControl$RunException nestHost jdk/jshell/spi/ExecutionControl flags 21
+innerclass innerClass jdk/jshell/spi/ExecutionControl$UserException outerClass jdk/jshell/spi/ExecutionControl innerClassName UserException flags 9
+innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409
+
+class name jdk/jshell/spi/ExecutionControlProvider
+header extends java/lang/Object flags 601
+
+class name jdk/jshell/spi/ExecutionEnv
+header extends java/lang/Object flags 601
+
+class name jdk/jshell/spi/SPIResolutionException
+header extends java/lang/RuntimeException flags 21
+
+class name jdk/jshell/tool/JavaShellToolBuilder
+header extends java/lang/Object flags 601
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jsobject-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jsobject
+header exports netscape/javascript requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.desktop\u0020;flags\u0020;0 uses jdk/internal/netscape/javascript/spi/JSObjectProvider target linux-amd64 flags 8000
+
+class name netscape/javascript/JSException
+header extends java/lang/RuntimeException flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jstatd-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.jstatd
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.rmi\u0020;flags\u0020;0,name\u0020;jdk.internal.jvmstat\u0020;flags\u0020;0 provides interface\u0020;sun/jvmstat/monitor/MonitoredHostService\u0020;impls\u0020;sun/jvmstat/perfdata/monitor/protocol/rmi/MonitoredHostRmiService target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.localedata-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.localedata
+header requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;sun/util/locale/provider/LocaleDataMetaInfo\u0020;impls\u0020;sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo\u005C;u002C;sun/util/resources/provider/NonBaseLocaleDataMetaInfo,interface\u0020;sun/util/resources/LocaleData$CommonResourceBundleProvider\u0020;impls\u0020;sun/util/resources/provider/LocaleDataProvider,interface\u0020;sun/util/resources/LocaleData$SupplementaryResourceBundleProvider\u0020;impls\u0020;sun/util/resources/provider/SupplementaryLocaleDataProvider target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.management-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,64 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.management
+header exports com/sun/management requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.management\u0020;flags\u0020;20 provides interface\u0020;sun/management/spi/PlatformMBeanProvider\u0020;impls\u0020;com/sun/management/internal/PlatformMBeanProviderImpl target linux-amd64 flags 8000
+
+class name com/sun/management/DiagnosticCommandMBean
+header extends java/lang/Object implements javax/management/DynamicMBean flags 601
+
+class name com/sun/management/GarbageCollectionNotificationInfo
+header extends java/lang/Object implements javax/management/openmbean/CompositeDataView flags 21
+
+class name com/sun/management/GarbageCollectorMXBean
+header extends java/lang/Object implements java/lang/management/GarbageCollectorMXBean flags 601
+
+class name com/sun/management/GcInfo
+header extends java/lang/Object implements javax/management/openmbean/CompositeData,javax/management/openmbean/CompositeDataView flags 21
+
+class name com/sun/management/HotSpotDiagnosticMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+
+class name com/sun/management/OperatingSystemMXBean
+header extends java/lang/Object implements java/lang/management/OperatingSystemMXBean flags 601
+
+class name com/sun/management/ThreadMXBean
+header extends java/lang/Object implements java/lang/management/ThreadMXBean flags 601
+
+class name com/sun/management/UnixOperatingSystemMXBean
+header extends java/lang/Object implements com/sun/management/OperatingSystemMXBean flags 601
+
+class name com/sun/management/VMOption
+header extends java/lang/Object nestMembers com/sun/management/VMOption$Origin flags 21
+innerclass innerClass com/sun/management/VMOption$Origin outerClass com/sun/management/VMOption innerClassName Origin flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/management/VMOption$Origin
+header extends java/lang/Enum nestHost com/sun/management/VMOption flags 4031 signature Ljava/lang/Enum<Lcom/sun/management/VMOption$Origin;>;
+innerclass innerClass com/sun/management/VMOption$Origin outerClass com/sun/management/VMOption innerClassName Origin flags 4019
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.management.agent-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.management.agent
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.management\u0020;flags\u0020;0,name\u0020;java.management.rmi\u0020;flags\u0020;0 uses jdk/internal/agent/spi/AgentProvider target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.management.jfr-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,105 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.management.jfr
+header exports jdk/management/jfr requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.jfr\u0020;flags\u0020;0,name\u0020;jdk.management\u0020;flags\u0020;0,name\u0020;java.management\u0020;flags\u0020;20 provides interface\u0020;sun/management/spi/PlatformMBeanProvider\u0020;impls\u0020;jdk/management/jfr/internal/FlightRecorderMXBeanProvider target linux-amd64 flags 8000
+
+class name jdk/management/jfr/ConfigurationInfo
+header extends java/lang/Object flags 31
+method name getProvider descriptor ()Ljava/lang/String; flags 1
+method name getContents descriptor ()Ljava/lang/String; flags 1
+method name getSettings descriptor ()Ljava/util/Map; flags 1 signature ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
+method name getLabel descriptor ()Ljava/lang/String; flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getDescription descriptor ()Ljava/lang/String; flags 1
+method name from descriptor (Ljavax/management/openmbean/CompositeData;)Ljdk/management/jfr/ConfigurationInfo; flags 9
+method name toString descriptor ()Ljava/lang/String; flags 1
+
+class name jdk/management/jfr/EventTypeInfo
+header extends java/lang/Object flags 31
+method name getLabel descriptor ()Ljava/lang/String; flags 1
+method name getCategoryNames descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljava/lang/String;>;
+method name getId descriptor ()J flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getDescription descriptor ()Ljava/lang/String; flags 1
+method name getSettingDescriptors descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/management/jfr/SettingDescriptorInfo;>;
+method name toString descriptor ()Ljava/lang/String; flags 1
+method name from descriptor (Ljavax/management/openmbean/CompositeData;)Ljdk/management/jfr/EventTypeInfo; flags 9
+
+class name jdk/management/jfr/FlightRecorderMXBean
+header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601
+field name MXBEAN_NAME descriptor Ljava/lang/String; constantValue jdk.management.jfr:type=FlightRecorder flags 19
+method name newRecording descriptor ()J thrownTypes java/lang/IllegalStateException,java/lang/SecurityException flags 401
+method name takeSnapshot descriptor ()J flags 401
+method name cloneRecording descriptor (JZ)J thrownTypes java/lang/IllegalArgumentException,java/lang/SecurityException flags 401
+method name startRecording descriptor (J)V thrownTypes java/lang/IllegalStateException,java/lang/SecurityException flags 401
+method name stopRecording descriptor (J)Z thrownTypes java/lang/IllegalArgumentException,java/lang/IllegalStateException,java/lang/SecurityException flags 401
+method name closeRecording descriptor (J)V thrownTypes java/io/IOException flags 401
+method name openStream descriptor (JLjava/util/Map;)J thrownTypes java/io/IOException flags 401 signature (JLjava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)J
+method name closeStream descriptor (J)V thrownTypes java/io/IOException flags 401
+method name readStream descriptor (J)[B thrownTypes java/io/IOException flags 401
+method name getRecordingOptions descriptor (J)Ljava/util/Map; thrownTypes java/lang/IllegalArgumentException flags 401 signature (J)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
+method name getRecordingSettings descriptor (J)Ljava/util/Map; thrownTypes java/lang/IllegalArgumentException flags 401 signature (J)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
+method name setConfiguration descriptor (JLjava/lang/String;)V thrownTypes java/lang/IllegalArgumentException flags 401
+method name setPredefinedConfiguration descriptor (JLjava/lang/String;)V thrownTypes java/lang/IllegalArgumentException flags 401
+method name setRecordingSettings descriptor (JLjava/util/Map;)V thrownTypes java/lang/IllegalArgumentException flags 401 signature (JLjava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
+method name setRecordingOptions descriptor (JLjava/util/Map;)V thrownTypes java/lang/IllegalArgumentException flags 401 signature (JLjava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
+method name getRecordings descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<Ljdk/management/jfr/RecordingInfo;>;
+method name getConfigurations descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<Ljdk/management/jfr/ConfigurationInfo;>;
+method name getEventTypes descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<Ljdk/management/jfr/EventTypeInfo;>;
+method name copyTo descriptor (JLjava/lang/String;)V thrownTypes java/io/IOException,java/lang/SecurityException flags 401
+
+class name jdk/management/jfr/RecordingInfo
+header extends java/lang/Object flags 31
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getId descriptor ()J flags 1
+method name getDumpOnExit descriptor ()Z flags 1
+method name getMaxAge descriptor ()J flags 1
+method name getMaxSize descriptor ()J flags 1
+method name getState descriptor ()Ljava/lang/String; flags 1
+method name getStartTime descriptor ()J flags 1
+method name getStopTime descriptor ()J flags 1
+method name getSettings descriptor ()Ljava/util/Map; flags 1 signature ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
+method name getDestination descriptor ()Ljava/lang/String; flags 1
+method name toString descriptor ()Ljava/lang/String; flags 1
+method name getSize descriptor ()J flags 1
+method name isToDisk descriptor ()Z flags 1
+method name getDuration descriptor ()J flags 1
+method name from descriptor (Ljavax/management/openmbean/CompositeData;)Ljdk/management/jfr/RecordingInfo; flags 9
+
+class name jdk/management/jfr/SettingDescriptorInfo
+header extends java/lang/Object flags 31
+method name getLabel descriptor ()Ljava/lang/String; flags 1
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getDescription descriptor ()Ljava/lang/String; flags 1
+method name getTypeName descriptor ()Ljava/lang/String; flags 1
+method name getContentType descriptor ()Ljava/lang/String; flags 1
+method name getDefaultValue descriptor ()Ljava/lang/String; flags 1
+method name from descriptor (Ljavax/management/openmbean/CompositeData;)Ljdk/management/jfr/SettingDescriptorInfo; flags 9
+method name toString descriptor ()Ljava/lang/String; flags 1
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.naming.dns-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.naming.dns
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.naming\u0020;flags\u0020;0 provides interface\u0020;javax/naming/spi/InitialContextFactory\u0020;impls\u0020;com/sun/jndi/dns/DnsContextFactory target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.naming.rmi-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.naming.rmi
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.naming\u0020;flags\u0020;0,name\u0020;java.rmi\u0020;flags\u0020;0 provides interface\u0020;javax/naming/spi/InitialContextFactory\u0020;impls\u0020;com/sun/jndi/rmi/registry/RegistryContextFactory target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.net-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,60 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.net
+header exports jdk/net,jdk/nio requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
+
+class name jdk/net/ExtendedSocketOptions
+field name TCP_KEEPIDLE descriptor Ljava/net/SocketOption; flags 19 signature Ljava/net/SocketOption<Ljava/lang/Integer;>;
+field name TCP_KEEPINTERVAL descriptor Ljava/net/SocketOption; flags 19 signature Ljava/net/SocketOption<Ljava/lang/Integer;>;
+field name TCP_KEEPCOUNT descriptor Ljava/net/SocketOption; flags 19 signature Ljava/net/SocketOption<Ljava/lang/Integer;>;
+
+class name jdk/net/NetworkPermission
+header extends java/security/BasicPermission flags 31
+
+class name jdk/net/SocketFlow
+header extends java/lang/Object nestMembers jdk/net/SocketFlow$Status flags 21
+innerclass innerClass jdk/net/SocketFlow$Status outerClass jdk/net/SocketFlow innerClassName Status flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/net/SocketFlow$Status
+header extends java/lang/Enum nestHost jdk/net/SocketFlow flags 4031 signature Ljava/lang/Enum<Ljdk/net/SocketFlow$Status;>;
+innerclass innerClass jdk/net/SocketFlow$Status outerClass jdk/net/SocketFlow innerClassName Status flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/nio/Channels
+header extends java/lang/Object nestMembers jdk/nio/Channels$SelectableChannelCloser flags 31
+innerclass innerClass jdk/nio/Channels$SelectableChannelCloser outerClass jdk/nio/Channels innerClassName SelectableChannelCloser flags 609
+method name readWriteSelectableChannel descriptor (Ljava/io/FileDescriptor;Ljdk/nio/Channels$SelectableChannelCloser;)Ljava/nio/channels/SelectableChannel; flags 9
+
+class name jdk/nio/Channels$SelectableChannelCloser
+header extends java/lang/Object nestHost jdk/nio/Channels flags 601
+innerclass innerClass jdk/nio/Channels$SelectableChannelCloser outerClass jdk/nio/Channels innerClassName SelectableChannelCloser flags 609
+method name implCloseChannel descriptor (Ljava/nio/channels/SelectableChannel;)V thrownTypes java/io/IOException flags 401
+method name implReleaseChannel descriptor (Ljava/nio/channels/SelectableChannel;)V thrownTypes java/io/IOException flags 401
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.pack-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.pack
+header requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000 runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.rmic-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.rmic
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.compiler\u0020;flags\u0020;0,name\u0020;jdk.javadoc\u0020;flags\u0020;0 target linux-amd64 flags 8000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.scripting.nashorn-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,268 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.scripting.nashorn
+header exports jdk/nashorn/api/scripting,jdk/nashorn/api/tree requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0,name\u0020;jdk.dynalink\u0020;flags\u0020;0,name\u0020;java.scripting\u0020;flags\u0020;20 provides interface\u0020;javax/script/ScriptEngineFactory\u0020;impls\u0020;jdk/nashorn/api/scripting/NashornScriptEngineFactory,interface\u0020;jdk/dynalink/linker/GuardingDynamicLinkerExporter\u0020;impls\u0020;jdk/nashorn/api/linker/NashornLinkerExporter target linux-amd64 flags 8000 runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/scripting/AbstractJSObject
+header extends java/lang/Object implements jdk/nashorn/api/scripting/JSObject flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/scripting/ClassFilter
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/scripting/JSObject
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/scripting/NashornException
+header extends java/lang/RuntimeException flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/nashorn/api/scripting/NashornScriptEngine
+header extends javax/script/AbstractScriptEngine implements javax/script/Compilable,javax/script/Invocable flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/nashorn/api/scripting/NashornScriptEngineFactory
+header extends java/lang/Object implements javax/script/ScriptEngineFactory flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/nashorn/api/scripting/ScriptObjectMirror
+header extends jdk/nashorn/api/scripting/AbstractJSObject implements javax/script/Bindings flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/nashorn/api/scripting/ScriptUtils
+header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/scripting/URLReader
+header extends java/io/Reader flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ArrayAccessTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ArrayLiteralTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/AssignmentTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/BinaryTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/BlockTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/BreakTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/GotoTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/CaseTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/Tree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/CatchTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/Tree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ClassDeclarationTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ClassExpressionTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/CompilationUnitTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/Tree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/CompoundAssignmentTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ConditionalExpressionTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ConditionalLoopTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/LoopTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ContinueTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/GotoTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/DebuggerTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/Diagnostic
+header extends java/lang/Object nestMembers jdk/nashorn/api/tree/Diagnostic$Kind flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass jdk/nashorn/api/tree/Diagnostic$Kind outerClass jdk/nashorn/api/tree/Diagnostic innerClassName Kind flags 4019
+
+class name jdk/nashorn/api/tree/Diagnostic$Kind
+header extends java/lang/Enum nestHost jdk/nashorn/api/tree/Diagnostic flags 4031 deprecated true signature Ljava/lang/Enum<Ljdk/nashorn/api/tree/Diagnostic$Kind;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass jdk/nashorn/api/tree/Diagnostic$Kind outerClass jdk/nashorn/api/tree/Diagnostic innerClassName Kind flags 4019
+
+class name jdk/nashorn/api/tree/DiagnosticListener
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")@Ljava/lang/FunctionalInterface;
+
+class name jdk/nashorn/api/tree/DoWhileLoopTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ConditionalLoopTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/EmptyStatementTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ErroneousTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ExportEntryTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/Tree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ExpressionStatementTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ExpressionTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/Tree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ForInLoopTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/LoopTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ForLoopTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ConditionalLoopTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ForOfLoopTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/LoopTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/FunctionCallTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/FunctionDeclarationTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/FunctionExpressionTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/GotoTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/IdentifierTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/IfTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ImportEntryTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/Tree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/InstanceOfTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/LabeledStatementTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/LineMap
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/LiteralTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/LoopTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/MemberSelectTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ModuleTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/Tree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/NewTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ObjectLiteralTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ParenthesizedTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/Parser
+header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/PropertyTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/Tree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/RegExpLiteralTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ReturnTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/SimpleTreeVisitorES5_1
+header extends java/lang/Object implements jdk/nashorn/api/tree/TreeVisitor flags 21 deprecated true signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;Ljdk/nashorn/api/tree/TreeVisitor<TR;TP;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/nashorn/api/tree/SimpleTreeVisitorES6
+header extends jdk/nashorn/api/tree/SimpleTreeVisitorES5_1 flags 21 deprecated true signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljdk/nashorn/api/tree/SimpleTreeVisitorES5_1<TR;TP;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/nashorn/api/tree/SpreadTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/StatementTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/Tree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/SwitchTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/TemplateLiteralTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/ThrowTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/Tree
+header extends java/lang/Object nestMembers jdk/nashorn/api/tree/Tree$Kind flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass jdk/nashorn/api/tree/Tree$Kind outerClass jdk/nashorn/api/tree/Tree innerClassName Kind flags 4019
+
+class name jdk/nashorn/api/tree/Tree$Kind
+header extends java/lang/Enum nestHost jdk/nashorn/api/tree/Tree flags 4031 deprecated true signature Ljava/lang/Enum<Ljdk/nashorn/api/tree/Tree$Kind;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass jdk/nashorn/api/tree/Tree$Kind outerClass jdk/nashorn/api/tree/Tree innerClassName Kind flags 4019
+
+class name jdk/nashorn/api/tree/TreeVisitor
+header extends java/lang/Object flags 601 deprecated true signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/TryTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/UnaryTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/UnknownTreeException
+header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/nashorn/api/tree/VariableTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/WhileLoopTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ConditionalLoopTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/WithTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/StatementTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
+class name jdk/nashorn/api/tree/YieldTree
+header extends java/lang/Object implements jdk/nashorn/api/tree/ExpressionTree flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="11")
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.sctp-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,100 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.sctp
+header exports com/sun/nio/sctp requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
+
+class name com/sun/nio/sctp/AbstractNotificationHandler
+header extends java/lang/Object implements com/sun/nio/sctp/NotificationHandler flags 21 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler<TT;>;
+
+class name com/sun/nio/sctp/Association
+header extends java/lang/Object flags 21
+
+class name com/sun/nio/sctp/AssociationChangeNotification
+header extends java/lang/Object implements com/sun/nio/sctp/Notification nestMembers com/sun/nio/sctp/AssociationChangeNotification$AssocChangeEvent flags 421
+innerclass innerClass com/sun/nio/sctp/AssociationChangeNotification$AssocChangeEvent outerClass com/sun/nio/sctp/AssociationChangeNotification innerClassName AssocChangeEvent flags 4019
+
+class name com/sun/nio/sctp/AssociationChangeNotification$AssocChangeEvent
+header extends java/lang/Enum nestHost com/sun/nio/sctp/AssociationChangeNotification flags 4031 signature Ljava/lang/Enum<Lcom/sun/nio/sctp/AssociationChangeNotification$AssocChangeEvent;>;
+innerclass innerClass com/sun/nio/sctp/AssociationChangeNotification$AssocChangeEvent outerClass com/sun/nio/sctp/AssociationChangeNotification innerClassName AssocChangeEvent flags 4019
+
+class name com/sun/nio/sctp/HandlerResult
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Lcom/sun/nio/sctp/HandlerResult;>;
+
+class name com/sun/nio/sctp/IllegalReceiveException
+header extends java/lang/IllegalStateException flags 21
+
+class name com/sun/nio/sctp/IllegalUnbindException
+header extends java/lang/IllegalStateException flags 21
+
+class name com/sun/nio/sctp/InvalidStreamException
+header extends java/lang/IllegalArgumentException flags 21
+
+class name com/sun/nio/sctp/MessageInfo
+header extends java/lang/Object flags 421
+
+class name com/sun/nio/sctp/Notification
+header extends java/lang/Object flags 601
+
+class name com/sun/nio/sctp/NotificationHandler
+header extends java/lang/Object flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
+
+class name com/sun/nio/sctp/PeerAddressChangeNotification
+header extends java/lang/Object implements com/sun/nio/sctp/Notification nestMembers com/sun/nio/sctp/PeerAddressChangeNotification$AddressChangeEvent flags 421
+innerclass innerClass com/sun/nio/sctp/PeerAddressChangeNotification$AddressChangeEvent outerClass com/sun/nio/sctp/PeerAddressChangeNotification innerClassName AddressChangeEvent flags 4019
+
+class name com/sun/nio/sctp/PeerAddressChangeNotification$AddressChangeEvent
+header extends java/lang/Enum nestHost com/sun/nio/sctp/PeerAddressChangeNotification flags 4031 signature Ljava/lang/Enum<Lcom/sun/nio/sctp/PeerAddressChangeNotification$AddressChangeEvent;>;
+innerclass innerClass com/sun/nio/sctp/PeerAddressChangeNotification$AddressChangeEvent outerClass com/sun/nio/sctp/PeerAddressChangeNotification innerClassName AddressChangeEvent flags 4019
+
+class name com/sun/nio/sctp/SctpChannel
+header extends java/nio/channels/spi/AbstractSelectableChannel flags 421
+
+class name com/sun/nio/sctp/SctpMultiChannel
+header extends java/nio/channels/spi/AbstractSelectableChannel flags 421
+
+class name com/sun/nio/sctp/SctpServerChannel
+header extends java/nio/channels/spi/AbstractSelectableChannel flags 421
+
+class name com/sun/nio/sctp/SctpSocketOption
+header extends java/lang/Object implements java/net/SocketOption flags 601 signature <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/net/SocketOption<TT;>;
+
+class name com/sun/nio/sctp/SctpStandardSocketOptions
+header extends java/lang/Object nestMembers com/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams flags 21
+innerclass innerClass com/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams outerClass com/sun/nio/sctp/SctpStandardSocketOptions innerClassName InitMaxStreams flags 9
+
+class name com/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams
+header extends java/lang/Object nestHost com/sun/nio/sctp/SctpStandardSocketOptions flags 21
+innerclass innerClass com/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams outerClass com/sun/nio/sctp/SctpStandardSocketOptions innerClassName InitMaxStreams flags 9
+
+class name com/sun/nio/sctp/SendFailedNotification
+header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421
+
+class name com/sun/nio/sctp/ShutdownNotification
+header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.security.auth-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,109 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.security.auth
+header exports com/sun/security/auth,com/sun/security/auth/callback,com/sun/security/auth/login,com/sun/security/auth/module requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.security.jgss\u0020;flags\u0020;0,name\u0020;java.naming\u0020;flags\u0020;20 provides interface\u0020;javax/security/auth/spi/LoginModule\u0020;impls\u0020;com/sun/security/auth/module/Krb5LoginModule\u005C;u002C;com/sun/security/auth/module/UnixLoginModule\u005C;u002C;com/sun/security/auth/module/JndiLoginModule\u005C;u002C;com/sun/security/auth/module/KeyStoreLoginModule\u005C;u002C;com/sun/security/auth/module/LdapLoginModule\u005C;u002C;com/sun/security/auth/module/NTLoginModule target linux-amd64 flags 8000
+
+class name com/sun/security/auth/LdapPrincipal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31
+
+class name com/sun/security/auth/NTDomainPrincipal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21
+
+class name com/sun/security/auth/NTNumericCredential
+header extends java/lang/Object flags 21
+
+class name com/sun/security/auth/NTSid
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21
+
+class name com/sun/security/auth/NTSidDomainPrincipal
+header extends com/sun/security/auth/NTSid flags 21
+
+class name com/sun/security/auth/NTSidGroupPrincipal
+header extends com/sun/security/auth/NTSid flags 21
+
+class name com/sun/security/auth/NTSidPrimaryGroupPrincipal
+header extends com/sun/security/auth/NTSid flags 21
+
+class name com/sun/security/auth/NTSidUserPrincipal
+header extends com/sun/security/auth/NTSid flags 21
+
+class name com/sun/security/auth/NTUserPrincipal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21
+
+class name com/sun/security/auth/PrincipalComparator
+header extends java/lang/Object flags 601
+
+class name com/sun/security/auth/UnixNumericGroupPrincipal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21
+
+class name com/sun/security/auth/UnixNumericUserPrincipal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21
+
+class name com/sun/security/auth/UnixPrincipal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21
+
+class name com/sun/security/auth/UserPrincipal
+header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31
+
+class name com/sun/security/auth/callback/TextCallbackHandler
+header extends java/lang/Object implements javax/security/auth/callback/CallbackHandler flags 21
+
+class name com/sun/security/auth/login/ConfigFile
+header extends javax/security/auth/login/Configuration flags 21
+
+class name com/sun/security/auth/module/JndiLoginModule
+header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/security/auth/module/KeyStoreLoginModule
+header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/security/auth/module/Krb5LoginModule
+header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/security/auth/module/LdapLoginModule
+header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/security/auth/module/NTLoginModule
+header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/security/auth/module/NTSystem
+header extends java/lang/Object flags 21
+
+class name com/sun/security/auth/module/UnixLoginModule
+header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/security/auth/module/UnixSystem
+header extends java/lang/Object flags 21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.security.jgss-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,50 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.security.jgss
+header exports com/sun/security/jgss requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0,name\u0020;java.security.sasl\u0020;flags\u0020;0,name\u0020;java.security.jgss\u0020;flags\u0020;20 provides interface\u0020;java/security/Provider\u0020;impls\u0020;com/sun/security/sasl/gsskerb/JdkSASL target linux-amd64 flags 8000
+
+class name com/sun/security/jgss/AuthorizationDataEntry
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name com/sun/security/jgss/ExtendedGSSContext
+header extends java/lang/Object implements org/ietf/jgss/GSSContext flags 601
+
+class name com/sun/security/jgss/ExtendedGSSCredential
+header extends java/lang/Object implements org/ietf/jgss/GSSCredential flags 601
+
+class name com/sun/security/jgss/GSSUtil
+header extends java/lang/Object flags 21
+
+class name com/sun/security/jgss/InquireSecContextPermission
+header extends java/security/BasicPermission flags 31
+
+class name com/sun/security/jgss/InquireType
+header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum<Lcom/sun/security/jgss/InquireType;>;
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.unsupported-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,54 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.unsupported
+header exports com/sun/nio/file,sun/misc,sun/reflect requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
+
+class name com/sun/nio/file/ExtendedCopyOption
+header extends java/lang/Enum implements java/nio/file/CopyOption flags 4031 signature Ljava/lang/Enum<Lcom/sun/nio/file/ExtendedCopyOption;>;Ljava/nio/file/CopyOption; classAnnotations @Lsun/Proprietary+Annotation;
+
+class name com/sun/nio/file/ExtendedOpenOption
+header extends java/lang/Enum implements java/nio/file/OpenOption flags 4031 signature Ljava/lang/Enum<Lcom/sun/nio/file/ExtendedOpenOption;>;Ljava/nio/file/OpenOption; classAnnotations @Lsun/Proprietary+Annotation;
+
+class name com/sun/nio/file/ExtendedWatchEventModifier
+header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum<Lcom/sun/nio/file/ExtendedWatchEventModifier;>;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation;
+innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609
+
+class name com/sun/nio/file/SensitivityWatchEventModifier
+header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum<Lcom/sun/nio/file/SensitivityWatchEventModifier;>;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation;
+innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609
+
+class name sun/misc/SignalHandler
+header extends java/lang/Object flags 601 classAnnotations @Lsun/Proprietary+Annotation;
+
+class name sun/misc/Unsafe
+header extends java/lang/Object flags 31 classAnnotations @Lsun/Proprietary+Annotation;
+-method name defineClass descriptor (Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
+
+-class name sun/reflect/Reflection
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.xml.dom-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,298 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.xml.dom
+header exports org/w3c/dom/css,org/w3c/dom/html,org/w3c/dom/stylesheets,org/w3c/dom/xpath requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.xml\u0020;flags\u0020;20 target linux-amd64 flags 8000
+
+class name org/w3c/dom/css/CSS2Properties
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/css/CSSCharsetRule
+header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601
+
+class name org/w3c/dom/css/CSSFontFaceRule
+header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601
+
+class name org/w3c/dom/css/CSSImportRule
+header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601
+
+class name org/w3c/dom/css/CSSMediaRule
+header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601
+
+class name org/w3c/dom/css/CSSPageRule
+header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601
+
+class name org/w3c/dom/css/CSSPrimitiveValue
+header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601
+
+class name org/w3c/dom/css/CSSRule
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/css/CSSRuleList
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/css/CSSStyleDeclaration
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/css/CSSStyleRule
+header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601
+
+class name org/w3c/dom/css/CSSStyleSheet
+header extends java/lang/Object implements org/w3c/dom/stylesheets/StyleSheet flags 601
+
+class name org/w3c/dom/css/CSSUnknownRule
+header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601
+
+class name org/w3c/dom/css/CSSValue
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/css/CSSValueList
+header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601
+
+class name org/w3c/dom/css/Counter
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/css/DOMImplementationCSS
+header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601
+
+class name org/w3c/dom/css/DocumentCSS
+header extends java/lang/Object implements org/w3c/dom/stylesheets/DocumentStyle flags 601
+
+class name org/w3c/dom/css/ElementCSSInlineStyle
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/css/RGBColor
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/css/Rect
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/css/ViewCSS
+header extends java/lang/Object implements org/w3c/dom/views/AbstractView flags 601
+
+class name org/w3c/dom/html/HTMLAnchorElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLAppletElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLAreaElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLBRElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLBaseElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLBaseFontElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLBodyElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLButtonElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLCollection
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/html/HTMLDListElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLDOMImplementation
+header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601
+
+class name org/w3c/dom/html/HTMLDirectoryElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLDivElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLDocument
+header extends java/lang/Object implements org/w3c/dom/Document flags 601
+
+class name org/w3c/dom/html/HTMLElement
+header extends java/lang/Object implements org/w3c/dom/Element flags 601
+
+class name org/w3c/dom/html/HTMLFieldSetElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLFontElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLFormElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLFrameElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLFrameSetElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLHRElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLHeadElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLHeadingElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLHtmlElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLIFrameElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLImageElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLInputElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLIsIndexElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLLIElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLLabelElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLLegendElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLLinkElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLMapElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLMenuElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLMetaElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLModElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLOListElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLObjectElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLOptGroupElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLOptionElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLParagraphElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLParamElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLPreElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLQuoteElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLScriptElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLSelectElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLStyleElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLTableCaptionElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLTableCellElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLTableColElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLTableElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLTableRowElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLTableSectionElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLTextAreaElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLTitleElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/html/HTMLUListElement
+header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601
+
+class name org/w3c/dom/stylesheets/DocumentStyle
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/stylesheets/LinkStyle
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/stylesheets/MediaList
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/stylesheets/StyleSheet
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/stylesheets/StyleSheetList
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/xpath/XPathEvaluator
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/xpath/XPathException
+header extends java/lang/RuntimeException flags 21
+
+class name org/w3c/dom/xpath/XPathExpression
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/xpath/XPathNSResolver
+header extends java/lang/Object flags 601
+
+class name org/w3c/dom/xpath/XPathNamespace
+header extends java/lang/Object implements org/w3c/dom/Node flags 601
+
+class name org/w3c/dom/xpath/XPathResult
+header extends java/lang/Object flags 601
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.zipfs-B.sym.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2018, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.zipfs
+header requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/nio/zipfs/ZipFileSystemProvider target linux-amd64 flags 8000
+
--- a/make/data/symbols/symbols	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/data/symbols/symbols	Mon Sep 24 10:59:26 2018 -0700
@@ -29,8 +29,9 @@
 #command used to generate this file:
 #build.tools.symbolgenerator.CreateSymbols build-description-incremental symbols include.list
 #
-generate platforms 7:8:9:A
+generate platforms 7:8:9:A:B
 platform version 8 files java.activation-8.sym.txt:java.base-8.sym.txt:java.compiler-8.sym.txt:java.corba-8.sym.txt:java.datatransfer-8.sym.txt:java.desktop-8.sym.txt:java.instrument-8.sym.txt:java.logging-8.sym.txt:java.management-8.sym.txt:java.management.rmi-8.sym.txt:java.naming-8.sym.txt:java.prefs-8.sym.txt:java.rmi-8.sym.txt:java.scripting-8.sym.txt:java.security.jgss-8.sym.txt:java.security.sasl-8.sym.txt:java.sql-8.sym.txt:java.sql.rowset-8.sym.txt:java.transaction-8.sym.txt:java.xml-8.sym.txt:java.xml.bind-8.sym.txt:java.xml.crypto-8.sym.txt:java.xml.ws-8.sym.txt:java.xml.ws.annotation-8.sym.txt:jdk.httpserver-8.sym.txt:jdk.management-8.sym.txt:jdk.scripting.nashorn-8.sym.txt:jdk.sctp-8.sym.txt:jdk.security.auth-8.sym.txt:jdk.security.jgss-8.sym.txt
 platform version 7 base 8 files java.base-7.sym.txt:java.compiler-7.sym.txt:java.datatransfer-7.sym.txt:java.desktop-7.sym.txt:java.logging-7.sym.txt:java.management-7.sym.txt:java.naming-7.sym.txt:java.prefs-7.sym.txt:java.rmi-7.sym.txt:java.scripting-7.sym.txt:java.security.jgss-7.sym.txt:java.security.sasl-7.sym.txt:java.sql-7.sym.txt:java.sql.rowset-7.sym.txt:java.xml-7.sym.txt:java.xml.bind-7.sym.txt:java.xml.ws.annotation-7.sym.txt:jdk.httpserver-7.sym.txt:jdk.management-7.sym.txt:jdk.scripting.nashorn-7.sym.txt:jdk.sctp-7.sym.txt:jdk.security.auth-7.sym.txt:jdk.security.jgss-7.sym.txt
 platform version 9 base 8 files java.activation-9.sym.txt:java.base-9.sym.txt:java.compiler-9.sym.txt:java.corba-9.sym.txt:java.datatransfer-9.sym.txt:java.desktop-9.sym.txt:java.instrument-9.sym.txt:java.logging-9.sym.txt:java.management-9.sym.txt:java.management.rmi-9.sym.txt:java.naming-9.sym.txt:java.prefs-9.sym.txt:java.rmi-9.sym.txt:java.scripting-9.sym.txt:java.se-9.sym.txt:java.se.ee-9.sym.txt:java.security.jgss-9.sym.txt:java.security.sasl-9.sym.txt:java.smartcardio-9.sym.txt:java.sql-9.sym.txt:java.sql.rowset-9.sym.txt:java.transaction-9.sym.txt:java.xml-9.sym.txt:java.xml.bind-9.sym.txt:java.xml.crypto-9.sym.txt:java.xml.ws-9.sym.txt:java.xml.ws.annotation-9.sym.txt:jdk.accessibility-9.sym.txt:jdk.attach-9.sym.txt:jdk.charsets-9.sym.txt:jdk.compiler-9.sym.txt:jdk.crypto.cryptoki-9.sym.txt:jdk.crypto.ec-9.sym.txt:jdk.dynalink-9.sym.txt:jdk.editpad-9.sym.txt:jdk.hotspot.agent-9.sym.txt:jdk.httpserver-9.sym.txt:jdk.incubator.httpclient-9.sym.txt:jdk.jartool-9.sym.txt:jdk.javadoc-9.sym.txt:jdk.jcmd-9.sym.txt:jdk.jconsole-9.sym.txt:jdk.jdeps-9.sym.txt:jdk.jdi-9.sym.txt:jdk.jdwp.agent-9.sym.txt:jdk.jlink-9.sym.txt:jdk.jshell-9.sym.txt:jdk.jsobject-9.sym.txt:jdk.jstatd-9.sym.txt:jdk.localedata-9.sym.txt:jdk.management-9.sym.txt:jdk.management.agent-9.sym.txt:jdk.naming.dns-9.sym.txt:jdk.naming.rmi-9.sym.txt:jdk.net-9.sym.txt:jdk.pack-9.sym.txt:jdk.policytool-9.sym.txt:jdk.rmic-9.sym.txt:jdk.scripting.nashorn-9.sym.txt:jdk.sctp-9.sym.txt:jdk.security.auth-9.sym.txt:jdk.security.jgss-9.sym.txt:jdk.unsupported-9.sym.txt:jdk.xml.dom-9.sym.txt:jdk.zipfs-9.sym.txt
 platform version A base 9 files java.activation-A.sym.txt:java.base-A.sym.txt:java.compiler-A.sym.txt:java.corba-A.sym.txt:java.datatransfer-A.sym.txt:java.desktop-A.sym.txt:java.instrument-A.sym.txt:java.logging-A.sym.txt:java.management-A.sym.txt:java.management.rmi-A.sym.txt:java.naming-A.sym.txt:java.prefs-A.sym.txt:java.rmi-A.sym.txt:java.scripting-A.sym.txt:java.se-A.sym.txt:java.se.ee-A.sym.txt:java.security.jgss-A.sym.txt:java.security.sasl-A.sym.txt:java.smartcardio-A.sym.txt:java.sql-A.sym.txt:java.sql.rowset-A.sym.txt:java.transaction-A.sym.txt:java.xml-A.sym.txt:java.xml.bind-A.sym.txt:java.xml.crypto-A.sym.txt:java.xml.ws-A.sym.txt:java.xml.ws.annotation-A.sym.txt:jdk.accessibility-A.sym.txt:jdk.attach-A.sym.txt:jdk.charsets-A.sym.txt:jdk.compiler-A.sym.txt:jdk.crypto.cryptoki-A.sym.txt:jdk.crypto.ec-A.sym.txt:jdk.dynalink-A.sym.txt:jdk.editpad-A.sym.txt:jdk.hotspot.agent-A.sym.txt:jdk.httpserver-A.sym.txt:jdk.incubator.httpclient-A.sym.txt:jdk.jartool-A.sym.txt:jdk.javadoc-A.sym.txt:jdk.jcmd-A.sym.txt:jdk.jconsole-A.sym.txt:jdk.jdeps-A.sym.txt:jdk.jdi-A.sym.txt:jdk.jdwp.agent-A.sym.txt:jdk.jlink-A.sym.txt:jdk.jshell-A.sym.txt:jdk.jsobject-A.sym.txt:jdk.jstatd-A.sym.txt:jdk.localedata-A.sym.txt:jdk.management-A.sym.txt:jdk.management.agent-A.sym.txt:jdk.naming.dns-A.sym.txt:jdk.naming.rmi-A.sym.txt:jdk.net-A.sym.txt:jdk.pack-A.sym.txt:jdk.policytool-A.sym.txt:jdk.rmic-A.sym.txt:jdk.scripting.nashorn-A.sym.txt:jdk.sctp-A.sym.txt:jdk.security.auth-A.sym.txt:jdk.security.jgss-A.sym.txt:jdk.unsupported-A.sym.txt:jdk.xml.dom-A.sym.txt:jdk.zipfs-A.sym.txt
+platform version B base A files java.activation-B.sym.txt:java.base-B.sym.txt:java.compiler-B.sym.txt:java.corba-B.sym.txt:java.datatransfer-B.sym.txt:java.desktop-B.sym.txt:java.instrument-B.sym.txt:java.logging-B.sym.txt:java.management-B.sym.txt:java.management.rmi-B.sym.txt:java.naming-B.sym.txt:java.net.http-B.sym.txt:java.prefs-B.sym.txt:java.rmi-B.sym.txt:java.scripting-B.sym.txt:java.se-B.sym.txt:java.se.ee-B.sym.txt:java.security.jgss-B.sym.txt:java.security.sasl-B.sym.txt:java.smartcardio-B.sym.txt:java.sql-B.sym.txt:java.sql.rowset-B.sym.txt:java.transaction-B.sym.txt:java.transaction.xa-B.sym.txt:java.xml-B.sym.txt:java.xml.bind-B.sym.txt:java.xml.crypto-B.sym.txt:java.xml.ws-B.sym.txt:java.xml.ws.annotation-B.sym.txt:jdk.accessibility-B.sym.txt:jdk.attach-B.sym.txt:jdk.charsets-B.sym.txt:jdk.compiler-B.sym.txt:jdk.crypto.cryptoki-B.sym.txt:jdk.crypto.ec-B.sym.txt:jdk.dynalink-B.sym.txt:jdk.editpad-B.sym.txt:jdk.hotspot.agent-B.sym.txt:jdk.httpserver-B.sym.txt:jdk.incubator.httpclient-B.sym.txt:jdk.jartool-B.sym.txt:jdk.javadoc-B.sym.txt:jdk.jcmd-B.sym.txt:jdk.jconsole-B.sym.txt:jdk.jdeps-B.sym.txt:jdk.jdi-B.sym.txt:jdk.jdwp.agent-B.sym.txt:jdk.jfr-B.sym.txt:jdk.jlink-B.sym.txt:jdk.jshell-B.sym.txt:jdk.jsobject-B.sym.txt:jdk.jstatd-B.sym.txt:jdk.localedata-B.sym.txt:jdk.management-B.sym.txt:jdk.management.agent-B.sym.txt:jdk.management.jfr-B.sym.txt:jdk.naming.dns-B.sym.txt:jdk.naming.rmi-B.sym.txt:jdk.net-B.sym.txt:jdk.pack-B.sym.txt:jdk.rmic-B.sym.txt:jdk.scripting.nashorn-B.sym.txt:jdk.sctp-B.sym.txt:jdk.security.auth-B.sym.txt:jdk.security.jgss-B.sym.txt:jdk.unsupported-B.sym.txt:jdk.xml.dom-B.sym.txt:jdk.zipfs-B.sym.txt
--- a/make/gendata/Gendata-jdk.compiler.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/gendata/Gendata-jdk.compiler.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -42,7 +42,7 @@
 # Get the complete module source path:
 CT_MODULESOURCEPATH := $(call GetModuleSrcPath)
 
-CT_DATA_DESCRIPTION ?= $(TOPDIR)/make/data/symbols/symbols
+CT_DATA_DESCRIPTION += $(TOPDIR)/make/data/symbols/symbols
 
 COMPILECREATESYMBOLS_ADD_EXPORTS := \
     --add-exports jdk.compiler.interim/com.sun.tools.javac.api=ALL-UNNAMED \
--- a/make/hotspot/gensrc/GensrcDtrace.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/hotspot/gensrc/GensrcDtrace.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -74,6 +74,8 @@
         TOOLCHAIN := $(TOOLCHAIN_BUILD), \
         LDFLAGS := -m64, \
         CFLAGS := -m64 $(JVM_CFLAGS), \
+        DISABLED_WARNINGS_solstudio := hidef w_novirtualdescr unknownpragma \
+            doubunder nokeyworddefine wunreachable, \
         EXTRA_DEPS := $(JVMTI_H), \
         OBJECT_DIR := $(JVM_VARIANT_OUTPUTDIR)/tools/dtrace-gen-offsets/objs, \
         OUTPUT_DIR := $(JVM_VARIANT_OUTPUTDIR)/tools/dtrace-gen-offsets, \
--- a/make/hotspot/lib/CompileGtest.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/hotspot/lib/CompileGtest.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -73,11 +73,14 @@
     CFLAGS_windows := -EHsc, \
     CFLAGS_solaris := -DGTEST_HAS_EXCEPTIONS=0 -library=stlport4, \
     CFLAGS_macosx := -DGTEST_OS_MAC=1, \
-    DISABLED_WARNINGS_gcc := undef, \
-    DISABLED_WARNINGS_clang := undef switch format-nonliteral \
-        tautological-undefined-compare $(BUILD_LIBJVM_DISABLED_WARNINGS_clang), \
-    DISABLED_WARNINGS_solstudio := identexpected, \
-    DISABLED_WARNINGS_CXX_microsoft := 4996, \
+    DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc) \
+        undef, \
+    DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang) \
+        undef switch format-nonliteral tautological-undefined-compare, \
+    DISABLED_WARNINGS_solstudio := $(DISABLED_WARNINGS_solstudio) \
+        identexpected, \
+    DISABLED_WARNINGS_microsoft := $(DISABLED_WARNINGS_microsoft) \
+        4996, \
     LDFLAGS := $(JVM_LDFLAGS), \
     LDFLAGS_solaris := -library=stlport4 $(call SET_SHARED_LIBRARY_ORIGIN), \
     LIBS := $(JVM_LIBS), \
--- a/make/hotspot/lib/CompileJvm.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/hotspot/lib/CompileJvm.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -80,6 +80,35 @@
     #
 
 ################################################################################
+# Disabled warnings
+
+DISABLED_WARNINGS_gcc := extra parentheses comment unknown-pragmas address \
+    delete-non-virtual-dtor char-subscripts array-bounds int-in-bool-context \
+    ignored-qualifiers  missing-field-initializers implicit-fallthrough \
+    empty-body strict-overflow sequence-point maybe-uninitialized \
+    misleading-indentation
+
+ifeq ($(call check-jvm-feature, zero), true)
+  DISABLED_WARNINGS_gcc += return-type switch
+endif
+
+DISABLED_WARNINGS_clang := tautological-compare deprecated-declarations \
+    undefined-var-template sometimes-uninitialized unknown-pragmas \
+    delete-non-virtual-dtor missing-braces char-subscripts \
+    ignored-qualifiers missing-field-initializers mismatched-tags
+
+DISABLED_WARNINGS_solstudio := labelnotused hidef w_novirtualdescr inlafteruse \
+    unknownpragma doubunder w_enumnotused w_toomanyenumnotused \
+    wvarhidenmem wunreachable wnoretvalue notemsource
+
+DISABLED_WARNINGS_xlc := 1540-0216 1540-0198 1540-1090 1540-1639 1540-1088 \
+    1500-010
+
+DISABLED_WARNINGS_microsoft :=
+
+
+
+################################################################################
 # Platform specific setup
 
 # ARM source selection
@@ -115,7 +144,7 @@
   endif
   # Exclude warnings in devstudio 12.6
   ifeq ($(CC_VERSION_NUMBER), 5.15)
-    DISABLED_WARNINGS_solstudio := SEC_ARR_OUTSIDE_BOUND_READ \
+    DISABLED_WARNINGS_solstudio += SEC_ARR_OUTSIDE_BOUND_READ \
       SEC_ARR_OUTSIDE_BOUND_WRITE
   endif
 endif
@@ -158,10 +187,11 @@
     CFLAGS := $(JVM_CFLAGS), \
     vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
     arguments.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
-    DISABLED_WARNINGS_clang := tautological-compare, \
+    DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc), \
+    DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang), \
     DISABLED_WARNINGS_solstudio := $(DISABLED_WARNINGS_solstudio), \
-    DISABLED_WARNINGS_xlc := 1540-0216 1540-0198 1540-1090 1540-1639 \
-        1540-1088 1500-010, \
+    DISABLED_WARNINGS_xlc := $(DISABLED_WARNINGS_xlc), \
+    DISABLED_WARNINGS_microsoft := $(DISABLED_WARNINGS_microsoft), \
     ASFLAGS := $(JVM_ASFLAGS), \
     LDFLAGS := $(JVM_LDFLAGS), \
     LIBS := $(JVM_LIBS), \
--- a/make/hotspot/lib/JvmOverrideFiles.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/hotspot/lib/JvmOverrideFiles.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -38,20 +38,26 @@
   BUILD_LIBJVM_interp_masm_x86.cpp_CXXFLAGS := -Wno-uninitialized
 endif
 
+LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NONE)
+# If the FDLIBM_CFLAGS variable is non-empty we know
+# that the fdlibm-fork in hotspot can get optimized
+# by using -ffp-contract=off on GCC/Clang platforms.
+ifneq ($(FDLIBM_CFLAGS), )
+  LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NORM)
+endif
+
 ifeq ($(OPENJDK_TARGET_OS), linux)
   BUILD_LIBJVM_ostream.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
   BUILD_LIBJVM_logFileOutput.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
 
-  ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
-    BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(CXX_O_FLAG_NONE)
-    BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(CXX_O_FLAG_NONE)
+  BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
+  BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
 
-    ifeq ($(TOOLCHAIN_TYPE), clang)
-      JVM_PRECOMPILED_HEADER_EXCLUDE := \
-          sharedRuntimeTrig.cpp \
-          sharedRuntimeTrans.cpp \
-          #
-    endif
+  ifeq ($(TOOLCHAIN_TYPE), clang)
+    JVM_PRECOMPILED_HEADER_EXCLUDE := \
+	sharedRuntimeTrig.cpp \
+	sharedRuntimeTrans.cpp \
+	#
   endif
 
   ifeq ($(OPENJDK_TARGET_CPU), x86)
@@ -120,8 +126,8 @@
 
 else ifeq ($(OPENJDK_TARGET_OS), macosx)
   # The copied fdlibm routines in these files must not be optimized
-  BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(CXX_O_FLAG_NONE)
-  BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := $(CXX_O_FLAG_NONE)
+  BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
+  BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
   ifeq ($(TOOLCHAIN_TYPE), clang)
     # NOTE: The old build tested clang version to make sure this workaround
     # for the clang bug was still needed.
--- a/make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesCompiler.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesCompiler.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -65,8 +65,6 @@
 import java.text.ParsePosition;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.NoSuchElementException;
@@ -76,6 +74,7 @@
 import java.util.regex.Matcher;
 import java.util.regex.MatchResult;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 /**
  * A compiler that reads a set of TZDB time-zone files and builds a single
@@ -256,8 +255,10 @@
             for (String regionId : regionArray) {
                 out.writeUTF(regionId);
             }
-            // rules  -- hashset -> remove the dup
-            List<ZoneRules> rulesList = new ArrayList<>(new HashSet<>(builtZones.values()));
+            // rules  -- remove the dup
+            List<ZoneRules> rulesList = builtZones.values().stream()
+                .distinct()
+                .collect(Collectors.toList());
             out.writeShort(rulesList.size());
             ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
             for (ZoneRules rules : rulesList) {
--- a/make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
@@ -33,8 +33,6 @@
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -43,7 +41,7 @@
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.TreeSet;
-import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentSkipListMap;
 import java.time.*;
 import java.time.Year;
 import java.time.chrono.IsoChronology;
@@ -131,18 +129,18 @@
     /**
      * Zone region to rules mapping
      */
-    private final Map<String, Object> zones = new ConcurrentHashMap<>();
+    private final Map<String, Object> zones = new ConcurrentSkipListMap<>();
 
     /**
      * compatibility list
      */
-    private static HashSet<String> excludedZones;
+    private static Set<String> excludedZones;
     static {
         // (1) exclude EST, HST and MST. They are supported
         //     via the short-id mapping
         // (2) remove UTC and GMT
         // (3) remove ROC, which is not supported in j.u.tz
-        excludedZones = new HashSet<>(10);
+        excludedZones = new TreeSet<>();
         excludedZones.add("EST");
         excludedZones.add("HST");
         excludedZones.add("MST");
@@ -151,8 +149,8 @@
         excludedZones.add("ROC");
     }
 
-    private Map<String, String> links = new HashMap<>(150);
-    private Map<String, List<RuleLine>> rules = new HashMap<>(500);
+    private Map<String, String> links = new TreeMap<>();
+    private Map<String, List<RuleLine>> rules = new TreeMap<>();
 
     private void load(List<Path> files) throws IOException {
 
--- a/make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java	Mon Sep 24 10:59:26 2018 -0700
@@ -120,6 +120,8 @@
 import com.sun.tools.classfile.Module_attribute.OpensEntry;
 import com.sun.tools.classfile.Module_attribute.ProvidesEntry;
 import com.sun.tools.classfile.Module_attribute.RequiresEntry;
+import com.sun.tools.classfile.NestHost_attribute;
+import com.sun.tools.classfile.NestMembers_attribute;
 import com.sun.tools.classfile.RuntimeAnnotations_attribute;
 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute;
 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute;
@@ -134,7 +136,20 @@
 import com.sun.tools.javac.util.Pair;
 
 /**
- * A tool for processing the .sym.txt files. It allows to:
+ * A tool for processing the .sym.txt files.
+ *
+ * To add historical data for JDK N, N >= 11, do the following:
+ *  * cd <open-jdk-checkout>/make/data/symbols
+ *  * <jdk-N>/bin/java --add-exports jdk.jdeps/com.sun.tools.classfile=ALL-UNNAMED \
+ *                     --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
+ *                     --add-exports jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED \
+ *                     --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \
+ *                     --add-modules jdk.jdeps \
+ *                     ../../../make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java \
+ *                     build-description-incremental symbols include.list
+ *  * sanity-check the new and updates files in make/data/symbols and commit them
+ *
+ * The tools allows to:
  *  * convert the .sym.txt into class/sig files for ct.sym
  *  * in cooperation with the adjacent history Probe, construct .sym.txt files for previous platforms
  *  * enhance existing .sym.txt files with a a new set .sym.txt for the current platform
@@ -186,9 +201,6 @@
  *
  * Note: the versions are expected to be a single character.
  *
- * To enhance existing historical data with data for JDK N, run:
- *     <jdk-N>/bin/java build.tools.symbolgenerator.CreateSymbols build-description-incremental make/data/symbols/symbols make/data/symbols/include.list
- *
  */
 public class CreateSymbols {
 
@@ -197,11 +209,15 @@
      * {@code ctDescriptionFile}, using the file as a recipe to create the sigfiles.
      */
     @SuppressWarnings("unchecked")
-    public void createSymbols(String ctDescriptionFile, String ctSymLocation, CtSymKind ctSymKind) throws IOException {
-        LoadDescriptions data = load(Paths.get(ctDescriptionFile), null);
+    public void createSymbols(String ctDescriptionFileExtra, String ctDescriptionFile, String ctSymLocation) throws IOException {
+        LoadDescriptions data = load(ctDescriptionFileExtra != null ? Paths.get(ctDescriptionFileExtra)
+                                                                    : null,
+                                     Paths.get(ctDescriptionFile), null);
 
         splitHeaders(data.classes);
 
+        Map<String, Map<Character, String>> package2Version2Module = new HashMap<>();
+
         for (ModuleDescription md : data.modules.values()) {
             for (ModuleHeaderDescription mhd : md.header) {
                 List<String> versionsList =
@@ -210,26 +226,41 @@
                                         md,
                                         mhd,
                                         versionsList);
+                mhd.exports.stream().forEach(pkg -> {
+                    for (char v : mhd.versions.toCharArray()) {
+                        package2Version2Module.computeIfAbsent(pkg, dummy -> new HashMap<>()).put(v, md.name);
+                    }
+                });
             }
         }
 
         for (ClassDescription classDescription : data.classes) {
+            Map<Character, String> version2Module = package2Version2Module.getOrDefault(classDescription.packge().replace('.', '/'), Collections.emptyMap());
             for (ClassHeaderDescription header : classDescription.header) {
-                switch (ctSymKind) {
-                    case JOINED_VERSIONS:
-                        Set<String> jointVersions = new HashSet<>();
-                        jointVersions.add(header.versions);
-                        limitJointVersion(jointVersions, classDescription.fields);
-                        limitJointVersion(jointVersions, classDescription.methods);
-                        writeClassesForVersions(ctSymLocation, classDescription, header, jointVersions);
-                        break;
-                    case SEPARATE:
-                        Set<String> versions = new HashSet<>();
-                        for (char v : header.versions.toCharArray()) {
-                            versions.add("" + v);
+                Set<String> jointVersions = new HashSet<>();
+                jointVersions.add(header.versions);
+                limitJointVersion(jointVersions, classDescription.fields);
+                limitJointVersion(jointVersions, classDescription.methods);
+                Map<String, StringBuilder> module2Versions = new HashMap<>();
+                for (char v : header.versions.toCharArray()) {
+                    String module = version2Module.get(v);
+                    if (module == null) {
+                        if (v >= '9') {
+                            throw new AssertionError("No module for " + classDescription.name +
+                                                     " and version " + v);
                         }
-                        writeClassesForVersions(ctSymLocation, classDescription, header, versions);
-                        break;
+                        module = version2Module.get('9');
+                        if (module == null) {
+                            module = "java.base";
+                        }
+                    }
+                    module2Versions.computeIfAbsent(module, dummy -> new StringBuilder()).append(v);
+                }
+                for (Entry<String, StringBuilder> e : module2Versions.entrySet()) {
+                    Set<String> currentVersions = new HashSet<>(jointVersions);
+                    limitJointVersion(currentVersions, e.getValue().toString());
+                    currentVersions = currentVersions.stream().filter(vers -> !disjoint(vers, e.getValue().toString())).collect(Collectors.toSet());
+                    writeClassesForVersions(ctSymLocation, classDescription, header, e.getKey(), currentVersions);
                 }
             }
         }
@@ -237,11 +268,34 @@
 
     public static String EXTENSION = ".sig";
 
-    LoadDescriptions load(Path ctDescription, String deletePlatform) throws IOException {
-        List<PlatformInput> platforms = new ArrayList<>();
+    LoadDescriptions load(Path ctDescriptionWithExtraContent, Path ctDescriptionOpen, String deletePlatform) throws IOException {
+        Map<String, PlatformInput> platforms = new LinkedHashMap<>();
+
+        if (ctDescriptionWithExtraContent != null && Files.isRegularFile(ctDescriptionWithExtraContent)) {
+            try (LineBasedReader reader = new LineBasedReader(ctDescriptionWithExtraContent)) {
+                while (reader.hasNext()) {
+                    switch (reader.lineKey) {
+                        case "generate":
+                            //ignore
+                            reader.moveNext();
+                            break;
+                        case "platform":
+                            PlatformInput platform = PlatformInput.load(ctDescriptionWithExtraContent,
+                                                                        reader);
+                            if (!platform.version.equals(deletePlatform))
+                                platforms.put(platform.version, platform);
+                            reader.moveNext();
+                            break;
+                        default:
+                            throw new IllegalStateException("Unknown key: " + reader.lineKey);
+                    }
+                }
+            }
+        }
+
         Set<String> generatePlatforms = null;
 
-        try (LineBasedReader reader = new LineBasedReader(ctDescription)) {
+        try (LineBasedReader reader = new LineBasedReader(ctDescriptionOpen)) {
             while (reader.hasNext()) {
                 switch (reader.lineKey) {
                     case "generate":
@@ -251,9 +305,10 @@
                         reader.moveNext();
                         break;
                     case "platform":
-                        PlatformInput platform = PlatformInput.load(reader);
-                        if (!platform.version.equals(deletePlatform))
-                            platforms.add(platform);
+                        PlatformInput platform = PlatformInput.load(ctDescriptionOpen, reader);
+                        if (!platform.version.equals(deletePlatform) &&
+                            !platforms.containsKey(platform.version))
+                            platforms.put(platform.version, platform);
                         reader.moveNext();
                         break;
                     default:
@@ -265,7 +320,7 @@
         Map<String, ClassDescription> classes = new LinkedHashMap<>();
         Map<String, ModuleDescription> modules = new LinkedHashMap<>();
 
-        for (PlatformInput platform: platforms) {
+        for (PlatformInput platform : platforms.values()) {
             for (ClassDescription cd : classes.values()) {
                 addNewVersion(cd.header, platform.basePlatform, platform.version);
                 addNewVersion(cd.fields, platform.basePlatform, platform.version);
@@ -275,7 +330,7 @@
                 addNewVersion(md.header, platform.basePlatform, platform.version);
             }
             for (String input : platform.files) {
-                Path inputFile = ctDescription.getParent().resolve(input);
+                Path inputFile = platform.ctDescription.getParent().resolve(input);
                 try (LineBasedReader reader = new LineBasedReader(inputFile)) {
                     while (reader.hasNext()) {
                         String nameAttr = reader.attributes.get("name");
@@ -376,7 +431,7 @@
             moduleList.put(desc.name, desc);
         }
 
-        return new LoadDescriptions(result, moduleList, platforms);
+        return new LoadDescriptions(result, moduleList, new ArrayList<>(platforms.values()));
     }
 
     static final class LoadDescriptions {
@@ -462,14 +517,17 @@
         public final String version;
         public final String basePlatform;
         public final List<String> files;
-        public PlatformInput(String version, String basePlatform, List<String> files) {
+        public final Path ctDescription;
+        public PlatformInput(Path ctDescription, String version, String basePlatform, List<String> files) {
+            this.ctDescription = ctDescription;
             this.version = version;
             this.basePlatform = basePlatform;
             this.files = files;
         }
 
-        public static PlatformInput load(LineBasedReader in) throws IOException {
-            return new PlatformInput(in.attributes.get("version"),
+        public static PlatformInput load(Path ctDescription, LineBasedReader in) throws IOException {
+            return new PlatformInput(ctDescription,
+                                     in.attributes.get("version"),
                                      in.attributes.get("base"),
                                      List.of(in.attributes.get("files").split(":")));
         }
@@ -550,7 +608,7 @@
                     newHeader.innerClasses = header.innerClasses;
                     newHeader.runtimeAnnotations = header.runtimeAnnotations;
                     newHeader.signature = header.signature;
-                    newHeader.versions = reduce(versions, header.versions);
+                    newHeader.versions = reduce(header.versions, versions);
 
                     newHeaders.add(newHeader);
                 }
@@ -562,26 +620,30 @@
 
     void limitJointVersion(Set<String> jointVersions, List<? extends FeatureDescription> features) {
         for (FeatureDescription feature : features) {
-            for (String version : jointVersions) {
-                if (!containsAll(feature.versions, version) &&
-                    !disjoint(feature.versions, version)) {
-                    StringBuilder featurePart = new StringBuilder();
-                    StringBuilder otherPart = new StringBuilder();
-                    for (char v : version.toCharArray()) {
-                        if (feature.versions.indexOf(v) != (-1)) {
-                            featurePart.append(v);
-                        } else {
-                            otherPart.append(v);
-                        }
+            limitJointVersion(jointVersions, feature.versions);
+        }
+    }
+
+    void limitJointVersion(Set<String> jointVersions, String versions) {
+        for (String version : jointVersions) {
+            if (!containsAll(versions, version) &&
+                !disjoint(versions, version)) {
+                StringBuilder featurePart = new StringBuilder();
+                StringBuilder otherPart = new StringBuilder();
+                for (char v : version.toCharArray()) {
+                    if (versions.indexOf(v) != (-1)) {
+                        featurePart.append(v);
+                    } else {
+                        otherPart.append(v);
                     }
-                    jointVersions.remove(version);
-                    if (featurePart.length() == 0 || otherPart.length() == 0) {
-                        throw new AssertionError();
-                    }
-                    jointVersions.add(featurePart.toString());
-                    jointVersions.add(otherPart.toString());
-                    break;
                 }
+                jointVersions.remove(version);
+                if (featurePart.length() == 0 || otherPart.length() == 0) {
+                    throw new AssertionError();
+                }
+                jointVersions.add(featurePart.toString());
+                jointVersions.add(otherPart.toString());
+                break;
             }
         }
     }
@@ -605,10 +667,11 @@
     void writeClassesForVersions(String ctSymLocation,
                                  ClassDescription classDescription,
                                  ClassHeaderDescription header,
+                                 String module,
                                  Iterable<String> versions)
             throws IOException {
         for (String ver : versions) {
-            writeClass(ctSymLocation, classDescription, header, ver);
+            writeClass(ctSymLocation, classDescription, header, module, ver);
         }
     }
 
@@ -622,11 +685,6 @@
         }
     }
 
-    public enum CtSymKind {
-        JOINED_VERSIONS,
-        SEPARATE;
-    }
-
     //<editor-fold defaultstate="collapsed" desc="Class Writing">
     void writeModule(String ctSymLocation,
                     ModuleDescription moduleDescription,
@@ -656,7 +714,7 @@
                 attributes);
 
         Path outputClassFile = Paths.get(ctSymLocation,
-                                         version + "-modules",
+                                         version,
                                          moduleDescription.name,
                                          "module-info" + EXTENSION);
 
@@ -672,6 +730,7 @@
     void writeClass(String ctSymLocation,
                     ClassDescription classDescription,
                     ClassHeaderDescription header,
+                    String module,
                     String version) throws IOException {
         List<CPInfo> constantPool = new ArrayList<>();
         constantPool.add(null);
@@ -724,7 +783,13 @@
                 methods.toArray(new Method[0]),
                 attributes);
 
-        Path outputClassFile = Paths.get(ctSymLocation, version, classDescription.name + EXTENSION);
+        Path outputClassFile = Paths.get(ctSymLocation, version);
+
+        if (module != null) {
+            outputClassFile = outputClassFile.resolve(module);
+        }
+
+        outputClassFile = outputClassFile.resolve(classDescription.name + EXTENSION);
 
         Files.createDirectories(outputClassFile.getParent());
 
@@ -817,6 +882,22 @@
     private void addAttributes(ClassHeaderDescription header,
             List<CPInfo> constantPool, Map<String, Attribute> attributes) {
         addGenericAttributes(header, constantPool, attributes);
+        if (header.nestHost != null) {
+            int attributeString = addString(constantPool, Attribute.NestHost);
+            int nestHost = addClass(constantPool, header.nestHost);
+            attributes.put(Attribute.NestHost,
+                           new NestHost_attribute(attributeString, nestHost));
+        }
+        if (header.nestMembers != null && !header.nestMembers.isEmpty()) {
+            int attributeString = addString(constantPool, Attribute.NestMembers);
+            int[] nestMembers = new int[header.nestMembers.size()];
+            int i = 0;
+            for (String intf : header.nestMembers) {
+                nestMembers[i++] = addClass(constantPool, intf);
+            }
+            attributes.put(Attribute.NestMembers,
+                           new NestMembers_attribute(attributeString, nestMembers));
+        }
         addInnerClassesAttribute(header, constantPool, attributes);
     }
 
@@ -1151,7 +1232,8 @@
 
         List<PlatformInput> platforms =
                 versions.stream()
-                        .map(desc -> new PlatformInput(desc.version,
+                        .map(desc -> new PlatformInput(null,
+                                                       desc.version,
                                                        desc.primaryBaseline,
                                                        null))
                         .collect(Collectors.toList());
@@ -1294,6 +1376,16 @@
 
             ClassHeaderDescription header = clazz.header.get(0);
 
+            if (header.nestMembers != null) {
+                Iterator<String> nestMemberIt = header.nestMembers.iterator();
+
+                while(nestMemberIt.hasNext()) {
+                    String member = nestMemberIt.next();
+                    if (!includedClasses.contains(member))
+                        nestMemberIt.remove();
+                }
+            }
+
             if (header.innerClasses != null) {
                 Iterator<InnerClassInfo> innerClassIt = header.innerClasses.iterator();
 
@@ -1355,14 +1447,19 @@
 
         Map<String, String> package2Modules = new HashMap<>();
 
-        for (ModuleDescription md : modules.values()) {
-            md.header
-              .stream()
-              .filter(h -> h.versions.contains("9"))
-              .flatMap(h -> h.exports.stream())
-              .map(p -> p.replace('/', '.'))
-              .forEach(p -> package2Modules.put(p, md.name));
-        }
+        versions.stream()
+                .filter(v -> "9".compareTo(v.version) <= 0)
+                .sorted((v1, v2) -> v1.version.compareTo(v2.version))
+                .forEach(v -> {
+            for (ModuleDescription md : modules.values()) {
+                md.header
+                  .stream()
+                  .filter(h -> h.versions.contains(v.version))
+                  .flatMap(h -> h.exports.stream())
+                  .map(p -> p.replace('/', '.'))
+                  .forEach(p -> package2Modules.putIfAbsent(p, md.name));
+            }
+        });
 
         package2Modules.put("java.awt.dnd.peer", "java.desktop");
         package2Modules.put("java.awt.peer", "java.desktop");
@@ -1480,7 +1577,7 @@
                 Integer.toString(Integer.parseInt(specVersion), Character.MAX_RADIX);
         currentVersion = currentVersion.toUpperCase(Locale.ROOT);
         Path ctDescriptionPath = Paths.get(ctDescriptionFile).toAbsolutePath();
-        LoadDescriptions data = load(ctDescriptionPath, currentVersion);
+        LoadDescriptions data = load(null, ctDescriptionPath, currentVersion);
 
         ClassList classes = data.classes;
         Map<String, ModuleDescription> modules = data.modules;
@@ -1504,7 +1601,7 @@
                                .version;
         }
 
-        versions.add(new PlatformInput(currentVersion, baseline, null));
+        versions.add(new PlatformInput(null, currentVersion, baseline, null));
         dumpDescriptions(classes, modules, versions, ctDescriptionPath, args);
     }
 
@@ -1882,6 +1979,22 @@
             case Attribute.ModulePackages:
             case Attribute.ModuleHashes:
                 break;
+            case Attribute.NestHost: {
+                assert feature instanceof ClassHeaderDescription;
+                NestHost_attribute nestHost = (NestHost_attribute) attr;
+                ClassHeaderDescription chd = (ClassHeaderDescription) feature;
+                chd.nestHost = nestHost.getNestTop(cf.constant_pool).getName();
+                break;
+            }
+            case Attribute.NestMembers: {
+                assert feature instanceof ClassHeaderDescription;
+                NestMembers_attribute nestMembers = (NestMembers_attribute) attr;
+                ClassHeaderDescription chd = (ClassHeaderDescription) feature;
+                chd.nestMembers = Arrays.stream(nestMembers.members_indexes)
+                                        .mapToObj(i -> getClassName(cf, i))
+                                        .collect(Collectors.toList());
+                break;
+            }
             default:
                 throw new IllegalStateException("Unhandled attribute: " +
                                                 attrName);
@@ -2662,12 +2775,16 @@
     static class ClassHeaderDescription extends HeaderDescription {
         String extendsAttr;
         List<String> implementsAttr;
+        String nestHost;
+        List<String> nestMembers;
 
         @Override
         public int hashCode() {
             int hash = super.hashCode();
             hash = 17 * hash + Objects.hashCode(this.extendsAttr);
             hash = 17 * hash + Objects.hashCode(this.implementsAttr);
+            hash = 17 * hash + Objects.hashCode(this.nestHost);
+            hash = 17 * hash + Objects.hashCode(this.nestMembers);
             return hash;
         }
 
@@ -2686,6 +2803,12 @@
             if (!Objects.equals(this.implementsAttr, other.implementsAttr)) {
                 return false;
             }
+            if (!Objects.equals(this.nestHost, other.nestHost)) {
+                return false;
+            }
+            if (!Objects.equals(this.nestMembers, other.nestMembers)) {
+                return false;
+            }
             return true;
         }
 
@@ -2699,6 +2822,10 @@
                 output.append(" extends " + extendsAttr);
             if (implementsAttr != null && !implementsAttr.isEmpty())
                 output.append(" implements " + serializeList(implementsAttr));
+            if (nestHost != null)
+                output.append(" nestHost " + nestHost);
+            if (nestMembers != null && !nestMembers.isEmpty())
+                output.append(" nestMembers " + serializeList(nestMembers));
             writeAttributes(output);
             output.append("\n");
             writeInnerClasses(output, baselineVersion, version);
@@ -2713,6 +2840,10 @@
             String elementsList = reader.attributes.get("implements");
             implementsAttr = deserializeList(elementsList);
 
+            nestHost = reader.attributes.get("nestHost");
+            String nestMembersList = reader.attributes.get("nestMembers");
+            nestMembers = deserializeList(nestMembersList);
+
             readAttributes(reader);
             reader.moveNext();
             readInnerClasses(reader);
@@ -3526,14 +3657,26 @@
                 break;
             }
             case "build-ctsym":
-                if (args.length != 3) {
+                String ctDescriptionFileExtra;
+                String ctDescriptionFile;
+                String ctSymLocation;
+
+                if (args.length == 3) {
+                    ctDescriptionFileExtra = null;
+                    ctDescriptionFile = args[1];
+                    ctSymLocation = args[2];
+                } else if (args.length == 4) {
+                    ctDescriptionFileExtra = args[1];
+                    ctDescriptionFile = args[2];
+                    ctSymLocation = args[3];
+                } else {
                     help();
                     return ;
                 }
 
-                new CreateSymbols().createSymbols(args[1],
-                                                  args[2],
-                                                  CtSymKind.JOINED_VERSIONS);
+                new CreateSymbols().createSymbols(ctDescriptionFileExtra,
+                                                  ctDescriptionFile,
+                                                  ctSymLocation);
                 break;
         }
     }
--- a/make/launcher/Launcher-java.base.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/launcher/Launcher-java.base.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -38,13 +38,10 @@
 $(eval $(call SetupBuildLauncher, java, \
     CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
     LDFLAGS_solaris := -R$(OPENWIN_HOME)/lib$(OPENJDK_TARGET_CPU_ISADIR), \
-    LIBS_windows := user32.lib comctl32.lib, \
     EXTRA_RC_FLAGS := $(JAVA_RC_FLAGS), \
     VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
     OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/java_objs, \
     OPTIMIZATION := HIGH, \
-    WINDOWS_STATIC_LINK := true, \
-    NO_JAVA_MS := true, \
 ))
 
 $(SUPPORT_OUTPUTDIR)/modules_cmds/java.base/java$(EXE_SUFFIX): $(BUILD_LAUNCHER_java)
@@ -57,11 +54,8 @@
 ifeq ($(OPENJDK_TARGET_OS), windows)
   $(eval $(call SetupBuildLauncher, javaw, \
       CFLAGS := -DJAVAW -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
-      LIBS_windows := user32.lib comctl32.lib, \
       EXTRA_RC_FLAGS := $(JAVA_RC_FLAGS), \
       VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
-      WINDOWS_STATIC_LINK := true, \
-      NO_JAVA_MS := true, \
   ))
 endif
 
--- a/make/launcher/Launcher-jdk.jconsole.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/launcher/Launcher-jdk.jconsole.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -31,5 +31,4 @@
                  --add-modules ALL-DEFAULT \
 		 -Djconsole.showOutputViewer, \
     CFLAGS_windows := -DJAVAW, \
-    LIBS_windows := user32.lib, \
 ))
--- a/make/launcher/Launcher-jdk.pack.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/launcher/Launcher-jdk.pack.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -90,6 +90,7 @@
     CFLAGS_linux := -fPIC, \
     CFLAGS_solaris := -KPIC, \
     CFLAGS_macosx := -fPIC, \
+    DISABLED_WARNINGS_clang := format-nonliteral, \
     LDFLAGS := $(UNPACKEXE_ZIPOBJS) \
         $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
--- a/make/launcher/LauncherCommon.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/launcher/LauncherCommon.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -25,21 +25,6 @@
 
 include JdkNativeCompilation.gmk
 
-ifeq ($(OPENJDK_TARGET_OS), macosx)
-  ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN)
-else
-  ifeq ($(OPENJDK_TARGET_OS), windows)
-  endif
-  ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN,/../lib/jli)
-
-  # Applications expect to be able to link against libjawt without invoking
-  # System.loadLibrary("jawt") first. This was the behaviour described in the
-  # devloper documentation of JAWT and what worked with OpenJDK6.
-  ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
-    ORIGIN_ARG += $(call SET_EXECUTABLE_ORIGIN,/../lib)
-  endif
-endif
-
 # Tell the compiler not to export any functions unless declared so in
 # the source code. On Windows, this is the default and cannot be changed.
 # On Mac, we have always exported all symbols, probably due to oversight
@@ -92,16 +77,12 @@
 #     compile time defines exceeding Visual Studio 2013 limitations.
 # CFLAGS   Additional CFLAGS
 # CFLAGS_windows   Additional CFLAGS_windows
-# LIBS_unix   Additional LIBS_unix
-# LIBS_windows   Additional LIBS_windows
 # LDFLAGS_solaris Additional LDFLAGS_solaris
 # RC_FLAGS   Additional RC_FLAGS
 # MACOSX_SIGNED   On macosx, sign this binary
-# WINDOWS_STATIC_LINK   On windows, link statically with C runtime and libjli.
 # OPTIMIZATION   Override default optimization level (LOW)
 # OUTPUT_DIR   Override default output directory
 # VERSION_INFO_RESOURCE   Override default Windows resource file
-# NO_JAVA_MS   Do not add -ms8m to JAVA_ARGS.
 SetupBuildLauncher = $(NamedParamsMacroTemplate)
 define SetupBuildLauncherBody
   # Setup default values (unless overridden)
@@ -109,27 +90,24 @@
     $1_OPTIMIZATION := LOW
   endif
 
-  ifneq ($$($1_NO_JAVA_MS), true)
-    # The norm is to append -ms8m, unless otherwise instructed.
-    $1_JAVA_ARGS += -ms8m
-  endif
-
   ifeq ($$($1_MAIN_MODULE), )
     $1_MAIN_MODULE := $(MODULE)
   endif
 
-  ifneq ($$($1_JAVA_ARGS), )
-    ifneq ($$($1_EXTRA_JAVA_ARGS), )
-      $1_EXTRA_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
-        $$(addprefix -J, $$($1_EXTRA_JAVA_ARGS)), "$$a"$(COMMA) )) }'
-      $1_CFLAGS += -DEXTRA_JAVA_ARGS=$$($1_EXTRA_JAVA_ARGS_STR)
-    endif
-    $1_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
-        $$(addprefix -J, $$($1_JAVA_ARGS)) -m $$($1_MAIN_MODULE)/$$($1_MAIN_CLASS), "$$a"$(COMMA) )) }'
-    $1_CFLAGS += -DJAVA_ARGS=$$($1_JAVA_ARGS_STR)
+  $1_JAVA_ARGS += -ms8m
+  ifneq ($$($1_MAIN_CLASS), )
+    $1_LAUNCHER_CLASS := -m $$($1_MAIN_MODULE)/$$($1_MAIN_CLASS)
   endif
 
-  $1_LIBS :=
+  ifneq ($$($1_EXTRA_JAVA_ARGS), )
+    $1_EXTRA_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
+      $$(addprefix -J, $$($1_EXTRA_JAVA_ARGS)), "$$a"$(COMMA) )) }'
+    $1_CFLAGS += -DEXTRA_JAVA_ARGS=$$($1_EXTRA_JAVA_ARGS_STR)
+  endif
+  $1_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
+      $$(addprefix -J, $$($1_JAVA_ARGS)) $$($1_LAUNCHER_CLASS), "$$a"$(COMMA) )) }'
+  $1_CFLAGS += -DJAVA_ARGS=$$($1_JAVA_ARGS_STR)
+
   ifeq ($(OPENJDK_TARGET_OS), macosx)
     ifeq ($$($1_MACOSX_SIGNED), true)
       $1_PLIST_FILE := Info-privileged.plist
@@ -138,9 +116,8 @@
       $1_PLIST_FILE := Info-cmdline.plist
     endif
 
-    $1_CFLAGS += -DPACKAGE_PATH='"$(PACKAGE_PATH)"'
-    $1_LDFLAGS += -Wl,-all_load \
-        -sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
+    $1_LDFLAGS += -sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
+
     ifeq ($(STATIC_BUILD), true)
       $1_LDFLAGS += -exported_symbols_list \
               $(SUPPORT_OUTPUTDIR)/build-static/exported.symbols
@@ -153,35 +130,20 @@
           -framework Foundation \
           -framework SystemConfiguration \
           -lstdc++ -liconv
-    else
-      $1_LIBS += $(SUPPORT_OUTPUTDIR)/native/java.base/libjli_static.a
     endif
-    $1_LIBS += -framework Cocoa -framework Security \
-        -framework ApplicationServices
-  endif
-
-  ifeq ($(OPENJDK_TARGET_OS), aix)
-    $1_LDFLAGS += -L$(SUPPORT_OUTPUTDIR)/native/java.base
-    $1_LIBS += -ljli_static
   endif
 
   ifeq ($(USE_EXTERNAL_LIBZ), true)
     $1_LIBS += -lz
   endif
 
-  ifeq ($$($1_WINDOWS_STATIC_LINK), true)
-    $1_CFLAGS += $(filter-out -MD, $(CFLAGS_JDKEXE))
-    $1_WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/jli_static.lib
-  else
-    $1_CFLAGS += $(CFLAGS_JDKEXE)
-    $1_WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
-  endif
+  $1_WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
 
   $$(eval $$(call SetupJdkExecutable, BUILD_LAUNCHER_$1, \
       NAME := $1, \
       EXTRA_FILES := $(LAUNCHER_SRC)/main.c, \
       OPTIMIZATION := $$($1_OPTIMIZATION), \
-      CFLAGS := $$($1_CFLAGS) \
+      CFLAGS := $$(CFLAGS_JDKEXE) $$($1_CFLAGS) \
           $(LAUNCHER_CFLAGS) \
           $(VERSION_CFLAGS) \
           -DLAUNCHER_NAME='"$(LAUNCHER_NAME)"' \
@@ -190,20 +152,25 @@
       CFLAGS_linux := -fPIC, \
       CFLAGS_solaris := -KPIC -DHAVE_GETHRTIME, \
       CFLAGS_windows := $$($1_CFLAGS_windows), \
+      DISABLED_WARNINGS_gcc := unused-function, \
       LDFLAGS := $$(LDFLAGS_JDKEXE) \
-          $$(ORIGIN_ARG) \
+          $$(call SET_EXECUTABLE_ORIGIN) \
           $$($1_LDFLAGS), \
-      LDFLAGS_linux := \
-          -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jli, \
-      LDFLAGS_solaris := $$($1_LDFLAGS_solaris) \
-          -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jli, \
+      LDFLAGS_linux := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
+          -L$(call FindLibDirForModule, java.base), \
+      LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
+          -L$(call FindLibDirForModule, java.base), \
+      LDFLAGS_solaris := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
+          -L$(call FindLibDirForModule, java.base), \
+      LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
       LIBS := $(JDKEXE_LIBS) $$($1_LIBS), \
-      LIBS_unix := $$($1_LIBS_unix), \
-      LIBS_linux := -lpthread -ljli $(LIBDL), \
+      LIBS_linux := -ljli -lpthread $(LIBDL), \
+      LIBS_macosx := -ljli -framework Cocoa -framework Security \
+          -framework ApplicationServices, \
       LIBS_solaris := -ljli -lthread $(LIBDL), \
+      LIBS_aix := -ljli_static, \
       LIBS_windows := $$($1_WINDOWS_JLI_LIB) \
-          $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib advapi32.lib \
-          $$($1_LIBS_windows), \
+          $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib, \
       OUTPUT_DIR := $$($1_OUTPUT_DIR), \
       VERSIONINFO_RESOURCE := $$($1_VERSION_INFO_RESOURCE), \
       EXTRA_RC_FLAGS := $$($1_EXTRA_RC_FLAGS), \
@@ -215,7 +182,7 @@
   $1 += $$(BUILD_LAUNCHER_$1)
   TARGETS += $$($1)
 
-  ifneq (,$(filter $(OPENJDK_TARGET_OS), macosx aix))
+  ifeq ($(OPENJDK_TARGET_OS), aix)
     $$(BUILD_LAUNCHER_$1): $(SUPPORT_OUTPUTDIR)/native/java.base/libjli_static.a
   endif
 
--- a/make/lib/Awt2dLibraries.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Awt2dLibraries.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -55,6 +55,7 @@
     OPTIMIZATION := HIGHEST, \
     CFLAGS := $(CFLAGS_JDKLIB) \
         $(BUILD_LIBMLIB_CFLAGS), \
+    DISABLED_WARNINGS_gcc := unused-function, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LIBS := $(JDKLIB_LIBS), \
@@ -225,8 +226,9 @@
     CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
     EXTRA_HEADER_DIRS := $(LIBAWT_EXTRA_HEADER_DIRS), \
     DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
-        format-nonliteral parentheses, \
-    DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
+        format-nonliteral parentheses unused-value unused-function, \
+    DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer \
+        sign-compare format-nonliteral, \
     DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \
     DISABLED_WARNINGS_microsoft := 4244 4267 4996, \
     ASFLAGS := $(LIBAWT_ASFLAGS), \
@@ -292,7 +294,6 @@
         #
 
     LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \
-        -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
         $(FONTCONFIG_CFLAGS) \
         $(CUPS_CFLAGS)
 
@@ -335,7 +336,9 @@
         DISABLED_WARNINGS_gcc := type-limits pointer-to-int-cast \
             unused-result maybe-uninitialized format \
             format-security int-to-pointer-cast parentheses \
-            implicit-fallthrough, \
+            implicit-fallthrough undef unused-function, \
+        DISABLED_WARNINGS_clang := parentheses format undef \
+            logical-op-parentheses format-nonliteral int-conversion, \
         DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE \
             E_ASSIGNMENT_TYPE_MISMATCH E_NON_CONST_INIT, \
         LDFLAGS := $(LDFLAGS_JDKLIB) \
@@ -358,8 +361,6 @@
 # The fast floor code loses precision.
 LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR
 
-LCMS_CFLAGS_JDKLIB := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB))
-
 ifeq ($(USE_EXTERNAL_LCMS), true)
   # If we're using an external library, we'll just need the wrapper part.
   # By including it explicitly, all other files will be excluded.
@@ -375,7 +376,7 @@
     NAME := lcms, \
     INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
     OPTIMIZATION := HIGHEST, \
-    CFLAGS := $(LCMS_CFLAGS_JDKLIB) \
+    CFLAGS := $(CFLAGS_JDKLIB) \
         $(LCMS_CFLAGS), \
     CFLAGS_solaris := -xc99=no_lib, \
     CFLAGS_windows := -DCMS_IS_WINDOWS_, \
@@ -383,8 +384,9 @@
         common/awt/debug \
         libawt/java2d, \
     HEADERS_FROM_SRC := $(LIBLCMS_HEADERS_FROM_SRC), \
-    DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \
-    DISABLED_WARNINGS_clang := tautological-compare, \
+    DISABLED_WARNINGS_gcc := format-nonliteral type-limits \
+        misleading-indentation undef unused-function, \
+    DISABLED_WARNINGS_clang := tautological-compare format-nonliteral undef, \
     DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
     DISABLED_WARNINGS_microsoft := 4819, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
@@ -459,7 +461,7 @@
       #
 
   LIBAWT_HEADLESS_CFLAGS := $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) $(X_CFLAGS) \
-      -DHEADLESS=true -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
+      -DHEADLESS=true
 
   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
       NAME := awt_headless, \
@@ -469,6 +471,7 @@
       CFLAGS := $(CFLAGS_JDKLIB) \
           $(LIBAWT_HEADLESS_CFLAGS), \
       EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \
+      DISABLED_WARNINGS_gcc := unused-function, \
       DISABLED_WARNINGS_xlc := 1506-356, \
       DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
@@ -607,11 +610,13 @@
     EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
     WARNINGS_AS_ERRORS_xlc := false, \
     DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
-        type-limits missing-field-initializers implicit-fallthrough strict-aliasing, \
+        type-limits missing-field-initializers implicit-fallthrough \
+        strict-aliasing undef unused-function, \
     DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
         maybe-uninitialized, \
     DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
-        tautological-constant-out-of-range-compare int-to-pointer-cast, \
+        tautological-constant-out-of-range-compare int-to-pointer-cast \
+        sign-compare undef missing-field-initializers, \
     DISABLED_WARNINGS_C_solstudio = \
         E_INTEGER_OVERFLOW_DETECTED \
         E_ARG_INCOMPATIBLE_WITH_ARG_L \
@@ -718,6 +723,7 @@
       OPTIMIZATION := LOW, \
       CFLAGS := $(CFLAGS_JDKLIB) \
           $(JAWT_CFLAGS), \
+      DISABLED_WARNINGS_clang := sign-compare, \
       EXTRA_HEADER_DIRS := \
           include \
           common/awt, \
@@ -851,8 +857,9 @@
           $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
       EXTRA_HEADER_DIRS := $(LIBSPLASHSCREEN_HEADER_DIRS), \
       DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \
-          maybe-uninitialized shift-negative-value implicit-fallthrough, \
-      DISABLED_WARNINGS_clang := incompatible-pointer-types, \
+          maybe-uninitialized shift-negative-value implicit-fallthrough \
+          unused-function, \
+      DISABLED_WARNINGS_clang := incompatible-pointer-types sign-compare, \
       DISABLED_WARNINGS_solstudio := E_NEWLINE_NOT_LAST E_DECLARATION_IN_CODE \
           E_STATEMENT_NOT_REACHED, \
       DISABLED_WARNINGS_microsoft := 4018 4244 4267, \
@@ -911,7 +918,9 @@
       EXTRA_HEADER_DIRS := $(LIBAWT_LWAWT_EXTRA_HEADER_DIRS), \
       DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \
           deprecated-declarations objc-method-access bitwise-op-parentheses \
-          incompatible-pointer-types parentheses-equality extra-tokens, \
+          incompatible-pointer-types parentheses-equality extra-tokens \
+          sign-compare semicolon-before-method-body format-nonliteral undef \
+          pointer-arith, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN) \
           -L$(INSTALL_LIBRARIES_HERE), \
@@ -952,7 +961,7 @@
       EXTRA_HEADER_DIRS := \
           libawt_lwawt/awt \
           libosxapp, \
-      DISABLED_WARNINGS_clang := deprecated-declarations, \
+      DISABLED_WARNINGS_clang := deprecated-declarations sign-compare, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN) \
           -Wl$(COMMA)-rpath$(COMMA)@loader_path \
--- a/make/lib/CoreLibraries.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/CoreLibraries.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -49,40 +49,21 @@
 LIBFDLIBM_SRC := $(TOPDIR)/src/java.base/share/native/libfdlibm
 LIBFDLIBM_CFLAGS := -I$(LIBFDLIBM_SRC) $(FDLIBM_CFLAGS)
 
-ifneq ($(OPENJDK_TARGET_OS), macosx)
-  $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
-      NAME := fdlibm, \
-      TYPE := STATIC_LIBRARY, \
-      OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
-      SRC := $(LIBFDLIBM_SRC), \
-      OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
-      CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
-      CFLAGS_windows_debug := -DLOGGING, \
-      CFLAGS_aix := -qfloat=nomaf, \
-      DISABLED_WARNINGS_gcc := sign-compare misleading-indentation array-bounds, \
-      DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
-      ARFLAGS := $(ARFLAGS), \
-      OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
-  ))
-
-else
-
-  # On macosx the old build does partial (incremental) linking of fdlibm instead of
-  # a plain static library.
-  $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM_MAC, \
-      NAME := fdlibm, \
-      OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
-      SRC := $(LIBFDLIBM_SRC), \
-      CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
-      LDFLAGS := -nostdlib $(ARFLAGS), \
-      OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
-  ))
-
-  BUILD_LIBFDLIBM := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
-  $(BUILD_LIBFDLIBM): $(BUILD_LIBFDLIBM_MAC)
-	$(call install-file)
-
-endif
+$(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
+    NAME := fdlibm, \
+    TYPE := STATIC_LIBRARY, \
+    OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
+    SRC := $(LIBFDLIBM_SRC), \
+    OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
+    CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
+    CFLAGS_windows_debug := -DLOGGING, \
+    CFLAGS_aix := -qfloat=nomaf, \
+    DISABLED_WARNINGS_gcc := sign-compare misleading-indentation array-bounds, \
+    DISABLED_WARNINGS_clang := sign-compare, \
+    DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
+    ARFLAGS := $(ARFLAGS), \
+    OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
+))
 
 ##########################################################################################
 
@@ -97,7 +78,7 @@
     NAME := verify, \
     OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
     CFLAGS := $(CFLAGS_JDKLIB), \
-    DISABLED_WARNINGS_gcc := implicit-fallthrough, \
+    DISABLED_WARNINGS_gcc := implicit-fallthrough unused-function, \
     DISABLED_WARNINGS_microsoft := 4244 4267, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
@@ -125,21 +106,21 @@
     jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \
     EXTRA_HEADER_DIRS := libfdlibm, \
     WARNINGS_AS_ERRORS_xlc := false, \
-    DISABLED_WARNINGS_gcc := unused-result, \
+    DISABLED_WARNINGS_gcc := unused-result unused-function, \
     DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \
     LDFLAGS_windows := -delayload:shell32.dll, \
+    LIBS := $(BUILD_LIBFDLIBM_TARGET), \
     LIBS_unix := -ljvm -lverify, \
-    LIBS_linux := $(LIBDL) $(BUILD_LIBFDLIBM), \
-    LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM), \
-    LIBS_aix := $(LIBDL) $(BUILD_LIBFDLIBM) $(LIBM),\
-    LIBS_macosx := -lfdlibm \
-        -framework CoreFoundation \
+    LIBS_linux := $(LIBDL), \
+    LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL), \
+    LIBS_aix := $(LIBDL) $(LIBM),\
+    LIBS_macosx := -framework CoreFoundation \
         -framework Foundation \
         -framework Security -framework SystemConfiguration, \
-    LIBS_windows := jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
+    LIBS_windows := jvm.lib $(WIN_VERIFY_LIB) \
         shell32.lib delayimp.lib \
         advapi32.lib version.lib, \
 ))
@@ -168,6 +149,7 @@
     CFLAGS := $(CFLAGS_JDKLIB) \
         $(LIBZ_CFLAGS), \
     CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
+    DISABLED_WARNINGS_gcc := unused-function, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \
@@ -200,44 +182,16 @@
 
 ##########################################################################################
 
-ifeq ($(call check-jvm-variant, zero), true)
-  ERGO_FAMILY := zero
-else
-  ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
-    ERGO_FAMILY := i586
-  else
-    ERGO_FAMILY := $(OPENJDK_TARGET_CPU_ARCH)
-  endif
-endif
-LIBJLI_ALL_ERGO := $(wildcard $(addsuffix /ergo_*.c, $(LIBJLI_SRC_DIRS)))
-LIBJLI_EXCLUDE_ERGO := $(filter-out %/ergo_$(ERGO_FAMILY).c, $(LIBJLI_ALL_ERGO))
-# If all specialized ergo files are excluded, use generic ergo
-ifeq ($(LIBJLI_ALL_ERGO), $(LIBJLI_EXCLUDE_ERGO))
-  LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
-endif
-LIBJLI_EXCLUDE_FILES += $(notdir $(LIBJLI_EXCLUDE_ERGO))
-
 ifeq ($(OPENJDK_TARGET_OS), macosx)
-  LIBJLI_EXCLUDE_FILES += java_md_solinux.c ergo.c ergo_i586.c
-
-  BUILD_LIBJLI_java_md_macosx.c_CFLAGS := -x objective-c
-  BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS := -x objective-c
-
-  LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
+  LIBJLI_EXCLUDE_FILES += java_md_solinux.c
 endif
 
 ifeq ($(OPENJDK_TARGET_OS), windows)
-  # Staticically link with c runtime on windows.
-  LIBJLI_CFLAGS_JDKLIB := $(filter-out -MD, $(CFLAGS_JDKLIB))
-  LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)
   # Supply the name of the C runtime lib.
   LIBJLI_CFLAGS += -DMSVCR_DLL_NAME='"$(notdir $(MSVCR_DLL))"'
   ifneq ($(MSVCP_DLL), )
     LIBJLI_CFLAGS += -DMSVCP_DLL_NAME='"$(notdir $(MSVCP_DLL))"'
   endif
-else
-  LIBJLI_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
-  LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)/jli
 endif
 
 LIBJLI_CFLAGS += $(LIBZ_CFLAGS)
@@ -256,18 +210,18 @@
 
 $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
     NAME := jli, \
-    OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
+    OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
     EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
     EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
     OPTIMIZATION := HIGH, \
-    CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
+    CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
+    DISABLED_WARNINGS_gcc := unused-function, \
+    DISABLED_WARNINGS_clang := sometimes-uninitialized format-nonliteral, \
     DISABLED_WARNINGS_solstudio := \
         E_ASM_DISABLES_OPTIMIZATION \
         E_STATEMENT_NOT_REACHED, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
-    LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
-    LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
     LIBS_unix := $(LIBZ_LIBS), \
     LIBS_linux := $(LIBDL) -lpthread, \
     LIBS_solaris := $(LIBDL), \
@@ -280,54 +234,7 @@
 
 LIBJLI_SRC_DIRS := $(call FindSrcDirsForComponent, java.base, libjli)
 
-# On windows, the static library has the same suffix as the import library created by
-# with the shared library, so the static library is given a different name. No harm
-# in doing it for all platform to reduce complexity.
-ifeq ($(OPENJDK_TARGET_OS), windows)
-  $(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
-      NAME := jli_static, \
-      TYPE := STATIC_LIBRARY, \
-      OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
-      SRC := $(LIBJLI_SRC_DIRS), \
-      EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
-      EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
-      OPTIMIZATION := HIGH, \
-      CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
-          $(addprefix -I, $(LIBJLI_SRC_DIRS)), \
-      ARFLAGS := $(ARFLAGS), \
-      OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \
-  ))
-
-  TARGETS += $(BUILD_LIBJLI_STATIC)
-
-else ifeq ($(OPENJDK_TARGET_OS), macosx)
-  #
-  # On macosx they do partial (incremental) linking of libjli_static.a
-  # code it here...rather than add support to NativeCompilation
-  # as this is first time I see it
-  $(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
-      NAME := jli_static, \
-      OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
-      SRC := $(LIBJLI_SRC_DIRS), \
-      EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
-      EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
-      OPTIMIZATION := HIGH, \
-      CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
-          $(addprefix -I, $(LIBJLI_SRC_DIRS)), \
-      LDFLAGS := -nostdlib $(ARFLAGS), \
-      OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \
-  ))
-
-  ifeq ($(STATIC_BUILD), true)
-    TARGETS += $(BUILD_LIBJLI_STATIC)
-  else
-    $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static.a: $(BUILD_LIBJLI_STATIC)
-	$(call install-file)
-
-    TARGETS += $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static.a
-  endif
-
-else ifeq ($(OPENJDK_TARGET_OS), aix)
+ifeq ($(OPENJDK_TARGET_OS), aix)
   # AIX also requires a static libjli because the compiler doesn't support '-rpath'
   $(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
       NAME := jli_static, \
--- a/make/lib/Lib-java.base.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-java.base.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -43,8 +43,9 @@
     NAME := net, \
     OPTIMIZATION := LOW, \
     CFLAGS := $(CFLAGS_JDKLIB), \
-    DISABLED_WARNINGS_gcc := format-nonliteral, \
-    DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand, \
+    DISABLED_WARNINGS_gcc := format-nonliteral unused-function, \
+    DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand \
+        format-nonliteral undef, \
     DISABLED_WARNINGS_microsoft := 4244 4047 4133 4996, \
     DISABLED_WARNINGS_solstudio := E_ARG_INCOMPATIBLE_WITH_ARG_L, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
@@ -71,6 +72,8 @@
     OPTIMIZATION := HIGH, \
     WARNINGS_AS_ERRORS_xlc := false, \
     CFLAGS := $(CFLAGS_JDKLIB), \
+    DISABLED_WARNINGS_gcc := undef, \
+    DISABLED_WARNINGS_clang := undef, \
     EXTRA_HEADER_DIRS := \
         libnio/ch \
         libnio/fs \
@@ -104,7 +107,8 @@
         NAME := osxsecurity, \
         OPTIMIZATION := LOW, \
         CFLAGS := $(CFLAGS_JDKLIB), \
-        DISABLED_WARNINGS_clang := deprecated-declarations, \
+        DISABLED_WARNINGS_clang := deprecated-declarations \
+            missing-method-return-type, \
         LDFLAGS := $(LDFLAGS_JDKLIB) \
             -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
             $(call SET_SHARED_LIBRARY_ORIGIN) \
@@ -130,7 +134,9 @@
   ifeq ($(STATIC_BUILD), false)
     $(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
         NAME := jsig, \
+        OPTIMIZATION := LOW, \
         CFLAGS := $(CFLAGS_JDKLIB) $(LIBJSIG_CFLAGS), \
+        DISABLED_WARNINGS_gcc := undef, \
         LDFLAGS := $(LDFLAGS_JDKLIB) \
             $(call SET_SHARED_LIBRARY_ORIGIN), \
         LIBS_linux := $(LIBDL), \
@@ -172,7 +178,7 @@
 
 ifeq ($(STATIC_BUILD), true)
   JAVA_BASE_EXPORT_SYMBOLS_SRC := \
-      $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jli/$(LIBRARY_PREFIX)jli.symbols \
+      $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)jli.symbols \
       $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)java.symbols \
       $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)net.symbols \
       $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)nio.symbols \
@@ -205,4 +211,4 @@
       DEST := $(call FindLibDirForModule, $(MODULE)), \
   ))
   TARGETS += $(COPY_TZMAPPINGS)
-endif 
+endif
--- a/make/lib/Lib-java.desktop.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-java.desktop.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -66,6 +66,8 @@
       CFLAGS := $(CFLAGS_JDKLIB) \
           $(LIBJSOUND_CFLAGS), \
       CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
+      DISABLED_WARNINGS_gcc := undef, \
+      DISABLED_WARNINGS_clang := undef, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN), \
       LIBS_unix := -ljava -ljvm, \
@@ -92,7 +94,7 @@
       OPTIMIZATION := LOW, \
       CFLAGS := $(CFLAGS_JDKLIB), \
       DISABLED_WARNINGS_clang := objc-method-access objc-root-class \
-          deprecated-declarations, \
+          deprecated-declarations format-nonliteral, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN), \
       LIBS := \
--- a/make/lib/Lib-java.instrument.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-java.instrument.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -31,48 +31,41 @@
 ################################################################################
 
 ifeq ($(OPENJDK_TARGET_OS), windows)
-  # Statically link the C runtime so that there are not dependencies on modules
-  # not on the search patch when invoked from the Windows system directory
-  # (or elsewhere).
-  LIBINSTRUMENT_CFLAGS_JDKLIB := $(filter-out -MD, $(CFLAGS_JDKLIB))
   # equivalent of strcasecmp is stricmp on Windows
   LIBINSTRUMENT_CFLAGS := -Dstrcasecmp=stricmp
-else
-  LIBINSTRUMENT_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
+  WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
 endif
 
 $(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
     NAME := instrument, \
     OPTIMIZATION := LOW, \
-    CFLAGS := $(LIBINSTRUMENT_CFLAGS_JDKLIB) $(LIBINSTRUMENT_CFLAGS), \
+    CFLAGS := $(CFLAGS_JDKLIB) $(LIBINSTRUMENT_CFLAGS), \
     CFLAGS_debug := -DJPLIS_LOGGING, \
     CFLAGS_release := -DNO_JPLIS_LOGGING, \
+    DISABLED_WARNINGS_gcc := unused-function, \
     EXTRA_HEADER_DIRS := java.base:libjli, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN) \
         $(LIBINSTRUMENT_LDFLAGS), \
-    LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli) \
-        -L$(call FindLibDirForModule, java.base)/jli, \
-    LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli) \
-        -L$(call FindLibDirForModule, java.base)/jli, \
-    LDFLAGS_macosx := -Wl$(COMMA)-all_load, \
+    LDFLAGS_linux := -L$(call FindLibDirForModule, java.base), \
+    LDFLAGS_solaris := -L$(call FindLibDirForModule, java.base), \
+    LDFLAGS_macosx := -L$(call FindLibDirForModule, java.base), \
     LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
     LIBS := $(JDKLIB_LIBS), \
     LIBS_unix := -ljava -ljvm $(LIBZ_LIBS), \
     LIBS_linux := -ljli $(LIBDL), \
     LIBS_solaris := -ljli $(LIBDL), \
     LIBS_aix := -liconv -ljli_static $(LIBDL), \
-    LIBS_macosx := -liconv -framework Cocoa -framework Security \
-        -framework ApplicationServices \
-        $(call FindStaticLib, java.base, jli_static), \
+    LIBS_macosx := -ljli -liconv -framework Cocoa -framework Security \
+        -framework ApplicationServices, \
     LIBS_windows := jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
-        $(call FindStaticLib, java.base, jli_static), \
+        $(WINDOWS_JLI_LIB), \
 ))
 
-ifneq ($(filter $(OPENJDK_TARGET_OS), macosx windows aix), )
+ifeq ($(OPENJDK_TARGET_OS), aix)
   $(BUILD_LIBINSTRUMENT): $(call FindStaticLib, java.base, jli_static)
 else
-  $(BUILD_LIBINSTRUMENT): $(call FindLib, java.base, jli, /jli)
+  $(BUILD_LIBINSTRUMENT): $(call FindLib, java.base, jli)
 endif
 $(BUILD_LIBINSTRUMENT): $(call FindLib, java.base, java)
 
--- a/make/lib/Lib-java.security.jgss.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-java.security.jgss.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -31,6 +31,8 @@
     NAME := j2gss, \
     OPTIMIZATION := LOW, \
     CFLAGS := $(CFLAGS_JDKLIB), \
+    DISABLED_WARNINGS_gcc := undef, \
+    DISABLED_WARNINGS_clang := undef, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LIBS := $(LIBDL), \
--- a/make/lib/Lib-jdk.accessibility.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-jdk.accessibility.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -69,7 +69,7 @@
         EXTRA_SRC := common, \
         OPTIMIZATION := LOW, \
         DISABLED_WARNINGS_microsoft := 4311 4302 4312, \
-        CFLAGS := $(filter-out -MD, $(CFLAGS_JDKLIB)) -MT \
+        CFLAGS := $(CFLAGS_JDKLIB) \
             -DACCESSBRIDGE_ARCH_$2, \
         EXTRA_HEADER_DIRS := \
             include/bridge \
--- a/make/lib/Lib-jdk.crypto.cryptoki.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-jdk.crypto.cryptoki.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -31,6 +31,7 @@
     NAME := j2pkcs11, \
     OPTIMIZATION := LOW, \
     CFLAGS := $(CFLAGS_JDKLIB), \
+    DISABLED_WARNINGS_clang := format-nonliteral, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LIBS_unix := $(LIBDL), \
--- a/make/lib/Lib-jdk.crypto.ec.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-jdk.crypto.ec.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -28,24 +28,15 @@
 ################################################################################
 
 ifeq ($(ENABLE_INTREE_EC), true)
-  # On sol-sparc...all libraries are compiled with -xregs=no%appl
-  # (set in CFLAGS_REQUIRED_sparc) except libsunec.so
-  ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
-    BUILD_LIBSUNEC_CFLAGS_JDKLIB := $(filter-out -xregs=no%appl, $(CFLAGS_JDKLIB))
-    BUILD_LIBSUNEC_CXXFLAGS_JDKLIB := $(filter-out -xregs=no%appl, $(CXXFLAGS_JDKLIB))
-  else
-    BUILD_LIBSUNEC_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
-    BUILD_LIBSUNEC_CXXFLAGS_JDKLIB := $(CXXFLAGS_JDKLIB)
-  endif
-
   $(eval $(call SetupJdkLibrary, BUILD_LIBSUNEC, \
       NAME := sunec, \
       TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
       OPTIMIZATION := LOW, \
-      CFLAGS := $(BUILD_LIBSUNEC_CFLAGS_JDKLIB) \
+      CFLAGS := $(CFLAGS_JDKLIB) \
           -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B, \
-      CXXFLAGS := $(BUILD_LIBSUNEC_CXXFLAGS_JDKLIB), \
-      DISABLED_WARNINGS_gcc := sign-compare implicit-fallthrough, \
+      CXXFLAGS := $(CXXFLAGS_JDKLIB), \
+      DISABLED_WARNINGS_gcc := sign-compare implicit-fallthrough unused-value, \
+      DISABLED_WARNINGS_clang := sign-compare, \
       DISABLED_WARNINGS_microsoft := 4101 4244 4146 4018, \
       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
       LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN), \
--- a/make/lib/Lib-jdk.hotspot.agent.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-jdk.hotspot.agent.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -54,7 +54,8 @@
     NAME := saproc, \
     OPTIMIZATION := HIGH, \
     DISABLED_WARNINGS_microsoft := 4267, \
-    DISABLED_WARNINGS_gcc := sign-compare, \
+    DISABLED_WARNINGS_gcc := sign-compare pointer-arith, \
+    DISABLED_WARNINGS_clang := sign-compare pointer-arith format-nonliteral, \
     DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma, \
     CFLAGS := $(CFLAGS_JDKLIB) $(SA_CFLAGS), \
     CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_CFLAGS) $(SA_CXXFLAGS), \
--- a/make/lib/Lib-jdk.jdwp.agent.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-jdk.jdwp.agent.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -53,6 +53,9 @@
     NAME := jdwp, \
     OPTIMIZATION := LOW, \
     CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING, \
+    DISABLED_WARNINGS_gcc := unused-function, \
+    DISABLED_WARNINGS_clang := sometimes-uninitialized format-nonliteral \
+        self-assign, \
     EXTRA_HEADER_DIRS := \
       include \
       libjdwp/export, \
--- a/make/lib/Lib-jdk.management.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-jdk.management.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -48,6 +48,7 @@
     NAME := management_ext, \
     OPTIMIZATION := $(LIBMANAGEMENT_EXT_OPTIMIZATION), \
     CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_EXT_CFLAGS), \
+    DISABLED_WARNINGS_clang := format-nonliteral, \
     LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LIBS := $(JDKLIB_LIBS), \
--- a/make/lib/Lib-jdk.pack.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-jdk.pack.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -37,6 +37,7 @@
     CFLAGS_release := -DPRODUCT, \
     EXTRA_HEADER_DIRS := $(call GetJavaHeaderDir, java.base), \
     DISABLED_WARNINGS_gcc := implicit-fallthrough, \
+    DISABLED_WARNINGS_clang := format-nonliteral, \
     LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LDFLAGS_windows := -map:$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/unpack.map -debug, \
--- a/make/lib/Lib-jdk.sctp.gmk	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/lib/Lib-jdk.sctp.gmk	Mon Sep 24 10:59:26 2018 -0700
@@ -34,6 +34,8 @@
         NAME := sctp, \
         OPTIMIZATION := LOW, \
         CFLAGS := $(CFLAGS_JDKLIB), \
+        DISABLED_WARNINGS_gcc := undef, \
+        DISABLED_WARNINGS_clang := undef, \
         EXTRA_HEADER_DIRS := \
             $(call GetJavaHeaderDir, java.base) \
             java.base:libnet \
--- a/make/scripts/compare.sh	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/scripts/compare.sh	Mon Sep 24 10:59:26 2018 -0700
@@ -65,6 +65,59 @@
 . "$COMPARE_EXCEPTIONS_INCLUDE"
 
 ################################################################################
+#
+# Disassembly diff filters. These filters try to filter out ephemeral parts of the
+# disassembly, such as hard-coded addresses, to be able to catch "actual" differences.
+
+if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
+  if [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then
+    DIS_DIFF_FILTER="$SED \
+        -e 's/^[0-9a-f]\{16\}/<ADDR>:/' \
+        -e 's/^ *[0-9a-f]\{3,12\}:/  <ADDR>:/' \
+        -e 's/:	[0-9a-f][0-9a-f]\( [0-9a-f][0-9a-f]\)\{2,10\}/:	<NUMS>/' \
+        -e 's/\$[a-zA-Z0-9_\$]\{15\}\./<SYM>./' \
+        -e 's/, [0-9a-fx\-]\{1,8\}/, <ADDR>/g' \
+        -e 's/0x[0-9a-f]\{1,8\}/<HEX>/g' \
+        -e 's/\! [0-9a-f]\{1,8\} /! <ADDR> /' \
+        -e 's/call  [0-9a-f]\{4,7\}/call  <ADDR>/' \
+        -e 's/%hi(0),/%hi(<HEX>),/' \
+        "
+  elif [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
+    # Random strings looking like this differ: <.XAKoKoPIac2W0OA.
+    DIS_DIFF_FILTER="$SED \
+        -e 's/<\.[A-Za-z0-9]\{\15}\./<.SYM./' \
+        "
+  fi
+elif [ "$OPENJDK_TARGET_OS" = "windows" ]; then
+  if [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
+    DIS_DIFF_FILTER="$SED -r \
+        -e 's/^  [0-9A-F]{16}: //' \
+        -e 's/^  [0-9A-F]{8}: /  <ADDR>: /' \
+        -e 's/(offset \?\?)_C@_.*/\1<SYM>/' \
+        -e 's/[@?][A-Za-z0-9_]{1,25}/<SYM>/' \
+        -e 's/([-,+])[0-9A-F]{2,16}/\1<HEXSTR>/g' \
+        -e 's/\[[0-9A-F]{4,16}h\]/[<HEXSTR>]/' \
+        -e 's/: ([a-z]{2}[a-z ]{2})        [0-9A-F]{2,16}h?$/: \1        <HEXSTR>/' \
+        -e 's/_20[0-9]{2}_[0-1][0-9]_[0-9]{2}/_<DATE>/' \
+        "
+  elif [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
+    DIS_DIFF_FILTER="$SED -r \
+        -e 's/^  [0-9A-F]{16}: //' \
+        -e 's/\[[0-9A-F]{4,16}h\]/[<HEXSTR>]/' \
+        -e 's/([,+])[0-9A-F]{2,16}h/\1<HEXSTR>/' \
+        -e 's/([a-z]{2}[a-z ]{2})        [0-9A-F]{4,16}$/\1        <HEXSTR>/' \
+        -e 's/\[\?\?_C@_.*/[<SYM>]/' \
+        "
+  fi
+elif [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
+  DIS_DIFF_FILTER="LANG=C $SED \
+      -e 's/0x[0-9a-f]\{3,16\}/<HEXSTR>/g' -e 's/^[0-9a-f]\{12,20\}/<ADDR>/' \
+      -e 's/-20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]-[0-2][0-9]\{5\}/<DATE>/g' \
+      -e 's/), built on .*/), <DATE>/' \
+      "
+fi
+
+################################################################################
 # Compare text files and ignore specific differences:
 #
 #  * Timestamps in Java sources generated by idl2java
--- a/make/scripts/compare_exceptions.sh.incl	Sat Sep 22 20:31:45 2018 -0700
+++ b/make/scripts/compare_exceptions.sh.incl	Mon Sep 24 10:59:26 2018 -0700
@@ -36,548 +36,37 @@
 # Diff exceptions
 
 if [ "$OPENJDK_TARGET_OS" = "linux" ]; then
-
-  STRIP_BEFORE_COMPARE="
-      "
-
   ACCEPTED_BIN_DIFF="
-      ./lib/client/libjsig.so
-      ./lib/client/libjvm.so
-      ./lib/libattach.so
-      ./lib/libdt_socket.so
-      ./lib/libinstrument.so
-      ./lib/libjsdt.so
-      ./lib/libjsig.so
-      ./lib/libmanagement.so
-      ./lib/libnet.so
-      ./lib/libnpt.so
-      ./lib/libverify.so
-      ./lib/minimal/libjsig.so
-      ./lib/minimal/libjvm.so
-      ./lib/server/libjsig.so
       ./lib/server/libjvm.so
-      ./bin/idlj
-      ./bin/jar
-      ./bin/jarsigner
-      ./bin/java
-      ./bin/javac
-      ./bin/javadoc
-      ./bin/javap
-      ./bin/jdeps
-      ./bin/jcmd
-      ./bin/jconsole
-      ./bin/jdb
-      ./bin/jhsdb
-      ./bin/jimage
-      ./bin/jinfo
-      ./bin/jjs
-      ./bin/jlink
-      ./bin/jmap
-      ./bin/jmod
-      ./bin/jps
-      ./bin/jrunscript
-      ./bin/jsadebugd
-      ./bin/jshell
-      ./bin/jstack
-      ./bin/jstat
-      ./bin/jstatd
-      ./bin/keytool
-      ./bin/orbd
-      ./bin/pack200
-      ./bin/rmic
-      ./bin/rmid
-      ./bin/rmiregistry
-      ./bin/schemagen
-      ./bin/serialver
-      ./bin/servertool
-      ./bin/tnameserv
-      ./bin/wsgen
-      ./bin/wsimport
-      ./bin/xjc
       "
-
-  if [ "$OPENJDK_TARGET_CPU" = "arm" ]; then
-    # NOTE: When comparing the old and new hotspot builds, the link time
-    # optimization makes good comparisons impossible. Fulldump compare always
-    # fails and disassembly can end up with some functions in different order.
-    # So for now, accept the difference but put a limit on the size. The
-    # different order of functions shouldn't result in a very big diff.
-    KNOWN_FULLDUMP_DIFF="
-        ./lib/minimal/libjvm.so
-        "
-
-    # Link time optimization adds random numbers to symbol names
-    NEED_DIS_DIFF_FILTER="
-        ./lib/minimal/libjvm.so
-        "
-    DIS_DIFF_FILTER="$SED -r \
-        -e 's/\.[0-9]+/.X/g' \
-        -e 's/\t[0-9a-f]{4} [0-9a-f]{4} /\tXXXX XXXX /' \
-        -e 's/\t[0-9a-f]{5,} /\t<HEX> /' \
-        "
-    KNOWN_DIS_DIFF="
-        ./lib/minimal/libjvm.so
-        "
-    MAX_KNOWN_DIS_DIFF_SIZE="3000"
-
-    NEED_SYMBOLS_DIFF_FILTER="
-        ./lib/minimal/libjvm.so
-        "
-    SYMBOLS_DIFF_FILTER="$SED -r \
-        -e 's/\.[0-9]+/.X/g'
-        "
-  fi
-fi
-
-if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
-
-  STRIP_BEFORE_COMPARE="
-      "
-
+elif [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
+  SKIP_BIN_DIFF="true"
+  SKIP_FULLDUMP_DIFF="true"
+  MAX_KNOWN_DIS_DIFF_SIZE="3000"
   SORT_SYMBOLS="
-      ./lib/server/libjvm.so
       ./lib/libfontmanager.so
       ./lib/libjimage.so
-      ./lib/libsaproc.so
       ./lib/libunpack.so
+      ./lib/server/libjvm.so
       ./bin/unpack200
       "
-
-  SKIP_BIN_DIFF="true"
-
-  ACCEPTED_SMALL_SIZE_DIFF="
-      ./lib/jli/libjli.so
-      ./lib/jspawnhelper
-      ./lib/libJdbcOdbc.so
-      ./lib/libattach.so
-      ./lib/libawt.so
-      ./lib/libawt_headless.so
-      ./lib/libawt_xawt.so
-      ./lib/libdcpr.so
-      ./lib/libdt_socket.so
-      ./lib/libfontmanager.so
-      ./lib/libinstrument.so
-      ./lib/libj2gss.so
-      ./lib/libj2pcsc.so
-      ./lib/libj2pkcs11.so
-      ./lib/libj2ucrypto.so
-      ./lib/libjaas_unix.so
-      ./lib/libjava.so
-      ./lib/libjawt.so
-      ./lib/libjdwp.so
-      ./lib/libjpeg.so
-      ./lib/libjsdt.so
-      ./lib/libjsound.so
-      ./lib/libkcms.so
-      ./lib/liblcms.so
-      ./lib/libmanagement.so
-      ./lib/libmlib_image.so
-      ./lib/libnet.so
-      ./lib/libnio.so
-      ./lib/libnpt.so
-      ./lib/libsctp.so
-      ./lib/libsplashscreen.so
-      ./lib/libsunec.so
-      ./lib/libsunwjdga.so
-      ./lib/libunpack.so
-      ./lib/libverify.so
-      ./lib/libzip.so
-      ./lib/server/64/libjvm_db.so
-      ./lib/server/64/libjvm_dtrace.so
-      ./lib/server/libjvm.so
-      ./lib/server/libjvm_db.so
-      ./lib/server/libjvm_dtrace.so
-      ./bin/idlj
-      ./bin/jar
-      ./bin/jarsigner
-      ./bin/java
-      ./bin/javac
-      ./bin/javadoc
-      ./bin/javap
-      ./bin/jdeps
-      ./bin/jcmd
-      ./bin/jconsole
-      ./bin/jdb
-      ./bin/jimage
-      ./bin/jinfo
-      ./bin/jjs
-      ./bin/jlink
-      ./bin/jmap
-      ./bin/jmod
-      ./bin/jps
-      ./bin/jrunscript
-      ./bin/jsadebugd
-      ./bin/jstack
-      ./bin/jstat
-      ./bin/jstatd
-      ./bin/keytool
-      ./bin/orbd
-      ./bin/pack200
-      ./bin/rmic
-      ./bin/rmid
-      ./bin/rmiregistry
-      ./bin/schemagen
-      ./bin/serialver
-      ./bin/servertool
-      ./bin/tnameserv
-      ./bin/unpack200
-      ./bin/wsgen
-      ./bin/wsimport
-      ./bin/xjc
-      "
-
-  SKIP_FULLDUMP_DIFF="true"
-
-  # Random strings looking like this differ: <.XAKoKoPIac2W0OA.
-  DIS_DIFF_FILTER="$SED \
-      -e 's/<\.[A-Za-z0-9]\{\15}\./<.SYM./' \
-      "
-
-fi
-
-if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then
-
-  STRIP_BEFORE_COMPARE="
-      "
-
-  SORT_SYMBOLS="
-      ./lib/libjsig.so
+  KNOWN_DIS_DIFF="
       ./lib/libfontmanager.so
-      ./lib/libjimage.so
-      ./lib/libsaproc.so
-      ./lib/libunpack.so
-      ./lib/server/libjvm.so
-      ./lib/server/libjvm_dtrace.so
-      ./bin/unpack200
-      "
-
-  SKIP_BIN_DIFF="true"
-
-  ACCEPTED_SMALL_SIZE_DIFF="
-      ./lib/client/libjvm.so
-      ./lib/jli/libjli.so
-      ./lib/jspawnhelper
-      ./lib/libJdbcOdbc.so
-      ./lib/libattach.so
-      ./lib/libawt.so
-      ./lib/libawt_headless.so
-      ./lib/libawt_xawt.so
-      ./lib/libdcpr.so
-      ./lib/libdt_socket.so
-      ./lib/libfontmanager.so
-      ./lib/libinstrument.so
-      ./lib/libj2gss.so
-      ./lib/libj2pcsc.so
-      ./lib/libj2pkcs11.so
-      ./lib/libj2ucrypto.so
-      ./lib/libjaas_unix.so
-      ./lib/libjava.so
-      ./lib/libjawt.so
-      ./lib/libjdwp.so
-      ./lib/libjpeg.so
-      ./lib/libjsdt.so
-      ./lib/libjsound.so
-      ./lib/libkcms.so
-      ./lib/liblcms.so
-      ./lib/libmanagement.so
-      ./lib/libmlib_image.so
-      ./lib/libmlib_image_v.so
-      ./lib/libnet.so
-      ./lib/libnio.so
-      ./lib/libnpt.so
-      ./lib/libsctp.so
-      ./lib/libsplashscreen.so
-      ./lib/libsunec.so
-      ./lib/libsunwjdga.so
-      ./lib/libunpack.so
-      ./lib/libverify.so
-      ./lib/libzip.so
-      ./lib/server/libjvm.so
-      ./bin/idlj
-      ./bin/jar
-      ./bin/jarsigner
-      ./bin/java
-      ./bin/javac
-      ./bin/javadoc
-      ./bin/javap
-      ./bin/jdeps
-      ./bin/jcmd
-      ./bin/jconsole
-      ./bin/jdb
-      ./bin/jimage
-      ./bin/jinfo
-      ./bin/jjs
-      ./bin/jlink
-      ./bin/jmap
-      ./bin/jmod
-      ./bin/jps
-      ./bin/jrunscript
-      ./bin/jsadebugd
-      ./bin/jstack
-      ./bin/jstat
-      ./bin/jstatd
-      ./bin/keytool
-      ./bin/orbd
-      ./bin/pack200
-      ./bin/rmic
-      ./bin/rmid
-      ./bin/rmiregistry
-      ./bin/schemagen
-      ./bin/serialver
-      ./bin/servertool
-      ./bin/tnameserv
-      ./bin/unpack200
-      ./bin/wsgen
-      ./bin/wsimport
-      ./bin/xjc
-      "
-
-  DIS_DIFF_FILTER="$SED \
-      -e 's/^[0-9a-f]\{16\}/<ADDR>:/' \
-      -e 's/^ *[0-9a-f]\{3,12\}:/  <ADDR>:/' \
-      -e 's/:	[0-9a-f][0-9a-f]\( [0-9a-f][0-9a-f]\)\{2,10\}/:	<NUMS>/' \
-      -e 's/\$[a-zA-Z0-9_\$]\{15\}\./<SYM>./' \
-      -e 's/, [0-9a-fx\-]\{1,8\}/, <ADDR>/g' \
-      -e 's/0x[0-9a-f]\{1,8\}/<HEX>/g' \
-      -e 's/\! [0-9a-f]\{1,8\} /! <ADDR> /' \
-      -e 's/call  [0-9a-f]\{4,7\}/call  <ADDR>/' \
-      -e 's/%hi(0),/%hi(<HEX>),/' \
-      "
-
-  KNOWN_DIS_DIFF="
       ./lib/libsaproc.so
   "
-
-  MAX_KNOWN_DIS_DIFF_SIZE="3000"
-
-  ACCEPTED_DIS_DIFF="
-      ./lib/libfontmanager.so
-      ./lib/libsaproc.so
-      ./lib/server/libjvm.so
-  "
-
+elif [ "$OPENJDK_TARGET_OS" = "windows" ]; then
+  SKIP_BIN_DIFF="true"
   SKIP_FULLDUMP_DIFF="true"
-
-fi
-
-
-if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
-
   ACCEPTED_JARZIP_CONTENTS="
-      /modules_libs/java.security.jgss/w2k_lsa_auth.diz
       /modules_libs/java.security.jgss/w2k_lsa_auth.pdb
       /modules_libs/java.security.jgss/w2k_lsa_auth.map
       /modules_libs/java.security.jgss/w2k_lsa_auth.dll
       "
-
-  # Probably should add all libs here
-  ACCEPTED_SMALL_SIZE_DIFF="
-      ./bin/attach.dll
-      ./bin/jsoundds.dll
-      ./bin/client/jvm.dll
-      ./bin/server/jvm.dll
-      ./bin/idlj.exe
-      ./bin/jar.exe
-      ./bin/jarsigner.exe
-      ./bin/java-rmi.exe
-      ./bin/java.exe
-      ./bin/javac.exe
-      ./bin/javadoc.exe
-      ./bin/javap.exe
-      ./bin/jdeps.exe
-      ./bin/javaw.exe
-      ./bin/jcmd.exe
-      ./bin/jconsole.exe
-      ./bin/jdb.exe
-      ./bin/jimage.exe
-      ./bin/jinfo.exe
-      ./bin/jjs.exe
-      ./bin/jlink.exe
-      ./bin/jmap.exe
-      ./bin/jmod.exe
-      ./bin/jps.exe
-      ./bin/jrunscript.exe
-      ./bin/jsadebugd.exe
-      ./bin/jstack.exe
-      ./bin/jstat.exe
-      ./bin/jstatd.exe
-      ./bin/keytool.exe
-      ./bin/kinit.exe
-      ./bin/klist.exe
-      ./bin/ktab.exe
-      ./bin/orbd.exe
-      ./bin/pack200.exe
-      ./bin/rmic.exe
-      ./bin/rmid.exe
-      ./bin/rmiregistry.exe
-      ./bin/schemagen.exe
-      ./bin/serialver.exe
-      ./bin/servertool.exe
-      ./bin/tnameserv.exe
-      ./bin/unpack200.exe
-      ./bin/wsgen.exe
-      ./bin/wsimport.exe
-      ./bin/xjc.exe
-      "
-
-  SORT_SYMBOLS="
-      ./bin/fontmanager.dll
-      "
-
-  ACCEPTED_DIS_DIFF="
-      ./bin/jabswitch.exe
-      ./bin/fontmanager.dll
-      "
-
-  if [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
-    DIS_DIFF_FILTER="$SED -r \
-        -e 's/^  [0-9A-F]{16}: //' \
-        -e 's/^  [0-9A-F]{8}: /  <ADDR>: /' \
-        -e 's/(offset \?\?)_C@_.*/\1<SYM>/' \
-        -e 's/[@?][A-Za-z0-9_]{1,25}/<SYM>/' \
-        -e 's/([-,+])[0-9A-F]{2,16}/\1<HEXSTR>/g' \
-        -e 's/\[[0-9A-F]{4,16}h\]/[<HEXSTR>]/' \
-        -e 's/: ([a-z]{2}[a-z ]{2})        [0-9A-F]{2,16}h?$/: \1        <HEXSTR>/' \
-        -e 's/_20[0-9]{2}_[0-1][0-9]_[0-9]{2}/_<DATE>/' \
-        "
-  elif [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
-    DIS_DIFF_FILTER="$SED -r \
-        -e 's/^  [0-9A-F]{16}: //' \
-        -e 's/\[[0-9A-F]{4,16}h\]/[<HEXSTR>]/' \
-        -e 's/([,+])[0-9A-F]{2,16}h/\1<HEXSTR>/' \
-        -e 's/([a-z]{2}[a-z ]{2})        [0-9A-F]{4,16}$/\1        <HEXSTR>/' \
-        -e 's/\[\?\?_C@_.*/[<SYM>]/' \
-        "
-  fi
-
-  SKIP_BIN_DIFF="true"
-  SKIP_FULLDUMP_DIFF="true"
-
-  # NOTE: When comparing the old and new hotspot builds, the server jvm.dll
-  # cannot be made equal in disassembly. Some functions just always end up
-  # in different order. So for now, accept the difference but put a limit
-  # on the size. The different order of functions shouldn't result in a very
-  # big diff.
-  KNOWN_DIS_DIFF="
-      ./bin/server/jvm.dll
-      "
-  MAX_KNOWN_DIS_DIFF_SIZE="2000000"
-fi
-
-
-if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
-
-  ACCEPTED_JARZIP_CONTENTS="
-      /META-INF/INDEX.LIST
-      "
-
+elif [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
   ACCEPTED_BIN_DIFF="
-      ./bin/idlj
-      ./bin/jar
-      ./bin/jarsigner
-      ./bin/java
-      ./bin/javac
-      ./bin/javadoc
-      ./bin/javap
-      ./bin/javaws
-      ./bin/jdeps
-      ./bin/jcmd
-      ./bin/jconsole
-      ./bin/jdb
-      ./bin/jimage
-      ./bin/jinfo
-      ./bin/jjs
-      ./bin/jlink
-      ./bin/jmap
-      ./bin/jmod
-      ./bin/jps
-      ./bin/jrunscript
-      ./bin/jsadebugd
-      ./bin/jstack
-      ./bin/jstat
-      ./bin/jstatd
-      ./bin/keytool
-      ./bin/orbd
-      ./bin/pack200
-      ./bin/rmic
-      ./bin/rmid
-      ./bin/rmiregistry
-      ./bin/schemagen
-      ./bin/serialver
-      ./bin/servertool
-      ./bin/tnameserv
-      ./bin/wsgen
-      ./bin/wsimport
-      ./bin/xjc
-      ./Contents/Home/bin/_javaws
-      ./Contents/Home/bin/javaws
-      ./Contents/Home/bin/idlj
-      ./Contents/Home/bin/servertool
-      ./Contents/Home/lib/shortcuts/JavaWSApplicationStub
-      ./Contents/Home/lib/jli/libjli.dylib
-      ./Contents/Home/lib/jspawnhelper
-      ./Contents/Home/lib/libAppleScriptEngine.dylib
-      ./Contents/Home/lib/libattach.dylib
-      ./Contents/Home/lib/libawt_lwawt.dylib
-      ./Contents/Home/lib/libdeploy.dylib
-      ./Contents/Home/lib/libdt_socket.dylib
-      ./Contents/Home/lib/libinstrument.dylib
-      ./Contents/Home/lib/libjdwp.dylib
-      ./Contents/Home/lib/libjsdt.dylib
-      ./Contents/Home/lib/libjsig.dylib
-      ./Contents/Home/lib/libmanagement.dylib
-      ./Contents/Home/lib/libnpjp2.dylib
-      ./Contents/Home/lib/libosx.dylib
-      ./Contents/Home/lib/libosxapp.dylib
-      ./Contents/Home/lib/libosxui.dylib
-      ./Contents/Home/lib/libverify.dylib
-      ./Contents/Home/lib/libsaproc.dylib
-      ./Contents/Home/lib/libsplashscreen.dylib
-      ./Contents/Home/lib/server/libjsig.dylib
-      ./Contents/Home/lib/server/libjvm.dylib
-      ./Contents/Home/lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
-      ./Contents/Resources/JavaControlPanelHelper
-      ./Contents/Resources/JavaUpdater.app/Contents/MacOS/JavaUpdater
-      ./Contents/Resources/JavawsLauncher.app/Contents/MacOS/JavawsLauncher
-      ./lib/shortcuts/JavaWSApplicationStub
-      ./lib/jli/libjli.dylib
-      ./lib/jspawnhelper
-      ./lib/libAppleScriptEngine.dylib
-      ./lib/libattach.dylib
       ./lib/libawt_lwawt.dylib
-      ./lib/libdeploy.dylib
-      ./lib/libdt_socket.dylib
-      ./lib/libinstrument.dylib
-      ./lib/libjdwp.dylib
-      ./lib/libjsdt.dylib
-      ./lib/libjsig.dylib
-      ./lib/libmanagement.dylib
-      ./lib/libnpjp2.dylib
-      ./lib/libosx.dylib
       ./lib/libosxapp.dylib
       ./lib/libosxui.dylib
-      ./lib/libverify.dylib
-      ./lib/libsaproc.dylib
-      ./lib/libsplashscreen.dylib
-      ./lib/server/libjsig.dylib
       ./lib/server/libjvm.dylib
-      ./lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
-      ./Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation
-      ./Versions/A/Sparkle
       "
-
-  SORT_SYMBOLS="
-      ./Contents/Home/lib/libsaproc.dylib
-      ./lib/libsaproc.dylib
-      ./lib/libjsig.dylib
-      "
-
-  ACCEPTED_SMALL_SIZE_DIFF="$ACCEPTED_BIN_DIFF"
-
-  DIS_DIFF_FILTER="LANG=C $SED \
-      -e 's/0x[0-9a-f]\{3,16\}/<HEXSTR>/g' -e 's/^[0-9a-f]\{12,20\}/<ADDR>/' \
-      -e 's/-20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]-[0-2][0-9]\{5\}/<DATE>/g' \
-      -e 's/), built on .*/), <DATE>/' \
-      "
-
 fi
--- a/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -2359,8 +2359,11 @@
           ShouldNotReachHere();
       }
     } else if (opr2->is_single_cpu()) {
-      if (opr1->type() == T_OBJECT || opr1->type() == T_ARRAY || opr1->type() == T_METADATA || opr1->type() == T_ADDRESS) {
-        assert(opr2->type() == T_OBJECT || opr2->type() == T_ARRAY || opr2->type() == T_METADATA || opr2->type() == T_ADDRESS, "incompatibe type");
+      if (opr1->type() == T_OBJECT || opr1->type() == T_ARRAY) {
+        assert(opr2->type() == T_OBJECT || opr2->type() == T_ARRAY, "incompatibe type");
+        __ cmpoop(opr1->as_register(), opr2->as_register());
+      } else if (opr1->type() == T_METADATA || opr1->type() == T_ADDRESS) {
+        assert(opr2->type() == T_METADATA || opr2->type() == T_ADDRESS, "incompatibe type");
         __ cmp(opr1->as_register(), opr2->as_register());
       } else {
         assert(opr2->type() != T_OBJECT && opr2->type() != T_ARRAY && opr2->type() != T_METADATA && opr2->type() != T_ADDRESS, "incompatibe type");
@@ -2761,6 +2764,9 @@
   assert(length == R4, "code assumption");
 #endif // AARCH64
 
+  __ resolve(ACCESS_READ, src);
+  __ resolve(ACCESS_WRITE, dst);
+
   CodeStub* stub = op->stub();
 
   int flags = op->flags();
@@ -3126,6 +3132,7 @@
     __ b(*op->stub()->entry());
   } else if (op->code() == lir_lock) {
     assert(BasicLock::displaced_header_offset_in_bytes() == 0, "lock_reg must point to the displaced header");
+    __ resolve(ACCESS_READ | ACCESS_WRITE, obj);
     int null_check_offset = __ lock_object(hdr, obj, lock, tmp, *op->stub()->entry());
     if (op->info() != NULL) {
       add_debug_info_for_null_check(null_check_offset, op->info());
--- a/src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -90,7 +90,6 @@
     tlab_allocate(obj, obj_end, tmp1, size_expression, slow_case);
   } else {
     eden_allocate(obj, obj_end, tmp1, tmp2, size_expression, slow_case);
-    incr_allocated_bytes(size_expression, tmp1);
   }
 }
 
--- a/src/hotspot/cpu/arm/c1_Runtime1_arm.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/c1_Runtime1_arm.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -569,7 +569,6 @@
 
           __ ldr_u32(obj_size, Address(klass, Klass::layout_helper_offset()));
           __ eden_allocate(result, obj_end, tmp1, tmp2, obj_size, slow_case);        // initializes result and obj_end
-          __ incr_allocated_bytes(obj_size, tmp2);
           __ initialize_object(result, obj_end, klass, noreg /* len */, tmp1, tmp2,
                                instanceOopDesc::header_size() * HeapWordSize, -1,
                                /* is_tlab_allocated */ false);
@@ -658,7 +657,6 @@
           // eden_allocate destroys tmp2, so reload header_size after allocation
           // eden_allocate initializes result and obj_end
           __ eden_allocate(result, obj_end, tmp1, tmp2, arr_size, slow_case);
-          __ incr_allocated_bytes(arr_size, tmp2);
           __ ldrb(tmp2, Address(klass, in_bytes(Klass::layout_helper_offset()) +
                                        Klass::_lh_header_size_shift / BitsPerByte));
           __ initialize_object(result, obj_end, klass, length, tmp1, tmp2, tmp2, -1, /* is_tlab_allocated */ false);
--- a/src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,6 +24,8 @@
 
 #include "precompiled.hpp"
 #include "gc/shared/barrierSetAssembler.hpp"
+#include "gc/shared/collectedHeap.hpp"
+#include "runtime/thread.hpp"
 
 #define __ masm->
 
@@ -162,3 +164,122 @@
   }
 }
 
+void BarrierSetAssembler::obj_equals(MacroAssembler* masm,
+                                     Register obj1, Register obj2) {
+  __ cmp(obj1, obj2);
+}
+
+// Puts address of allocated object into register `obj` and end of allocated object into register `obj_end`.
+void BarrierSetAssembler::eden_allocate(MacroAssembler* masm, Register obj, Register obj_end, Register tmp1, Register tmp2,
+                                 RegisterOrConstant size_expression, Label& slow_case) {
+  if (!Universe::heap()->supports_inline_contig_alloc()) {
+    __ b(slow_case);
+    return;
+  }
+
+  CollectedHeap* ch = Universe::heap();
+
+  const Register top_addr = tmp1;
+  const Register heap_end = tmp2;
+
+  if (size_expression.is_register()) {
+    assert_different_registers(obj, obj_end, top_addr, heap_end, size_expression.as_register());
+  } else {
+    assert_different_registers(obj, obj_end, top_addr, heap_end);
+  }
+
+  bool load_const = AARCH64_ONLY(false) NOT_AARCH64(VM_Version::supports_movw() ); // TODO-AARCH64 check performance
+  if (load_const) {
+    __ mov_address(top_addr, (address)Universe::heap()->top_addr(), symbolic_Relocation::eden_top_reference);
+  } else {
+    __ ldr(top_addr, Address(Rthread, JavaThread::heap_top_addr_offset()));
+  }
+  // Calculate new heap_top by adding the size of the object
+  Label retry;
+  __ bind(retry);
+
+#ifdef AARCH64
+  __ ldxr(obj, top_addr);
+#else
+  __ ldr(obj, Address(top_addr));
+#endif // AARCH64
+
+  __ ldr(heap_end, Address(top_addr, (intptr_t)ch->end_addr() - (intptr_t)ch->top_addr()));
+  __ add_rc(obj_end, obj, size_expression);
+  // Check if obj_end wrapped around, i.e., obj_end < obj. If yes, jump to the slow case.
+  __ cmp(obj_end, obj);
+  __ b(slow_case, lo);
+  // Update heap_top if allocation succeeded
+  __ cmp(obj_end, heap_end);
+  __ b(slow_case, hi);
+
+#ifdef AARCH64
+  __ stxr(heap_end/*scratched*/, obj_end, top_addr);
+  __ cbnz_w(heap_end, retry);
+#else
+  __ atomic_cas_bool(obj, obj_end, top_addr, 0, heap_end/*scratched*/);
+  __ b(retry, ne);
+#endif // AARCH64
+
+  incr_allocated_bytes(masm, size_expression, tmp1);
+}
+
+// Puts address of allocated object into register `obj` and end of allocated object into register `obj_end`.
+void BarrierSetAssembler::tlab_allocate(MacroAssembler* masm, Register obj, Register obj_end, Register tmp1,
+                                 RegisterOrConstant size_expression, Label& slow_case) {
+  const Register tlab_end = tmp1;
+  assert_different_registers(obj, obj_end, tlab_end);
+
+  __ ldr(obj, Address(Rthread, JavaThread::tlab_top_offset()));
+  __ ldr(tlab_end, Address(Rthread, JavaThread::tlab_end_offset()));
+  __ add_rc(obj_end, obj, size_expression);
+  __ cmp(obj_end, tlab_end);
+  __ b(slow_case, hi);
+  __ str(obj_end, Address(Rthread, JavaThread::tlab_top_offset()));
+}
+
+void BarrierSetAssembler::incr_allocated_bytes(MacroAssembler* masm, RegisterOrConstant size_in_bytes, Register tmp) {
+#ifdef AARCH64
+  __ ldr(tmp, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())));
+  __ add_rc(tmp, tmp, size_in_bytes);
+  __ str(tmp, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())));
+#else
+  // Bump total bytes allocated by this thread
+  Label done;
+
+  // Borrow the Rthread for alloc counter
+  Register Ralloc = Rthread;
+  __ add(Ralloc, Ralloc, in_bytes(JavaThread::allocated_bytes_offset()));
+  __ ldr(tmp, Address(Ralloc));
+  __ adds(tmp, tmp, size_in_bytes);
+  __ str(tmp, Address(Ralloc), cc);
+  __ b(done, cc);
+
+  // Increment the high word and store single-copy atomically (that is an unlikely scenario on typical embedded systems as it means >4GB has been allocated)
+  // To do so ldrd/strd instructions used which require an even-odd pair of registers. Such a request could be difficult to satisfy by
+  // allocating those registers on a higher level, therefore the routine is ready to allocate a pair itself.
+  Register low, high;
+  // Select ether R0/R1 or R2/R3
+
+  if (size_in_bytes.is_register() && (size_in_bytes.as_register() == R0 || size_in_bytes.as_register() == R1)) {
+    low = R2;
+    high  = R3;
+  } else {
+    low = R0;
+    high  = R1;
+  }
+  __ push(RegisterSet(low, high));
+
+  __ ldrd(low, Address(Ralloc));
+  __ adds(low, low, size_in_bytes);
+  __ adc(high, high, 0);
+  __ strd(low, Address(Ralloc));
+
+  __ pop(RegisterSet(low, high));
+
+  __ bind(done);
+
+  // Unborrow the Rthread
+  __ sub(Rthread, Ralloc, in_bytes(JavaThread::allocated_bytes_offset()));
+#endif // AARCH64
+}
--- a/src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,6 +30,12 @@
 #include "oops/access.hpp"
 
 class BarrierSetAssembler: public CHeapObj<mtGC> {
+private:
+  void incr_allocated_bytes(MacroAssembler* masm,
+    RegisterOrConstant size_in_bytes,
+    Register           tmp
+);
+
 public:
   virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
                                   Register addr, Register count, int callee_saved_regs) {}
@@ -41,7 +47,31 @@
   virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
                         Address obj, Register new_val, Register tmp1, Register tmp2, Register tmp3, bool is_null);
 
+  virtual void obj_equals(MacroAssembler* masm,
+                          Register obj1, Register obj2);
+
+  virtual void eden_allocate(MacroAssembler* masm,
+    Register           obj,              // result: pointer to object after successful allocation
+    Register           obj_end,          // result: pointer to end of object after successful allocation
+    Register           tmp1,             // temp register
+    Register           tmp2,             // temp register
+    RegisterOrConstant size_expression,  // size of object
+    Label&             slow_case         // continuation point if fast allocation fails
+  );
+
+  virtual void tlab_allocate(MacroAssembler* masm,
+    Register           obj,              // result: pointer to object after successful allocation
+    Register           obj_end,          // result: pointer to end of object after successful allocation
+    Register           tmp1,             // temp register
+    RegisterOrConstant size_expression,  // size of object
+    Label&             slow_case         // continuation point if fast allocation fails
+  );
+
   virtual void barrier_stubs_init() {}
+
+  virtual void resolve(MacroAssembler* masm, DecoratorSet decorators, Register obj) {
+    // Default implementation does not need to do anything.
+  }
 };
 
 #endif // CPU_ARM_GC_SHARED_BARRIERSETASSEMBLER_ARM_HPP
--- a/src/hotspot/cpu/arm/macroAssembler_arm.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/macroAssembler_arm.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1037,6 +1037,11 @@
 
 #ifndef AARCH64
 
+void MacroAssembler::cmpoop(Register obj1, Register obj2) {
+  BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
+  bs->obj_equals(this, obj1, obj2);
+}
+
 void MacroAssembler::long_move(Register rd_lo, Register rd_hi,
                                Register rn_lo, Register rn_hi,
                                AsmCondition cond) {
@@ -1251,68 +1256,15 @@
 // Puts address of allocated object into register `obj` and end of allocated object into register `obj_end`.
 void MacroAssembler::eden_allocate(Register obj, Register obj_end, Register tmp1, Register tmp2,
                                  RegisterOrConstant size_expression, Label& slow_case) {
-  if (!Universe::heap()->supports_inline_contig_alloc()) {
-    b(slow_case);
-    return;
-  }
-
-  CollectedHeap* ch = Universe::heap();
-
-  const Register top_addr = tmp1;
-  const Register heap_end = tmp2;
-
-  if (size_expression.is_register()) {
-    assert_different_registers(obj, obj_end, top_addr, heap_end, size_expression.as_register());
-  } else {
-    assert_different_registers(obj, obj_end, top_addr, heap_end);
-  }
-
-  bool load_const = AARCH64_ONLY(false) NOT_AARCH64(VM_Version::supports_movw() ); // TODO-AARCH64 check performance
-  if (load_const) {
-    mov_address(top_addr, (address)Universe::heap()->top_addr(), symbolic_Relocation::eden_top_reference);
-  } else {
-    ldr(top_addr, Address(Rthread, JavaThread::heap_top_addr_offset()));
-  }
-  // Calculate new heap_top by adding the size of the object
-  Label retry;
-  bind(retry);
-
-#ifdef AARCH64
-  ldxr(obj, top_addr);
-#else
-  ldr(obj, Address(top_addr));
-#endif // AARCH64
-
-  ldr(heap_end, Address(top_addr, (intptr_t)ch->end_addr() - (intptr_t)ch->top_addr()));
-  add_rc(obj_end, obj, size_expression);
-  // Check if obj_end wrapped around, i.e., obj_end < obj. If yes, jump to the slow case.
-  cmp(obj_end, obj);
-  b(slow_case, lo);
-  // Update heap_top if allocation succeeded
-  cmp(obj_end, heap_end);
-  b(slow_case, hi);
-
-#ifdef AARCH64
-  stxr(heap_end/*scratched*/, obj_end, top_addr);
-  cbnz_w(heap_end, retry);
-#else
-  atomic_cas_bool(obj, obj_end, top_addr, 0, heap_end/*scratched*/);
-  b(retry, ne);
-#endif // AARCH64
+  BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
+  bs->eden_allocate(this, obj, obj_end, tmp1, tmp2, size_expression, slow_case);
 }
 
 // Puts address of allocated object into register `obj` and end of allocated object into register `obj_end`.
 void MacroAssembler::tlab_allocate(Register obj, Register obj_end, Register tmp1,
                                  RegisterOrConstant size_expression, Label& slow_case) {
-  const Register tlab_end = tmp1;
-  assert_different_registers(obj, obj_end, tlab_end);
-
-  ldr(obj, Address(Rthread, JavaThread::tlab_top_offset()));
-  ldr(tlab_end, Address(Rthread, JavaThread::tlab_end_offset()));
-  add_rc(obj_end, obj, size_expression);
-  cmp(obj_end, tlab_end);
-  b(slow_case, hi);
-  str(obj_end, Address(Rthread, JavaThread::tlab_top_offset()));
+  BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
+  bs->tlab_allocate(this, obj, obj_end, tmp1, size_expression, slow_case);
 }
 
 // Fills memory regions [start..end] with zeroes. Clobbers `start` and `tmp` registers.
@@ -1358,52 +1310,6 @@
 #endif // AARCH64
 }
 
-void MacroAssembler::incr_allocated_bytes(RegisterOrConstant size_in_bytes, Register tmp) {
-#ifdef AARCH64
-  ldr(tmp, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())));
-  add_rc(tmp, tmp, size_in_bytes);
-  str(tmp, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())));
-#else
-  // Bump total bytes allocated by this thread
-  Label done;
-
-  // Borrow the Rthread for alloc counter
-  Register Ralloc = Rthread;
-  add(Ralloc, Ralloc, in_bytes(JavaThread::allocated_bytes_offset()));
-  ldr(tmp, Address(Ralloc));
-  adds(tmp, tmp, size_in_bytes);
-  str(tmp, Address(Ralloc), cc);
-  b(done, cc);
-
-  // Increment the high word and store single-copy atomically (that is an unlikely scenario on typical embedded systems as it means >4GB has been allocated)
-  // To do so ldrd/strd instructions used which require an even-odd pair of registers. Such a request could be difficult to satisfy by
-  // allocating those registers on a higher level, therefore the routine is ready to allocate a pair itself.
-  Register low, high;
-  // Select ether R0/R1 or R2/R3
-
-  if (size_in_bytes.is_register() && (size_in_bytes.as_register() == R0 || size_in_bytes.as_register() == R1)) {
-    low = R2;
-    high  = R3;
-  } else {
-    low = R0;
-    high  = R1;
-  }
-  push(RegisterSet(low, high));
-
-  ldrd(low, Address(Ralloc));
-  adds(low, low, size_in_bytes);
-  adc(high, high, 0);
-  strd(low, Address(Ralloc));
-
-  pop(RegisterSet(low, high));
-
-  bind(done);
-
-  // Unborrow the Rthread
-  sub(Rthread, Ralloc, in_bytes(JavaThread::allocated_bytes_offset()));
-#endif // AARCH64
-}
-
 void MacroAssembler::arm_stack_overflow_check(int frame_size_in_bytes, Register tmp) {
   // Version of AbstractAssembler::generate_stack_overflow_check optimized for ARM
   if (UseStackBanging) {
@@ -2269,6 +2175,11 @@
                                       Register chr1, Register chr2, Label& Ldone) {
   Label Lvector, Lloop;
 
+  // if (ary1 == ary2)
+  //     return true;
+  cmpoop(ary1, ary2);
+  b(Ldone, eq);
+
   // Note: limit contains number of bytes (2*char_elements) != 0.
   tst(limit, 0x2); // trailing character ?
   b(Lvector, eq);
@@ -2728,6 +2639,14 @@
   }
 }
 
+void MacroAssembler::resolve(DecoratorSet decorators, Register obj) {
+  // Use stronger ACCESS_WRITE|ACCESS_READ by default.
+  if ((decorators & (ACCESS_READ | ACCESS_WRITE)) == 0) {
+    decorators |= ACCESS_READ | ACCESS_WRITE;
+  }
+  BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
+  return bs->resolve(this, decorators, obj);
+}
 
 #ifdef AARCH64
 
--- a/src/hotspot/cpu/arm/macroAssembler_arm.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/macroAssembler_arm.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -361,8 +361,6 @@
 
   void zero_memory(Register start, Register end, Register tmp);
 
-  void incr_allocated_bytes(RegisterOrConstant size_in_bytes, Register tmp);
-
   static bool needs_explicit_null_check(intptr_t offset);
 
   void arm_stack_overflow_check(int frame_size_in_bytes, Register tmp);
@@ -1058,6 +1056,10 @@
   void access_load_at(BasicType type, DecoratorSet decorators, Address src, Register dst, Register tmp1, Register tmp2, Register tmp3);
   void access_store_at(BasicType type, DecoratorSet decorators, Address obj, Register new_val, Register tmp1, Register tmp2, Register tmp3, bool is_null);
 
+  // Resolves obj for access. Result is placed in the same register.
+  // All other registers are preserved.
+  void resolve(DecoratorSet decorators, Register obj);
+
 #ifdef AARCH64
   void encode_heap_oop(Register dst, Register src);
   void encode_heap_oop(Register r) {
@@ -1246,6 +1248,8 @@
   }
 
 #ifndef AARCH64
+  void cmpoop(Register obj1, Register obj2);
+
   void long_move(Register rd_lo, Register rd_hi,
                  Register rn_lo, Register rn_hi,
                  AsmCondition cond = al);
--- a/src/hotspot/cpu/arm/methodHandles_arm.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/methodHandles_arm.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -173,7 +173,7 @@
     // assert(sizeof(u2) == sizeof(Method::_size_of_parameters), "");
     Label L;
     __ ldr(tmp, __ receiver_argument_address(Rparams, tmp, tmp));
-    __ cmp(tmp, recv);
+    __ cmpoop(tmp, recv);
     __ b(L, eq);
     __ stop("receiver not on stack");
     __ bind(L);
--- a/src/hotspot/cpu/arm/sharedRuntime_arm.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/sharedRuntime_arm.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1573,6 +1573,8 @@
     // Remember the handle for the unlocking code
     __ mov(sync_handle, R1);
 
+    __ resolve(IS_NOT_NULL, sync_obj);
+
     if(UseBiasedLocking) {
       __ biased_locking_enter(sync_obj, tmp, disp_hdr/*scratched*/, false, Rtemp, lock_done, slow_lock_biased);
     }
@@ -1690,6 +1692,8 @@
   if (method->is_synchronized()) {
     __ ldr(sync_obj, Address(sync_handle));
 
+    __ resolve(IS_NOT_NULL, sync_obj);
+
     if(UseBiasedLocking) {
       __ biased_locking_exit(sync_obj, Rtemp, unlock_done);
       // disp_hdr may not have been saved on entry with biased locking
--- a/src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -605,6 +605,7 @@
 #endif // AARCH64
     __ load_mirror(R0, Rmethod, Rtemp);
     __ bind(done);
+    __ resolve(IS_NOT_NULL, R0);
   }
 
   // add space for monitor & lock
--- a/src/hotspot/cpu/arm/templateTable_arm.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/arm/templateTable_arm.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -2559,7 +2559,7 @@
   // assume branch is more often taken than not (loops use backward branches)
   Label not_taken;
   __ pop_ptr(R1_tmp);
-  __ cmp(R1_tmp, R0_tos);
+  __ cmpoop(R1_tmp, R0_tos);
   __ b(not_taken, convNegCond(cc));
   branch(false, false);
   __ bind(not_taken);
@@ -4502,12 +4502,7 @@
     const Register Rtlab_end = R2_tmp;
     assert_different_registers(Robj, Rsize, Rklass, Rtlab_top, Rtlab_end);
 
-    __ ldr(Robj, Address(Rthread, JavaThread::tlab_top_offset()));
-    __ ldr(Rtlab_end, Address(Rthread, in_bytes(JavaThread::tlab_end_offset())));
-    __ add(Rtlab_top, Robj, Rsize);
-    __ cmp(Rtlab_top, Rtlab_end);
-    __ b(slow_case, hi);
-    __ str(Rtlab_top, Address(Rthread, JavaThread::tlab_top_offset()));
+    __ tlab_allocate(Robj, Rtlab_top, Rtlab_end, Rsize, slow_case);
     if (ZeroTLAB) {
       // the fields have been already cleared
       __ b(initialize_header);
@@ -4523,34 +4518,7 @@
       const Register Rheap_end = Rtemp;
       assert_different_registers(Robj, Rklass, Rsize, Rheap_top_addr, Rheap_top, Rheap_end, LR);
 
-      // heap_end now (re)loaded in the loop since also used as a scratch register in the CAS
-      __ ldr_literal(Rheap_top_addr, Lheap_top_addr);
-
-      Label retry;
-      __ bind(retry);
-
-#ifdef AARCH64
-      __ ldxr(Robj, Rheap_top_addr);
-#else
-      __ ldr(Robj, Address(Rheap_top_addr));
-#endif // AARCH64
-
-      __ ldr(Rheap_end, Address(Rheap_top_addr, (intptr_t)Universe::heap()->end_addr()-(intptr_t)Universe::heap()->top_addr()));
-      __ add(Rheap_top, Robj, Rsize);
-      __ cmp(Rheap_top, Rheap_end);
-      __ b(slow_case, hi);
-
-      // Update heap top atomically.
-      // If someone beats us on the allocation, try again, otherwise continue.
-#ifdef AARCH64
-      __ stxr(Rtemp2, Rheap_top, Rheap_top_addr);
-      __ cbnz_w(Rtemp2, retry);
-#else
-      __ atomic_cas_bool(Robj, Rheap_top, Rheap_top_addr, 0, Rheap_end/*scratched*/);
-      __ b(retry, ne);
-#endif // AARCH64
-
-      __ incr_allocated_bytes(Rsize, Rtemp);
+      __ eden_allocate(Robj, Rheap_top, Rheap_top_addr, Rheap_end, Rsize, slow_case);
     }
   }
 
@@ -4917,6 +4885,8 @@
   // check for NULL object
   __ null_check(Robj, Rtemp);
 
+  __ resolve(IS_NOT_NULL, Robj);
+
   const int entry_size = (frame::interpreter_frame_monitor_size() * wordSize);
   assert (entry_size % StackAlignmentInBytes == 0, "keep stack alignment");
   Label allocate_monitor, allocated;
@@ -5047,6 +5017,8 @@
   // check for NULL object
   __ null_check(Robj, Rtemp);
 
+  __ resolve(IS_NOT_NULL, Robj);
+
   const int entry_size = (frame::interpreter_frame_monitor_size() * wordSize);
   Label found, throw_exception;
 
--- a/src/hotspot/cpu/ppc/assembler_ppc.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/ppc/assembler_ppc.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -529,6 +529,7 @@
     XVNEGDP_OPCODE = (60u << OPCODE_SHIFT |  505u << 2),
     XVSQRTSP_OPCODE= (60u << OPCODE_SHIFT |  139u << 2),
     XVSQRTDP_OPCODE= (60u << OPCODE_SHIFT |  203u << 2),
+    XSCVDPSPN_OPCODE=(60u << OPCODE_SHIFT |  267u << 2),
     XVADDDP_OPCODE = (60u << OPCODE_SHIFT |   96u << 3),
     XVSUBDP_OPCODE = (60u << OPCODE_SHIFT |  104u << 3),
     XVMULSP_OPCODE = (60u << OPCODE_SHIFT |   80u << 3),
@@ -2202,6 +2203,7 @@
   inline void xvnegdp(  VectorSRegister d, VectorSRegister b);
   inline void xvsqrtsp( VectorSRegister d, VectorSRegister b);
   inline void xvsqrtdp( VectorSRegister d, VectorSRegister b);
+  inline void xscvdpspn(VectorSRegister d, VectorSRegister b);
   inline void xvadddp(  VectorSRegister d, VectorSRegister a, VectorSRegister b);
   inline void xvsubdp(  VectorSRegister d, VectorSRegister a, VectorSRegister b);
   inline void xvmulsp(  VectorSRegister d, VectorSRegister a, VectorSRegister b);
--- a/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -777,6 +777,7 @@
 inline void Assembler::xvnegdp( VectorSRegister d, VectorSRegister b)                    { emit_int32( XVNEGDP_OPCODE | vsrt(d) | vsrb(b)); }
 inline void Assembler::xvsqrtsp(VectorSRegister d, VectorSRegister b)                    { emit_int32( XVSQRTSP_OPCODE| vsrt(d) | vsrb(b)); }
 inline void Assembler::xvsqrtdp(VectorSRegister d, VectorSRegister b)                    { emit_int32( XVSQRTDP_OPCODE| vsrt(d) | vsrb(b)); }
+inline void Assembler::xscvdpspn(VectorSRegister d, VectorSRegister b)                   { emit_int32( XSCVDPSPN_OPCODE | vsrt(d) | vsrb(b)); }
 inline void Assembler::xvadddp( VectorSRegister d, VectorSRegister a, VectorSRegister b) { emit_int32( XVADDDP_OPCODE | vsrt(d) | vsra(a) | vsrb(b)); }
 inline void Assembler::xvsubdp( VectorSRegister d, VectorSRegister a, VectorSRegister b) { emit_int32( XVSUBDP_OPCODE | vsrt(d) | vsra(a) | vsrb(b)); }
 inline void Assembler::xvmulsp( VectorSRegister d, VectorSRegister a, VectorSRegister b) { emit_int32( XVMULSP_OPCODE | vsrt(d) | vsra(a) | vsrb(b)); }
--- a/src/hotspot/cpu/ppc/ppc.ad	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/ppc/ppc.ad	Mon Sep 24 10:59:26 2018 -0700
@@ -13682,6 +13682,7 @@
 instruct mtvsrwz(vecX temp1, iRegIsrc src) %{
   effect(DEF temp1, USE src);
 
+  format %{ "MTVSRWZ $temp1, $src \t// Move to 16-byte register" %}
   size(4);
   ins_encode %{
     __ mtvsrwz($temp1$$VectorSRegister, $src$$Register);
@@ -13692,6 +13693,7 @@
 instruct xxspltw(vecX dst, vecX src, immI8 imm1) %{
   effect(DEF dst, USE src, USE imm1);
 
+  format %{ "XXSPLTW $dst, $src, $imm1 \t// Splat word" %}
   size(4);
   ins_encode %{
     __ xxspltw($dst$$VectorSRegister, $src$$VectorSRegister, $imm1$$constant);
@@ -13699,6 +13701,17 @@
   ins_pipe(pipe_class_default);
 %}
 
+instruct xscvdpspn_regF(vecX dst, regF src) %{
+  effect(DEF dst, USE src);
+
+  format %{ "XSCVDPSPN $dst, $src \t// Convert scalar single precision to vector single precision" %}
+  size(4);
+  ins_encode %{
+    __ xscvdpspn($dst$$VectorSRegister, $src$$FloatRegister->to_vsr());
+  %}
+  ins_pipe(pipe_class_default);
+%}
+
 //---------- Replicate Vector Instructions ------------------------------------
 
 // Insrdi does replicate if src == dst.
@@ -14360,24 +14373,16 @@
   ins_pipe(pipe_class_default);
 %}
 
-
 instruct repl4F_reg_Ex(vecX dst, regF src) %{
   match(Set dst (ReplicateF src));
   predicate(n->as_Vector()->length() == 4);
-  ins_cost(2 * MEMORY_REF_COST + DEFAULT_COST);
-  expand %{
-    stackSlotL tmpS;
-    iRegIdst tmpI;
-    iRegLdst tmpL;
+  ins_cost(DEFAULT_COST);
+  expand %{
     vecX tmpV;
     immI8  zero %{ (int)  0 %}
 
-    moveF2I_reg_stack(tmpS, src);   // Move float to stack.
-    moveF2I_stack_reg(tmpI, tmpS);  // Move stack to int reg.
-    moveReg(tmpL, tmpI);             // Move int to long reg.
-    repl32(tmpL);                    // Replicate bitpattern.
-    mtvsrd(tmpV, tmpL);
-    xxpermdi(dst, tmpV, tmpV, zero);
+    xscvdpspn_regF(tmpV, src);
+    xxspltw(dst, tmpV, zero);
   %}
 %}
 
@@ -14404,17 +14409,13 @@
 instruct repl2D_reg_Ex(vecX dst, regD src) %{
   match(Set dst (ReplicateD src));
   predicate(n->as_Vector()->length() == 2);
-  expand %{
-    stackSlotL tmpS;
-    iRegLdst tmpL;
-    iRegLdst tmp;
-    vecX tmpV;
-    immI8  zero %{ (int)  0 %}
-    moveD2L_reg_stack(tmpS, src);
-    moveD2L_stack_reg(tmpL, tmpS);
-    mtvsrd(tmpV, tmpL);
-    xxpermdi(dst, tmpV, tmpV, zero);
-  %}
+
+  format %{ "XXPERMDI      $dst, $src, $src, 0 \t// Splat doubleword" %}
+  size(4);
+  ins_encode %{
+    __ xxpermdi($dst$$VectorSRegister, $src$$FloatRegister->to_vsr(), $src$$FloatRegister->to_vsr(), 0);
+  %}
+  ins_pipe(pipe_class_default);
 %}
 
 instruct repl2D_immI0(vecX dst, immI_0 zero) %{
@@ -14445,7 +14446,7 @@
   predicate(false);
   effect(DEF dst, USE src);
 
-  format %{ "MTVSRD      $dst, $src \t// Move to 16-byte register"%}
+  format %{ "MTVSRD      $dst, $src \t// Move to 16-byte register" %}
   size(4);
   ins_encode %{
     __ mtvsrd($dst$$VectorSRegister, $src$$Register);
@@ -14456,7 +14457,7 @@
 instruct xxspltd(vecX dst, vecX src, immI8 zero) %{
   effect(DEF dst, USE src, USE zero);
 
-  format %{ "XXSPLATD      $dst, $src, $zero \t// Permute 16-byte register"%}
+  format %{ "XXSPLATD      $dst, $src, $zero \t// Splat doubleword" %}
   size(4);
   ins_encode %{
     __ xxpermdi($dst$$VectorSRegister, $src$$VectorSRegister, $src$$VectorSRegister, $zero$$constant);
@@ -14467,7 +14468,7 @@
 instruct xxpermdi(vecX dst, vecX src1, vecX src2, immI8 zero) %{
   effect(DEF dst, USE src1, USE src2, USE zero);
 
-  format %{ "XXPERMDI      $dst, $src1, $src2, $zero \t// Permute 16-byte register"%}
+  format %{ "XXPERMDI      $dst, $src1, $src2, $zero \t// Splat doubleword" %}
   size(4);
   ins_encode %{
     __ xxpermdi($dst$$VectorSRegister, $src1$$VectorSRegister, $src2$$VectorSRegister, $zero$$constant);
--- a/src/hotspot/cpu/ppc/register_ppc.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/ppc/register_ppc.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -85,6 +85,12 @@
   return is_valid() ? names[encoding()] : "vsnoreg";
 }
 
+// Method to convert a FloatRegister to a Vector-Scalar Register (VectorSRegister)
+VectorSRegister FloatRegisterImpl::to_vsr() const {
+  if (this == fnoreg) { return vsnoreg; }
+  return as_VectorSRegister(encoding());
+}
+
 // Method to convert a VectorRegister to a Vector-Scalar Register (VectorSRegister)
 VectorSRegister VectorRegisterImpl::to_vsr() const {
   if (this == vnoreg) { return vsnoreg; }
--- a/src/hotspot/cpu/ppc/register_ppc.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/ppc/register_ppc.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -241,6 +241,10 @@
 
 #endif // DONT_USE_REGISTER_DEFINES
 
+// Forward declaration
+// Use VectorSRegister as a shortcut.
+class VectorSRegisterImpl;
+typedef VectorSRegisterImpl* VectorSRegister;
 
 // Use FloatRegister as shortcut
 class FloatRegisterImpl;
@@ -270,6 +274,9 @@
   bool is_valid() const { return (0 <= value() && value() < number_of_registers); }
 
   const char* name() const;
+
+  // convert to VSR
+  VectorSRegister to_vsr() const;
 };
 
 // The float registers of the PPC architecture
@@ -398,11 +405,6 @@
   return (VectorRegister)(intptr_t)encoding;
 }
 
-// Forward declaration
-// Use VectorSRegister as a shortcut.
-class VectorSRegisterImpl;
-typedef VectorSRegisterImpl* VectorSRegister;
-
 // The implementation of vector registers for the Power architecture
 class VectorRegisterImpl: public AbstractRegisterImpl {
  public:
--- a/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1171,6 +1171,8 @@
   // Registers r9 and r10 are used to save rdi and rsi on Windows, which latter
   // are non-volatile.  r9 and r10 should not be used by the caller.
   //
+  DEBUG_ONLY(bool regs_in_thread;)
+
   void setup_arg_regs(int nargs = 3) {
     const Register saved_rdi = r9;
     const Register saved_rsi = r10;
@@ -1191,9 +1193,11 @@
     assert(c_rarg0 == rdi && c_rarg1 == rsi && c_rarg2 == rdx && c_rarg3 == rcx,
            "unexpected argument registers");
 #endif
+    DEBUG_ONLY(regs_in_thread = false;)
   }
 
   void restore_arg_regs() {
+    assert(!regs_in_thread, "wrong call to restore_arg_regs");
     const Register saved_rdi = r9;
     const Register saved_rsi = r10;
 #ifdef _WIN64
@@ -1202,6 +1206,38 @@
 #endif
   }
 
+  // This is used in places where r10 is a scratch register, and can
+  // be adapted if r9 is needed also.
+  void setup_arg_regs_using_thread() {
+    const Register saved_r15 = r9;
+#ifdef _WIN64
+    __ mov(saved_r15, r15);  // r15 is callee saved and needs to be restored
+    __ get_thread(r15_thread);
+    assert(c_rarg0 == rcx && c_rarg1 == rdx && c_rarg2 == r8 && c_rarg3 == r9,
+           "unexpected argument registers");
+    __ movptr(Address(r15_thread, in_bytes(JavaThread::windows_saved_rdi_offset())), rdi);
+    __ movptr(Address(r15_thread, in_bytes(JavaThread::windows_saved_rsi_offset())), rsi);
+
+    __ mov(rdi, rcx); // c_rarg0
+    __ mov(rsi, rdx); // c_rarg1
+    __ mov(rdx, r8);  // c_rarg2
+#else
+    assert(c_rarg0 == rdi && c_rarg1 == rsi && c_rarg2 == rdx && c_rarg3 == rcx,
+           "unexpected argument registers");
+#endif
+    DEBUG_ONLY(regs_in_thread = true;)
+  }
+
+  void restore_arg_regs_using_thread() {
+    assert(regs_in_thread, "wrong call to restore_arg_regs");
+    const Register saved_r15 = r9;
+#ifdef _WIN64
+    __ get_thread(r15_thread);
+    __ movptr(rsi, Address(r15_thread, in_bytes(JavaThread::windows_saved_rsi_offset())));
+    __ movptr(rdi, Address(r15_thread, in_bytes(JavaThread::windows_saved_rdi_offset())));
+    __ mov(r15, saved_r15);  // r15 is callee saved and needs to be restored
+#endif
+  }
 
   // Copy big chunks forward
   //
@@ -1829,8 +1865,8 @@
       BLOCK_COMMENT("Entry:");
     }
 
-    setup_arg_regs(); // from => rdi, to => rsi, count => rdx
-                      // r9 and r10 may be used to save non-volatile registers
+    setup_arg_regs_using_thread(); // from => rdi, to => rsi, count => rdx
+                                   // r9 is used to save r15_thread
 
     DecoratorSet decorators = IN_HEAP | IS_ARRAY | ARRAYCOPY_DISJOINT;
     if (dest_uninitialized) {
@@ -1870,7 +1906,7 @@
 
   __ BIND(L_exit);
     bs->arraycopy_epilogue(_masm, decorators, type, from, to, dword_count);
-    restore_arg_regs();
+    restore_arg_regs_using_thread();
     inc_counter_np(SharedRuntime::_jint_array_copy_ctr); // Update counter after rscratch1 is free
     __ vzeroupper();
     __ xorptr(rax, rax); // return 0
@@ -1923,8 +1959,8 @@
     }
 
     array_overlap_test(nooverlap_target, Address::times_4);
-    setup_arg_regs(); // from => rdi, to => rsi, count => rdx
-                      // r9 and r10 may be used to save non-volatile registers
+    setup_arg_regs_using_thread(); // from => rdi, to => rsi, count => rdx
+                                   // r9 is used to save r15_thread
 
     DecoratorSet decorators = IN_HEAP | IS_ARRAY;
     if (dest_uninitialized) {
@@ -1963,7 +1999,7 @@
     if (is_oop) {
       __ jmp(L_exit);
     }
-    restore_arg_regs();
+    restore_arg_regs_using_thread();
     inc_counter_np(SharedRuntime::_jint_array_copy_ctr); // Update counter after rscratch1 is free
     __ xorptr(rax, rax); // return 0
     __ vzeroupper();
@@ -1975,7 +2011,7 @@
 
   __ BIND(L_exit);
     bs->arraycopy_epilogue(_masm, decorators, type, from, to, dword_count);
-    restore_arg_regs();
+    restore_arg_regs_using_thread();
     inc_counter_np(SharedRuntime::_jint_array_copy_ctr); // Update counter after rscratch1 is free
     __ xorptr(rax, rax); // return 0
     __ vzeroupper();
@@ -2026,8 +2062,8 @@
       BLOCK_COMMENT("Entry:");
     }
 
-    setup_arg_regs(); // from => rdi, to => rsi, count => rdx
-                      // r9 and r10 may be used to save non-volatile registers
+    setup_arg_regs_using_thread(); // from => rdi, to => rsi, count => rdx
+                                     // r9 is used to save r15_thread
     // 'from', 'to' and 'qword_count' are now valid
 
     DecoratorSet decorators = IN_HEAP | IS_ARRAY | ARRAYCOPY_DISJOINT;
@@ -2058,7 +2094,7 @@
     if (is_oop) {
       __ jmp(L_exit);
     } else {
-      restore_arg_regs();
+      restore_arg_regs_using_thread();
       inc_counter_np(SharedRuntime::_jlong_array_copy_ctr); // Update counter after rscratch1 is free
       __ xorptr(rax, rax); // return 0
       __ vzeroupper();
@@ -2071,7 +2107,7 @@
 
     __ BIND(L_exit);
     bs->arraycopy_epilogue(_masm, decorators, type, from, to, qword_count);
-    restore_arg_regs();
+    restore_arg_regs_using_thread();
     if (is_oop) {
       inc_counter_np(SharedRuntime::_oop_array_copy_ctr); // Update counter after rscratch1 is free
     } else {
@@ -2119,8 +2155,8 @@
     }
 
     array_overlap_test(nooverlap_target, Address::times_8);
-    setup_arg_regs(); // from => rdi, to => rsi, count => rdx
-                      // r9 and r10 may be used to save non-volatile registers
+    setup_arg_regs_using_thread(); // from => rdi, to => rsi, count => rdx
+                                   // r9 is used to save r15_thread
     // 'from', 'to' and 'qword_count' are now valid
 
     DecoratorSet decorators = IN_HEAP | IS_ARRAY | ARRAYCOPY_DISJOINT;
@@ -2147,7 +2183,7 @@
     if (is_oop) {
       __ jmp(L_exit);
     } else {
-      restore_arg_regs();
+      restore_arg_regs_using_thread();
       inc_counter_np(SharedRuntime::_jlong_array_copy_ctr); // Update counter after rscratch1 is free
       __ xorptr(rax, rax); // return 0
       __ vzeroupper();
@@ -2160,7 +2196,7 @@
 
     __ BIND(L_exit);
     bs->arraycopy_epilogue(_masm, decorators, type, from, to, qword_count);
-    restore_arg_regs();
+    restore_arg_regs_using_thread();
     if (is_oop) {
       inc_counter_np(SharedRuntime::_oop_array_copy_ctr); // Update counter after rscratch1 is free
     } else {
@@ -2276,11 +2312,22 @@
     enum {
       saved_r13_offset,
       saved_r14_offset,
+      saved_r10_offset,
       saved_rbp_offset
     };
     __ subptr(rsp, saved_rbp_offset * wordSize);
     __ movptr(Address(rsp, saved_r13_offset * wordSize), r13);
     __ movptr(Address(rsp, saved_r14_offset * wordSize), r14);
+    __ movptr(Address(rsp, saved_r10_offset * wordSize), r10);
+
+#ifdef ASSERT
+      Label L2;
+      __ get_thread(r14);
+      __ cmpptr(r15_thread, r14);
+      __ jcc(Assembler::equal, L2);
+      __ stop("StubRoutines::call_stub: r15_thread is modified by call");
+      __ bind(L2);
+#endif // ASSERT
 
     // check that int operands are properly extended to size_t
     assert_clean_int(length, rax);
@@ -2372,6 +2419,7 @@
     __ BIND(L_done);
     __ movptr(r13, Address(rsp, saved_r13_offset * wordSize));
     __ movptr(r14, Address(rsp, saved_r14_offset * wordSize));
+    __ movptr(r10, Address(rsp, saved_r10_offset * wordSize));
     restore_arg_regs();
     inc_counter_np(SharedRuntime::_checkcast_array_copy_ctr); // Update counter after rscratch1 is free
     __ leave(); // required for proper stackwalking of RuntimeStub frame
@@ -5197,9 +5245,9 @@
     BLOCK_COMMENT("Entry:");
     __ enter(); // required for proper stackwalking of RuntimeStub frame
 
-       setup_arg_regs(4); // x => rdi, len => rsi, z => rdx
-                          // zlen => rcx
-                          // r9 and r10 may be used to save non-volatile registers
+    setup_arg_regs(4); // x => rdi, len => rsi, z => rdx
+                       // zlen => rcx
+                       // r9 and r10 may be used to save non-volatile registers
     __ movptr(r8, rdx);
     __ square_to_len(x, len, z, zlen, tmp1, tmp2, tmp3, tmp4, tmp5, rdx, rax);
 
--- a/src/hotspot/cpu/x86/templateTable_x86.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/x86/templateTable_x86.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -2995,7 +2995,6 @@
 #ifdef ASSERT
   __ jmp(Done);
 
-
   __ bind(notDouble);
   __ stop("Bad state");
 #endif
@@ -3113,7 +3112,6 @@
   const Register obj   = rcx;
   const Register off   = rbx;
   const Register flags = rax;
-  const Register bc    = LP64_ONLY(c_rarg3) NOT_LP64(rcx);
 
   resolve_cache_and_index(byte_no, cache, index, sizeof(u2));
   jvmti_post_field_mod(cache, index, is_static);
@@ -3128,12 +3126,33 @@
   __ shrl(rdx, ConstantPoolCacheEntry::is_volatile_shift);
   __ andl(rdx, 0x1);
 
+  // Check for volatile store
+  __ testl(rdx, rdx);
+  __ jcc(Assembler::zero, notVolatile);
+
+  putfield_or_static_helper(byte_no, is_static, rc, obj, off, flags);
+  volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad |
+                                               Assembler::StoreStore));
+  __ jmp(Done);
+  __ bind(notVolatile);
+
+  putfield_or_static_helper(byte_no, is_static, rc, obj, off, flags);
+
+  __ bind(Done);
+}
+
+void TemplateTable::putfield_or_static_helper(int byte_no, bool is_static, RewriteControl rc,
+                                              Register obj, Register off, Register flags) {
+
   // field addresses
   const Address field(obj, off, Address::times_1, 0*wordSize);
   NOT_LP64( const Address hi(obj, off, Address::times_1, 1*wordSize);)
 
   Label notByte, notBool, notInt, notShort, notChar,
         notLong, notFloat, notObj;
+  Label Done;
+
+  const Register bc    = LP64_ONLY(c_rarg3) NOT_LP64(rcx);
 
   __ shrl(flags, ConstantPoolCacheEntry::tos_state_shift);
 
@@ -3233,42 +3252,17 @@
   __ jcc(Assembler::notEqual, notLong);
 
   // ltos
-#ifdef _LP64
   {
     __ pop(ltos);
     if (!is_static) pop_and_check_object(obj);
     __ access_store_at(T_LONG, IN_HEAP, field, noreg /* ltos*/, noreg, noreg);
+#ifdef _LP64
     if (!is_static && rc == may_rewrite) {
       patch_bytecode(Bytecodes::_fast_lputfield, bc, rbx, true, byte_no);
     }
+#endif // _LP64
     __ jmp(Done);
   }
-#else
-  {
-    Label notVolatileLong;
-    __ testl(rdx, rdx);
-    __ jcc(Assembler::zero, notVolatileLong);
-
-    __ pop(ltos);  // overwrites rdx, do this after testing volatile.
-    if (!is_static) pop_and_check_object(obj);
-
-    // Replace with real volatile test
-    __ access_store_at(T_LONG, IN_HEAP | MO_RELAXED, field, noreg /* ltos */, noreg, noreg);
-    // volatile_barrier();
-    volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad |
-                                                 Assembler::StoreStore));
-    // Don't rewrite volatile version
-    __ jmp(notVolatile);
-
-    __ bind(notVolatileLong);
-
-    __ pop(ltos);  // overwrites rdx
-    if (!is_static) pop_and_check_object(obj);
-    __ access_store_at(T_LONG, IN_HEAP, field, noreg /* ltos */, noreg, noreg);
-    // Don't rewrite to _fast_lputfield for potential volatile case.
-    __ jmp(notVolatile);
-  }
-#endif // _LP64
 
   __ bind(notLong);
   __ cmpl(flags, ftos);
@@ -3310,13 +3304,6 @@
 #endif
 
   __ bind(Done);
-
-  // Check for volatile store
-  __ testl(rdx, rdx);
-  __ jcc(Assembler::zero, notVolatile);
-  volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad |
-                                               Assembler::StoreStore));
-  __ bind(notVolatile);
 }
 
 void TemplateTable::putfield(int byte_no) {
@@ -3412,7 +3399,7 @@
   // volatile_barrier(Assembler::Membar_mask_bits(Assembler::LoadStore |
   //                                              Assembler::StoreStore));
 
-  Label notVolatile;
+  Label notVolatile, Done;
   __ shrl(rdx, ConstantPoolCacheEntry::is_volatile_shift);
   __ andl(rdx, 0x1);
 
@@ -3422,6 +3409,23 @@
   // field address
   const Address field(rcx, rbx, Address::times_1);
 
+  // Check for volatile store
+  __ testl(rdx, rdx);
+  __ jcc(Assembler::zero, notVolatile);
+
+  fast_storefield_helper(field, rax);
+  volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad |
+                                               Assembler::StoreStore));
+  __ jmp(Done);
+  __ bind(notVolatile);
+
+  fast_storefield_helper(field, rax);
+
+  __ bind(Done);
+}
+
+void TemplateTable::fast_storefield_helper(Address field, Register rax) {
+
   // access field
   switch (bytecode()) {
   case Bytecodes::_fast_aputfield:
@@ -3458,13 +3462,6 @@
   default:
     ShouldNotReachHere();
   }
-
-  // Check for volatile store
-  __ testl(rdx, rdx);
-  __ jcc(Assembler::zero, notVolatile);
-  volatile_barrier(Assembler::Membar_mask_bits(Assembler::StoreLoad |
-                                               Assembler::StoreStore));
-  __ bind(notVolatile);
 }
 
 void TemplateTable::fast_accessfield(TosState state) {
--- a/src/hotspot/cpu/x86/templateTable_x86.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/cpu/x86/templateTable_x86.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, 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
@@ -39,4 +39,8 @@
   static void index_check(Register array, Register index);
   static void index_check_without_pop(Register array, Register index);
 
+  static void putfield_or_static_helper(int byte_no, bool is_static, RewriteControl rc,
+                                        Register obj, Register off, Register flags);
+  static void fast_storefield_helper(Address field, Register rax);
+
 #endif // CPU_X86_VM_TEMPLATETABLE_X86_HPP
--- a/src/hotspot/os_cpu/solaris_sparc/vm_version_solaris_sparc.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/os_cpu/solaris_sparc/vm_version_solaris_sparc.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -343,12 +343,9 @@
 
   uint32_t av = avs[AV_HW1_IDX];
 
-  // These are SPARC V8 legacy features.
-
-  assert((av & AV_SPARC_MUL32)  == 0, "unsupported V8");
-  assert((av & AV_SPARC_DIV32)  == 0, "unsupported V8");
-  assert((av & AV_SPARC_FSMULD) == 0, "unsupported V8");
-  assert((av & AV_SPARC_V8PLUS) == 0, "unsupported V8");
+  // Obsolete and 32b legacy mode capabilites NOT probed here, despite being
+  // set by Solaris 11.4 (onward) also on V9; AV_SPARC_MUL32, AV_SPARC_DIV32
+  // and AV_SPARC_FSMULD (and AV_SPARC_V8PLUS).
 
   if (av & AV_SPARC_POPC) features |= ISA_popc_msk;
   if (av & AV_SPARC_VIS)  features |= ISA_vis1_msk;
--- a/src/hotspot/os_cpu/windows_x86/thread_windows_x86.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/os_cpu/windows_x86/thread_windows_x86.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,8 +26,15 @@
 #define OS_CPU_WINDOWS_X86_VM_THREAD_WINDOWS_X86_HPP
 
  private:
+  // On windows, in the stubGenerator, there's nowhere to save callee saved regs
+  address          _windows_saved_rsi;
+  address          _windows_saved_rdi;
+
   void pd_initialize() {
     _anchor.clear();
+
+    _windows_saved_rsi = NULL;
+    _windows_saved_rdi = NULL;
   }
 
   frame pd_last_frame();
@@ -52,6 +59,8 @@
 
    bool pd_get_top_frame_for_profiling(frame* fr_addr, void* ucontext, bool isInJava);
 
+  static ByteSize windows_saved_rsi_offset() { return byte_offset_of(JavaThread, _windows_saved_rsi); }
+  static ByteSize windows_saved_rdi_offset() { return byte_offset_of(JavaThread, _windows_saved_rdi); }
 private:
   bool pd_get_top_frame(frame* fr_addr, void* ucontext, bool isInJava);
 
--- a/src/hotspot/share/aot/aotLoader.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/aot/aotLoader.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -47,6 +47,13 @@
     return;
   }
   if (UseAOT) {
+    if (JvmtiExport::can_hotswap_or_post_breakpoint()) {
+      if (PrintAOT) {
+        warning("JVMTI capability to hotswap and post breakpoint is not compatible with AOT (switching AOT off)");
+      }
+      FLAG_SET_DEFAULT(UseAOT, false);
+      return;
+    }
     FOR_ALL_AOT_HEAPS(heap) {
       (*heap)->load_klass_data(ik, thread);
     }
@@ -54,6 +61,7 @@
 }
 
 uint64_t AOTLoader::get_saved_fingerprint(InstanceKlass* ik) {
+  assert(UseAOT, "called only when AOT is enabled");
   if (ik->is_unsafe_anonymous()) {
     // don't even bother
     return 0;
@@ -67,24 +75,6 @@
   return 0;
 }
 
-bool AOTLoader::find_klass(InstanceKlass* ik) {
-  FOR_ALL_AOT_HEAPS(heap) {
-    if ((*heap)->find_klass(ik) != NULL) {
-      return true;
-    }
-  }
-  return false;
-}
-
-bool AOTLoader::contains(address p) {
-  FOR_ALL_AOT_HEAPS(heap) {
-    if ((*heap)->contains(p)) {
-      return true;
-    }
-  }
-  return false;
-}
-
 void AOTLoader::oops_do(OopClosure* f) {
   if (UseAOT) {
     FOR_ALL_AOT_HEAPS(heap) {
@@ -130,6 +120,14 @@
       return;
     }
 
+    if (JvmtiExport::can_hotswap_or_post_breakpoint()) {
+      if (PrintAOT) {
+        warning("JVMTI capability to hotswap and post breakpoint is not compatible with AOT (switching AOT off)");
+      }
+      FLAG_SET_DEFAULT(UseAOT, false);
+      return;
+    }
+
     // -Xint is not compatible with AOT
     if (Arguments::is_interpreter_only()) {
       if (PrintAOT) {
--- a/src/hotspot/share/aot/aotLoader.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/aot/aotLoader.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -59,9 +59,7 @@
   static void universe_init() NOT_AOT_RETURN;
   static void set_narrow_oop_shift() NOT_AOT_RETURN;
   static void set_narrow_klass_shift() NOT_AOT_RETURN;
-  static bool contains(address p) NOT_AOT({ return false; });
   static void load_for_klass(InstanceKlass* ik, Thread* thread) NOT_AOT_RETURN;
-  static bool find_klass(InstanceKlass* ik) NOT_AOT({ return false; });
   static uint64_t get_saved_fingerprint(InstanceKlass* ik) NOT_AOT({ return 0; });
   static void oops_do(OopClosure* f) NOT_AOT_RETURN;
   static void metadata_do(void f(Metadata*)) NOT_AOT_RETURN;
--- a/src/hotspot/share/classfile/classLoaderStats.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/classLoaderStats.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
@@ -28,6 +28,7 @@
 
 #include "classfile/classLoaderData.hpp"
 #include "oops/klass.hpp"
+#include "oops/oop.hpp"
 #include "oops/oopsHierarchy.hpp"
 #include "runtime/vm_operations.hpp"
 #include "services/diagnosticCommand.hpp"
@@ -97,7 +98,7 @@
 class ClassLoaderStatsClosure : public CLDClosure {
 protected:
   static bool oop_equals(oop const& s1, oop const& s2) {
-    return s1 == s2;
+    return oopDesc::equals(s1, s2);
   }
 
   static unsigned oop_hash(oop const& s1) {
--- a/src/hotspot/share/classfile/compactHashtable.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/compactHashtable.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,7 +24,7 @@
 
 #include "precompiled.hpp"
 #include "jvm.h"
-#include "classfile/compactHashtable.inline.hpp"
+#include "classfile/compactHashtable.hpp"
 #include "classfile/javaClasses.hpp"
 #include "logging/logMessage.hpp"
 #include "memory/heapShared.inline.hpp"
@@ -35,6 +35,7 @@
 #include "utilities/numberSeq.hpp"
 #include <sys/stat.h>
 
+#if INCLUDE_CDS
 /////////////////////////////////////////////////////
 //
 // The compact hash table writer implementations
@@ -170,33 +171,6 @@
 
 /////////////////////////////////////////////////////////////
 //
-// Customization for dumping Symbol and String tables
-
-void CompactSymbolTableWriter::add(unsigned int hash, Symbol *symbol) {
-  uintx deltax = MetaspaceShared::object_delta(symbol);
-  // When the symbols are stored into the archive, we already check that
-  // they won't be more than MAX_SHARED_DELTA from the base address, or
-  // else the dumping would have been aborted.
-  assert(deltax <= MAX_SHARED_DELTA, "must not be");
-  u4 delta = u4(deltax);
-
-  CompactHashtableWriter::add(hash, delta);
-}
-
-void CompactStringTableWriter::add(unsigned int hash, oop string) {
-  CompactHashtableWriter::add(hash, CompressedOops::encode(string));
-}
-
-void CompactSymbolTableWriter::dump(CompactHashtable<Symbol*, char> *cht) {
-  CompactHashtableWriter::dump(cht, "symbol");
-}
-
-void CompactStringTableWriter::dump(CompactHashtable<oop, char> *cht) {
-  CompactHashtableWriter::dump(cht, "string");
-}
-
-/////////////////////////////////////////////////////////////
-//
 // The CompactHashtable implementation
 //
 
@@ -207,95 +181,7 @@
   soc->do_ptr((void**)&_buckets);
   soc->do_ptr((void**)&_entries);
 }
-
-bool SimpleCompactHashtable::exists(u4 value) {
-  assert(!DumpSharedSpaces, "run-time only");
-
-  if (_entry_count == 0) {
-    return false;
-  }
-
-  unsigned int hash = (unsigned int)value;
-  int index = hash % _bucket_count;
-  u4 bucket_info = _buckets[index];
-  u4 bucket_offset = BUCKET_OFFSET(bucket_info);
-  int bucket_type = BUCKET_TYPE(bucket_info);
-  u4* entry = _entries + bucket_offset;
-
-  if (bucket_type == VALUE_ONLY_BUCKET_TYPE) {
-    return (entry[0] == value);
-  } else {
-    u4*entry_max = _entries + BUCKET_OFFSET(_buckets[index + 1]);
-    while (entry <entry_max) {
-      if (entry[1] == value) {
-        return true;
-      }
-      entry += 2;
-    }
-    return false;
-  }
-}
-
-template <class I>
-inline void SimpleCompactHashtable::iterate(const I& iterator) {
-  for (u4 i = 0; i < _bucket_count; i++) {
-    u4 bucket_info = _buckets[i];
-    u4 bucket_offset = BUCKET_OFFSET(bucket_info);
-    int bucket_type = BUCKET_TYPE(bucket_info);
-    u4* entry = _entries + bucket_offset;
-
-    if (bucket_type == VALUE_ONLY_BUCKET_TYPE) {
-      iterator.do_value(_base_address, entry[0]);
-    } else {
-      u4*entry_max = _entries + BUCKET_OFFSET(_buckets[i + 1]);
-      while (entry < entry_max) {
-        iterator.do_value(_base_address, entry[1]);
-        entry += 2;
-      }
-    }
-  }
-}
-
-template <class T, class N> void CompactHashtable<T, N>::serialize(SerializeClosure* soc) {
-  SimpleCompactHashtable::serialize(soc);
-  soc->do_u4(&_type);
-}
-
-class CompactHashtable_SymbolIterator {
-  SymbolClosure* const _closure;
-public:
-  CompactHashtable_SymbolIterator(SymbolClosure *cl) : _closure(cl) {}
-  inline void do_value(address base_address, u4 offset) const {
-    Symbol* sym = (Symbol*)((void*)(base_address + offset));
-    _closure->do_symbol(&sym);
-  }
-};
-
-template <class T, class N> void CompactHashtable<T, N>::symbols_do(SymbolClosure *cl) {
-  CompactHashtable_SymbolIterator iterator(cl);
-  iterate(iterator);
-}
-
-class CompactHashtable_OopIterator {
-  OopClosure* const _closure;
-public:
-  CompactHashtable_OopIterator(OopClosure *cl) : _closure(cl) {}
-  inline void do_value(address base_address, u4 offset) const {
-    narrowOop v = (narrowOop)offset;
-    oop obj = HeapShared::decode_from_archive(v);
-    _closure->do_oop(&obj);
-  }
-};
-
-template <class T, class N> void CompactHashtable<T, N>::oops_do(OopClosure* cl) {
-  assert(_type == _string_table || _bucket_count == 0, "sanity");
-  CompactHashtable_OopIterator iterator(cl);
-  iterate(iterator);
-}
-
-// Explicitly instantiate these types
-template class CompactHashtable<Symbol*, char>;
-template class CompactHashtable<oop, char>;
+#endif // INCLUDE_CDS
 
 #ifndef O_BINARY       // if defined (Win32) use binary files.
 #define O_BINARY 0     // otherwise do nothing.
--- a/src/hotspot/share/classfile/compactHashtable.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/compactHashtable.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,7 +29,14 @@
 #include "oops/symbol.hpp"
 #include "utilities/hashtable.hpp"
 
-template <class T, class N> class CompactHashtable;
+
+template <
+  typename K,
+  typename V,
+  V (*DECODE)(address base_address, u4 offset),
+  bool (*EQUALS)(V value, K key, int len)
+  >
+class CompactHashtable;
 class NumberSeq;
 class SimpleCompactHashtable;
 class SerializeClosure;
@@ -43,6 +50,7 @@
   int bucket_bytes;
 };
 
+#if INCLUDE_CDS
 /////////////////////////////////////////////////////////////////////////
 //
 // The compact hash table writer. Used at dump time for writing out
@@ -108,9 +116,6 @@
   ~CompactHashtableWriter();
 
   void add(unsigned int hash, u4 value);
-  void add(u4 value) {
-    add((unsigned int)value, value);
-  }
 
 private:
   void allocate_table();
@@ -118,24 +123,8 @@
 
 public:
   void dump(SimpleCompactHashtable *cht, const char* table_name);
-  const char* table_name();
 };
-
-class CompactSymbolTableWriter: public CompactHashtableWriter {
-public:
-  CompactSymbolTableWriter(int num_buckets, CompactHashtableStats* stats) :
-    CompactHashtableWriter(num_buckets, stats) {}
-  void add(unsigned int hash, Symbol *symbol);
-  void dump(CompactHashtable<Symbol*, char> *cht);
-};
-
-class CompactStringTableWriter: public CompactHashtableWriter {
-public:
-  CompactStringTableWriter(int num_entries, CompactHashtableStats* stats) :
-    CompactHashtableWriter(num_entries, stats) {}
-  void add(unsigned int hash, oop string);
-  void dump(CompactHashtable<oop, char> *cht);
-};
+#endif // INCLUDE_CDS
 
 #define REGULAR_BUCKET_TYPE       0
 #define VALUE_ONLY_BUCKET_TYPE    1
@@ -148,8 +137,7 @@
 
 /////////////////////////////////////////////////////////////////////////////
 //
-// CompactHashtable is used to stored the CDS archive's symbol/string table. Used
-// at runtime only to access the compact table from the archive.
+// CompactHashtable is used to store the CDS archive's symbol/string tables.
 //
 // Because these tables are read-only (no entries can be added/deleted) at run-time
 // and tend to have large number of entries, we try to minimize the footprint
@@ -225,56 +213,82 @@
     _entries = entries;
   }
 
-  template <class I> inline void iterate(const I& iterator);
-
-  bool exists(u4 value);
-
   // For reading from/writing to the CDS archive
-  void serialize(SerializeClosure* soc);
+  void serialize(SerializeClosure* soc) NOT_CDS_RETURN;
 
   inline bool empty() {
     return (_entry_count == 0);
   }
 };
 
-template <class T, class N> class CompactHashtable : public SimpleCompactHashtable {
+template <
+  typename K,
+  typename V,
+  V (*DECODE)(address base_address, u4 offset),
+  bool (*EQUALS)(V value, K key, int len)
+  >
+class CompactHashtable : public SimpleCompactHashtable {
   friend class VMStructs;
 
-public:
-  enum CompactHashtableType {
-    _symbol_table = 0,
-    _string_table = 1
-  };
+  V decode(u4 offset) const {
+    return DECODE(_base_address, offset);
+  }
 
-private:
-  u4 _type;
-
-  inline Symbol* decode_entry(CompactHashtable<Symbol*, char>* const t,
-                              u4 offset, const char* name, int len);
-
-  inline oop decode_entry(CompactHashtable<oop, char>* const t,
-                          u4 offset, const char* name, int len);
 public:
   CompactHashtable() : SimpleCompactHashtable() {}
 
-  void set_type(CompactHashtableType type) {
-    _type = (u4)type;
+  // Lookup a value V from the compact table using key K
+  inline V lookup(K key, unsigned int hash, int len) const {
+    if (_entry_count > 0) {
+      int index = hash % _bucket_count;
+      u4 bucket_info = _buckets[index];
+      u4 bucket_offset = BUCKET_OFFSET(bucket_info);
+      int bucket_type = BUCKET_TYPE(bucket_info);
+      u4* entry = _entries + bucket_offset;
+
+      if (bucket_type == VALUE_ONLY_BUCKET_TYPE) {
+        V value = decode(entry[0]);
+        if (EQUALS(value, key, len)) {
+          return value;
+        }
+      } else {
+        // This is a regular bucket, which has more than one
+        // entries. Each entry is a pair of entry (hash, offset).
+        // Seek until the end of the bucket.
+        u4* entry_max = _entries + BUCKET_OFFSET(_buckets[index + 1]);
+        while (entry < entry_max) {
+          unsigned int h = (unsigned int)(entry[0]);
+          if (h == hash) {
+            V value = decode(entry[1]);
+            if (EQUALS(value, key, len)) {
+              return value;
+            }
+          }
+          entry += 2;
+        }
+      }
+    }
+    return NULL;
   }
 
-  // Lookup an entry from the compact table
-  inline T lookup(const N* name, unsigned int hash, int len);
-
-  // iterate over symbols
-  void symbols_do(SymbolClosure *cl);
+  template <class ITER>
+  inline void iterate(ITER* iter) const {
+    for (u4 i = 0; i < _bucket_count; i++) {
+      u4 bucket_info = _buckets[i];
+      u4 bucket_offset = BUCKET_OFFSET(bucket_info);
+      int bucket_type = BUCKET_TYPE(bucket_info);
+      u4* entry = _entries + bucket_offset;
 
-  // iterate over strings
-  void oops_do(OopClosure* f);
-
-  // For reading from/writing to the CDS archive
-  void serialize(SerializeClosure* soc);
-
-  uintx base_address() {
-    return (uintx) _base_address;
+      if (bucket_type == VALUE_ONLY_BUCKET_TYPE) {
+        iter->do_value(decode(entry[0]));
+      } else {
+        u4*entry_max = _entries + BUCKET_OFFSET(_buckets[i + 1]);
+        while (entry < entry_max) {
+          iter->do_value(decode(entry[1]));
+          entry += 2;
+        }
+      }
+    }
   }
 };
 
--- a/src/hotspot/share/classfile/compactHashtable.inline.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2015, 2018, 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.
- *
- */
-
-#ifndef SHARE_VM_CLASSFILE_COMPACTHASHTABLE_INLINE_HPP
-#define SHARE_VM_CLASSFILE_COMPACTHASHTABLE_INLINE_HPP
-
-#include "classfile/compactHashtable.hpp"
-#include "classfile/javaClasses.hpp"
-#include "memory/allocation.inline.hpp"
-#include "memory/filemap.hpp"
-#include "memory/heapShared.inline.hpp"
-#include "oops/oop.hpp"
-
-template <class T, class N>
-inline Symbol* CompactHashtable<T, N>::decode_entry(CompactHashtable<Symbol*, char>* const t,
-                                                    u4 offset, const char* name, int len) {
-  Symbol* sym = (Symbol*)(_base_address + offset);
-  if (sym->equals(name, len)) {
-    assert(sym->refcount() == PERM_REFCOUNT, "must be shared");
-    return sym;
-  }
-
-  return NULL;
-}
-
-template <class T, class N>
-inline oop CompactHashtable<T, N>::decode_entry(CompactHashtable<oop, char>* const t,
-                                                u4 offset, const char* name, int len) {
-  narrowOop v = (narrowOop)offset;
-  oop string = HeapShared::decode_from_archive(v);
-  if (java_lang_String::equals(string, (jchar*)name, len)) {
-    return string;
-  }
-
-  return NULL;
-}
-
-template <class T, class N>
-inline T CompactHashtable<T,N>::lookup(const N* name, unsigned int hash, int len) {
-  if (_entry_count > 0) {
-    int index = hash % _bucket_count;
-    u4 bucket_info = _buckets[index];
-    u4 bucket_offset = BUCKET_OFFSET(bucket_info);
-    int bucket_type = BUCKET_TYPE(bucket_info);
-    u4* entry = _entries + bucket_offset;
-
-    if (bucket_type == VALUE_ONLY_BUCKET_TYPE) {
-      T res = decode_entry(this, entry[0], name, len);
-      if (res != NULL) {
-        return res;
-      }
-    } else {
-      // This is a regular bucket, which has more than one
-      // entries. Each entry is a pair of entry (hash, offset).
-      // Seek until the end of the bucket.
-      u4* entry_max = _entries + BUCKET_OFFSET(_buckets[index + 1]);
-      while (entry < entry_max) {
-        unsigned int h = (unsigned int)(entry[0]);
-        if (h == hash) {
-          T res = decode_entry(this, entry[1], name, len);
-          if (res != NULL) {
-            return res;
-          }
-        }
-        entry += 2;
-      }
-    }
-  }
-  return NULL;
-}
-
-#endif // SHARE_VM_CLASSFILE_COMPACTHASHTABLE_INLINE_HPP
--- a/src/hotspot/share/classfile/javaClasses.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/javaClasses.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -37,7 +37,7 @@
 #include "logging/log.hpp"
 #include "logging/logStream.hpp"
 #include "memory/oopFactory.hpp"
-#include "memory/metaspaceShared.hpp"
+#include "memory/metaspaceShared.inline.hpp"
 #include "memory/resourceArea.hpp"
 #include "memory/universe.hpp"
 #include "oops/fieldStreams.hpp"
@@ -86,7 +86,6 @@
   return _injected_fields[id].compute_offset();
 }
 
-
 InjectedField* JavaClasses::get_injected(Symbol* class_name, int* field_count) {
   *field_count = 0;
 
@@ -156,18 +155,6 @@
   compute_offset(dest_offset, ik, name, signature_symbol, is_static);
 }
 
-// Same as above but for "optional" offsets that might not be present in certain JDK versions
-// Old versions should be cleaned out since Hotspot only supports the current JDK, and this
-// function should be removed.
-static void
-compute_optional_offset(int& dest_offset,
-                        InstanceKlass* ik, Symbol* name_symbol, Symbol* signature_symbol) {
-  fieldDescriptor fd;
-  if (ik->find_local_field(name_symbol, signature_symbol, &fd)) {
-    dest_offset = fd.offset();
-  }
-}
-
 int java_lang_String::value_offset  = 0;
 int java_lang_String::hash_offset   = 0;
 int java_lang_String::coder_offset  = 0;
@@ -181,17 +168,11 @@
 #if INCLUDE_CDS
 #define FIELD_SERIALIZE_OFFSET(offset, klass, name, signature, is_static) \
   f->do_u4((u4*)&offset)
-
-#define FIELD_SERIALIZE_OFFSET_OPTIONAL(offset, klass, name, signature) \
-  f->do_u4((u4*)&offset)
 #endif
 
 #define FIELD_COMPUTE_OFFSET(offset, klass, name, signature, is_static) \
   compute_offset(offset, klass, name, vmSymbols::signature(), is_static)
 
-#define FIELD_COMPUTE_OFFSET_OPTIONAL(offset, klass, name, signature) \
-  compute_optional_offset(offset, klass, name, vmSymbols::signature())
-
 #define STRING_FIELDS_DO(macro) \
   macro(value_offset, k, vmSymbols::value_name(), byte_array_signature, false); \
   macro(hash_offset,  k, "hash",                  int_signature,        false); \
@@ -260,7 +241,7 @@
   return h_obj;
 }
 
-Handle java_lang_String::create_from_unicode(jchar* unicode, int length, TRAPS) {
+Handle java_lang_String::create_from_unicode(const jchar* unicode, int length, TRAPS) {
   bool is_latin1 = CompactStrings && UNICODE::is_latin1(unicode, length);
   Handle h_obj = basic_create(length, is_latin1, CHECK_NH);
   typeArrayOop buffer = value(h_obj());
@@ -290,7 +271,7 @@
   return h_obj;
 }
 
-oop java_lang_String::create_oop_from_unicode(jchar* unicode, int length, TRAPS) {
+oop java_lang_String::create_oop_from_unicode(const jchar* unicode, int length, TRAPS) {
   Handle h_obj = create_from_unicode(unicode, length, CHECK_0);
   return h_obj();
 }
@@ -662,7 +643,7 @@
   }
 }
 
-bool java_lang_String::equals(oop java_string, jchar* chars, int len) {
+bool java_lang_String::equals(oop java_string, const jchar* chars, int len) {
   assert(java_string->klass() == SystemDictionary::String_klass(),
          "must be java_string");
   typeArrayOop value = java_lang_String::value_no_keepalive(java_string);
@@ -2588,7 +2569,7 @@
   // Fill in class name
   ResourceMark rm(THREAD);
   const char* str = holder->external_name();
-  oop classname = StringTable::intern((char*) str, CHECK);
+  oop classname = StringTable::intern(str, CHECK);
   java_lang_StackTraceElement::set_declaringClass(element(), classname);
   java_lang_StackTraceElement::set_declaringClassObject(element(), holder->java_mirror());
 
@@ -2735,20 +2716,13 @@
   macro(exceptionTypes_offset, k, vmSymbols::exceptionTypes_name(), class_array_signature, false); \
   macro(slot_offset,           k, vmSymbols::slot_name(),           int_signature,         false); \
   macro(modifiers_offset,      k, vmSymbols::modifiers_name(),      int_signature,         false); \
-  macro##_OPTIONAL(signature_offset,             k, vmSymbols::signature_name(),             string_signature); \
-  macro##_OPTIONAL(annotations_offset,           k, vmSymbols::annotations_name(),           byte_array_signature); \
-  macro##_OPTIONAL(parameter_annotations_offset, k, vmSymbols::parameter_annotations_name(), byte_array_signature); \
-  macro##_OPTIONAL(annotation_default_offset,    k, vmSymbols::annotation_default_name(),    byte_array_signature); \
-  macro##_OPTIONAL(type_annotations_offset,      k, vmSymbols::type_annotations_name(),      byte_array_signature)
+  macro(signature_offset,             k, vmSymbols::signature_name(),             string_signature,     false); \
+  macro(annotations_offset,           k, vmSymbols::annotations_name(),           byte_array_signature, false); \
+  macro(parameter_annotations_offset, k, vmSymbols::parameter_annotations_name(), byte_array_signature, false); \
+  macro(annotation_default_offset,    k, vmSymbols::annotation_default_name(),    byte_array_signature, false);
 
 void java_lang_reflect_Method::compute_offsets() {
   InstanceKlass* k = SystemDictionary::reflect_Method_klass();
-  // The generic signature and annotations fields are only present in 1.5
-  signature_offset = -1;
-  annotations_offset = -1;
-  parameter_annotations_offset = -1;
-  annotation_default_offset = -1;
-  type_annotations_offset = -1;
   METHOD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
 }
 
@@ -2787,11 +2761,6 @@
   reflect->int_field_put(slot_offset, value);
 }
 
-oop java_lang_reflect_Method::name(oop method) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  return method->obj_field(name_offset);
-}
-
 void java_lang_reflect_Method::set_name(oop method, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
   method->obj_field_put(name_offset, value);
@@ -2817,125 +2786,48 @@
   method->obj_field_put(parameterTypes_offset, value);
 }
 
-oop java_lang_reflect_Method::exception_types(oop method) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  return method->obj_field(exceptionTypes_offset);
-}
-
 void java_lang_reflect_Method::set_exception_types(oop method, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
   method->obj_field_put(exceptionTypes_offset, value);
 }
 
-int java_lang_reflect_Method::modifiers(oop method) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  return method->int_field(modifiers_offset);
-}
-
 void java_lang_reflect_Method::set_modifiers(oop method, int value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
   method->int_field_put(modifiers_offset, value);
 }
 
-bool java_lang_reflect_Method::has_signature_field() {
-  return (signature_offset >= 0);
-}
-
-oop java_lang_reflect_Method::signature(oop method) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_signature_field(), "signature field must be present");
-  return method->obj_field(signature_offset);
-}
-
 void java_lang_reflect_Method::set_signature(oop method, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_signature_field(), "signature field must be present");
   method->obj_field_put(signature_offset, value);
 }
 
-bool java_lang_reflect_Method::has_annotations_field() {
-  return (annotations_offset >= 0);
-}
-
-oop java_lang_reflect_Method::annotations(oop method) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_annotations_field(), "annotations field must be present");
-  return method->obj_field(annotations_offset);
-}
-
 void java_lang_reflect_Method::set_annotations(oop method, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_annotations_field(), "annotations field must be present");
   method->obj_field_put(annotations_offset, value);
 }
 
-bool java_lang_reflect_Method::has_parameter_annotations_field() {
-  return (parameter_annotations_offset >= 0);
-}
-
-oop java_lang_reflect_Method::parameter_annotations(oop method) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_parameter_annotations_field(), "parameter annotations field must be present");
-  return method->obj_field(parameter_annotations_offset);
-}
-
 void java_lang_reflect_Method::set_parameter_annotations(oop method, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_parameter_annotations_field(), "parameter annotations field must be present");
   method->obj_field_put(parameter_annotations_offset, value);
 }
 
-bool java_lang_reflect_Method::has_annotation_default_field() {
-  return (annotation_default_offset >= 0);
-}
-
-oop java_lang_reflect_Method::annotation_default(oop method) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_annotation_default_field(), "annotation default field must be present");
-  return method->obj_field(annotation_default_offset);
-}
-
 void java_lang_reflect_Method::set_annotation_default(oop method, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_annotation_default_field(), "annotation default field must be present");
   method->obj_field_put(annotation_default_offset, value);
 }
 
-bool java_lang_reflect_Method::has_type_annotations_field() {
-  return (type_annotations_offset >= 0);
-}
-
-oop java_lang_reflect_Method::type_annotations(oop method) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_type_annotations_field(), "type_annotations field must be present");
-  return method->obj_field(type_annotations_offset);
-}
-
-void java_lang_reflect_Method::set_type_annotations(oop method, oop value) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_type_annotations_field(), "type_annotations field must be present");
-  method->obj_field_put(type_annotations_offset, value);
-}
-
 #define CONSTRUCTOR_FIELDS_DO(macro) \
   macro(clazz_offset,          k, vmSymbols::clazz_name(),          class_signature,       false); \
   macro(parameterTypes_offset, k, vmSymbols::parameterTypes_name(), class_array_signature, false); \
   macro(exceptionTypes_offset, k, vmSymbols::exceptionTypes_name(), class_array_signature, false); \
   macro(slot_offset,           k, vmSymbols::slot_name(),           int_signature,         false); \
   macro(modifiers_offset,      k, vmSymbols::modifiers_name(),      int_signature,         false); \
-  macro##_OPTIONAL(signature_offset,             k, vmSymbols::signature_name(),             string_signature); \
-  macro##_OPTIONAL(annotations_offset,           k, vmSymbols::annotations_name(),           byte_array_signature); \
-  macro##_OPTIONAL(parameter_annotations_offset, k, vmSymbols::parameter_annotations_name(), byte_array_signature); \
-  macro##_OPTIONAL(type_annotations_offset,      k, vmSymbols::type_annotations_name(),      byte_array_signature)
-
+  macro(signature_offset,             k, vmSymbols::signature_name(),             string_signature,     false); \
+  macro(annotations_offset,           k, vmSymbols::annotations_name(),           byte_array_signature, false); \
+  macro(parameter_annotations_offset, k, vmSymbols::parameter_annotations_name(), byte_array_signature, false);
 
 void java_lang_reflect_Constructor::compute_offsets() {
   InstanceKlass* k = SystemDictionary::reflect_Constructor_klass();
-  // The generic signature and annotations fields are only present in 1.5
-  signature_offset = -1;
-  annotations_offset = -1;
-  parameter_annotations_offset = -1;
-  type_annotations_offset = -1;
   CONSTRUCTOR_FIELDS_DO(FIELD_COMPUTE_OFFSET);
 }
 
@@ -2975,11 +2867,6 @@
   constructor->obj_field_put(parameterTypes_offset, value);
 }
 
-oop java_lang_reflect_Constructor::exception_types(oop constructor) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  return constructor->obj_field(exceptionTypes_offset);
-}
-
 void java_lang_reflect_Constructor::set_exception_types(oop constructor, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
   constructor->obj_field_put(exceptionTypes_offset, value);
@@ -2995,96 +2882,37 @@
   reflect->int_field_put(slot_offset, value);
 }
 
-int java_lang_reflect_Constructor::modifiers(oop constructor) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  return constructor->int_field(modifiers_offset);
-}
-
 void java_lang_reflect_Constructor::set_modifiers(oop constructor, int value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
   constructor->int_field_put(modifiers_offset, value);
 }
 
-bool java_lang_reflect_Constructor::has_signature_field() {
-  return (signature_offset >= 0);
-}
-
-oop java_lang_reflect_Constructor::signature(oop constructor) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_signature_field(), "signature field must be present");
-  return constructor->obj_field(signature_offset);
-}
-
 void java_lang_reflect_Constructor::set_signature(oop constructor, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_signature_field(), "signature field must be present");
   constructor->obj_field_put(signature_offset, value);
 }
 
-bool java_lang_reflect_Constructor::has_annotations_field() {
-  return (annotations_offset >= 0);
-}
-
-oop java_lang_reflect_Constructor::annotations(oop constructor) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_annotations_field(), "annotations field must be present");
-  return constructor->obj_field(annotations_offset);
-}
-
 void java_lang_reflect_Constructor::set_annotations(oop constructor, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_annotations_field(), "annotations field must be present");
   constructor->obj_field_put(annotations_offset, value);
 }
 
-bool java_lang_reflect_Constructor::has_parameter_annotations_field() {
-  return (parameter_annotations_offset >= 0);
-}
-
-oop java_lang_reflect_Constructor::parameter_annotations(oop method) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_parameter_annotations_field(), "parameter annotations field must be present");
-  return method->obj_field(parameter_annotations_offset);
-}
-
 void java_lang_reflect_Constructor::set_parameter_annotations(oop method, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_parameter_annotations_field(), "parameter annotations field must be present");
   method->obj_field_put(parameter_annotations_offset, value);
 }
 
-bool java_lang_reflect_Constructor::has_type_annotations_field() {
-  return (type_annotations_offset >= 0);
-}
-
-oop java_lang_reflect_Constructor::type_annotations(oop constructor) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_type_annotations_field(), "type_annotations field must be present");
-  return constructor->obj_field(type_annotations_offset);
-}
-
-void java_lang_reflect_Constructor::set_type_annotations(oop constructor, oop value) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_type_annotations_field(), "type_annotations field must be present");
-  constructor->obj_field_put(type_annotations_offset, value);
-}
-
 #define FIELD_FIELDS_DO(macro) \
   macro(clazz_offset,     k, vmSymbols::clazz_name(),     class_signature,  false); \
   macro(name_offset,      k, vmSymbols::name_name(),      string_signature, false); \
   macro(type_offset,      k, vmSymbols::type_name(),      class_signature,  false); \
   macro(slot_offset,      k, vmSymbols::slot_name(),      int_signature,    false); \
   macro(modifiers_offset, k, vmSymbols::modifiers_name(), int_signature,    false); \
-  macro##_OPTIONAL(signature_offset,        k, vmSymbols::signature_name(), string_signature); \
-  macro##_OPTIONAL(annotations_offset,      k, vmSymbols::annotations_name(),  byte_array_signature); \
-  macro##_OPTIONAL(type_annotations_offset, k, vmSymbols::type_annotations_name(),  byte_array_signature)
+  macro(signature_offset,        k, vmSymbols::signature_name(),        string_signature,     false); \
+  macro(annotations_offset,      k, vmSymbols::annotations_name(),      byte_array_signature, false);
 
 void java_lang_reflect_Field::compute_offsets() {
   InstanceKlass* k = SystemDictionary::reflect_Field_klass();
-  // The generic signature and annotations fields are only present in 1.5
-  signature_offset = -1;
-  annotations_offset = -1;
-  type_annotations_offset = -1;
   FIELD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
 }
 
@@ -3154,54 +2982,16 @@
   field->int_field_put(modifiers_offset, value);
 }
 
-bool java_lang_reflect_Field::has_signature_field() {
-  return (signature_offset >= 0);
-}
-
-oop java_lang_reflect_Field::signature(oop field) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_signature_field(), "signature field must be present");
-  return field->obj_field(signature_offset);
-}
-
 void java_lang_reflect_Field::set_signature(oop field, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_signature_field(), "signature field must be present");
   field->obj_field_put(signature_offset, value);
 }
 
-bool java_lang_reflect_Field::has_annotations_field() {
-  return (annotations_offset >= 0);
-}
-
-oop java_lang_reflect_Field::annotations(oop field) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_annotations_field(), "annotations field must be present");
-  return field->obj_field(annotations_offset);
-}
-
 void java_lang_reflect_Field::set_annotations(oop field, oop value) {
   assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_annotations_field(), "annotations field must be present");
   field->obj_field_put(annotations_offset, value);
 }
 
-bool java_lang_reflect_Field::has_type_annotations_field() {
-  return (type_annotations_offset >= 0);
-}
-
-oop java_lang_reflect_Field::type_annotations(oop field) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_type_annotations_field(), "type_annotations field must be present");
-  return field->obj_field(type_annotations_offset);
-}
-
-void java_lang_reflect_Field::set_type_annotations(oop field, oop value) {
-  assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
-  assert(has_type_annotations_field(), "type_annotations field must be present");
-  field->obj_field_put(type_annotations_offset, value);
-}
-
 #define CONSTANTPOOL_FIELDS_DO(macro) \
   macro(_oop_offset, k, "constantPoolOop", object_signature, false)
 
@@ -4219,7 +4009,6 @@
 int java_lang_reflect_Method::annotations_offset;
 int java_lang_reflect_Method::parameter_annotations_offset;
 int java_lang_reflect_Method::annotation_default_offset;
-int java_lang_reflect_Method::type_annotations_offset;
 int java_lang_reflect_Constructor::clazz_offset;
 int java_lang_reflect_Constructor::parameterTypes_offset;
 int java_lang_reflect_Constructor::exceptionTypes_offset;
@@ -4228,7 +4017,6 @@
 int java_lang_reflect_Constructor::signature_offset;
 int java_lang_reflect_Constructor::annotations_offset;
 int java_lang_reflect_Constructor::parameter_annotations_offset;
-int java_lang_reflect_Constructor::type_annotations_offset;
 int java_lang_reflect_Field::clazz_offset;
 int java_lang_reflect_Field::name_offset;
 int java_lang_reflect_Field::type_offset;
@@ -4236,7 +4024,6 @@
 int java_lang_reflect_Field::modifiers_offset;
 int java_lang_reflect_Field::signature_offset;
 int java_lang_reflect_Field::annotations_offset;
-int java_lang_reflect_Field::type_annotations_offset;
 int java_lang_reflect_Parameter::name_offset;
 int java_lang_reflect_Parameter::modifiers_offset;
 int java_lang_reflect_Parameter::index_offset;
--- a/src/hotspot/share/classfile/javaClasses.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/javaClasses.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -114,8 +114,8 @@
   static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
 
   // Instance creation
-  static Handle create_from_unicode(jchar* unicode, int len, TRAPS);
-  static oop    create_oop_from_unicode(jchar* unicode, int len, TRAPS);
+  static Handle create_from_unicode(const jchar* unicode, int len, TRAPS);
+  static oop    create_oop_from_unicode(const jchar* unicode, int len, TRAPS);
   static Handle create_from_str(const char* utf8_str, TRAPS);
   static oop    create_oop_from_str(const char* utf8_str, TRAPS);
   static Handle create_from_symbol(Symbol* symbol, TRAPS);
@@ -189,7 +189,7 @@
 
   static unsigned int hash_code(oop java_string);
 
-  static bool equals(oop java_string, jchar* chars, int len);
+  static bool equals(oop java_string, const jchar* chars, int len);
   static bool equals(oop str1, oop str2);
 
   // Conversion between '.' and '/' formats
@@ -602,10 +602,8 @@
   static int annotations_offset;
   static int parameter_annotations_offset;
   static int annotation_default_offset;
-  static int type_annotations_offset;
 
   static void compute_offsets();
-
  public:
   static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
 
@@ -616,7 +614,6 @@
   static oop clazz(oop reflect);
   static void set_clazz(oop reflect, oop value);
 
-  static oop name(oop method);
   static void set_name(oop method, oop value);
 
   static oop return_type(oop method);
@@ -625,35 +622,16 @@
   static oop parameter_types(oop method);
   static void set_parameter_types(oop method, oop value);
 
-  static oop exception_types(oop method);
-  static void set_exception_types(oop method, oop value);
-
   static int slot(oop reflect);
   static void set_slot(oop reflect, int value);
 
-  static int modifiers(oop method);
+  static void set_exception_types(oop method, oop value);
   static void set_modifiers(oop method, int value);
-
-  static bool has_signature_field();
-  static oop signature(oop method);
   static void set_signature(oop method, oop value);
-
-  static bool has_annotations_field();
-  static oop annotations(oop method);
   static void set_annotations(oop method, oop value);
-
-  static bool has_parameter_annotations_field();
-  static oop parameter_annotations(oop method);
   static void set_parameter_annotations(oop method, oop value);
-
-  static bool has_annotation_default_field();
-  static oop annotation_default(oop method);
   static void set_annotation_default(oop method, oop value);
 
-  static bool has_type_annotations_field();
-  static oop type_annotations(oop method);
-  static void set_type_annotations(oop method, oop value);
-
   // Debugging
   friend class JavaClasses;
 };
@@ -673,10 +651,8 @@
   static int signature_offset;
   static int annotations_offset;
   static int parameter_annotations_offset;
-  static int type_annotations_offset;
 
   static void compute_offsets();
-
  public:
   static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
 
@@ -690,31 +666,15 @@
   static oop parameter_types(oop constructor);
   static void set_parameter_types(oop constructor, oop value);
 
-  static oop exception_types(oop constructor);
-  static void set_exception_types(oop constructor, oop value);
-
   static int slot(oop reflect);
   static void set_slot(oop reflect, int value);
 
-  static int modifiers(oop constructor);
+  static void set_exception_types(oop constructor, oop value);
   static void set_modifiers(oop constructor, int value);
-
-  static bool has_signature_field();
-  static oop signature(oop constructor);
   static void set_signature(oop constructor, oop value);
-
-  static bool has_annotations_field();
-  static oop annotations(oop constructor);
   static void set_annotations(oop constructor, oop value);
-
-  static bool has_parameter_annotations_field();
-  static oop parameter_annotations(oop method);
   static void set_parameter_annotations(oop method, oop value);
 
-  static bool has_type_annotations_field();
-  static oop type_annotations(oop constructor);
-  static void set_type_annotations(oop constructor, oop value);
-
   // Debugging
   friend class JavaClasses;
 };
@@ -733,7 +693,6 @@
   static int modifiers_offset;
   static int signature_offset;
   static int annotations_offset;
-  static int type_annotations_offset;
 
   static void compute_offsets();
 
@@ -759,26 +718,11 @@
   static int modifiers(oop field);
   static void set_modifiers(oop field, int value);
 
-  static bool has_signature_field();
-  static oop signature(oop constructor);
   static void set_signature(oop constructor, oop value);
-
-  static bool has_annotations_field();
-  static oop annotations(oop constructor);
   static void set_annotations(oop constructor, oop value);
-
-  static bool has_parameter_annotations_field();
-  static oop parameter_annotations(oop method);
   static void set_parameter_annotations(oop method, oop value);
-
-  static bool has_annotation_default_field();
-  static oop annotation_default(oop method);
   static void set_annotation_default(oop method, oop value);
 
-  static bool has_type_annotations_field();
-  static oop type_annotations(oop field);
-  static void set_type_annotations(oop field, oop value);
-
   // Debugging
   friend class JavaClasses;
 };
--- a/src/hotspot/share/classfile/stringTable.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/stringTable.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,7 +24,7 @@
 
 #include "precompiled.hpp"
 #include "classfile/altHashing.hpp"
-#include "classfile/compactHashtable.inline.hpp"
+#include "classfile/compactHashtable.hpp"
 #include "classfile/javaClasses.inline.hpp"
 #include "classfile/stringTable.hpp"
 #include "classfile/systemDictionary.hpp"
@@ -35,7 +35,8 @@
 #include "logging/logStream.hpp"
 #include "memory/allocation.inline.hpp"
 #include "memory/filemap.hpp"
-#include "memory/metaspaceShared.hpp"
+#include "memory/heapShared.inline.hpp"
+#include "memory/metaspaceShared.inline.hpp"
 #include "memory/resourceArea.hpp"
 #include "memory/universe.hpp"
 #include "oops/access.inline.hpp"
@@ -62,9 +63,22 @@
 // If we have as many dead items as 50% of the number of bucket
 #define CLEAN_DEAD_HIGH_WATER_MARK 0.5
 
+#if INCLUDE_CDS_JAVA_HEAP
+inline oop read_string_from_compact_hashtable(address base_address, u4 offset) {
+  assert(sizeof(narrowOop) == sizeof(offset), "must be");
+  narrowOop v = (narrowOop)offset;
+  return HeapShared::decode_from_archive(v);
+}
+
+static CompactHashtable<
+  const jchar*, oop,
+  read_string_from_compact_hashtable,
+  java_lang_String::equals
+> _shared_table;
+#endif
+
 // --------------------------------------------------------------------------
 StringTable* StringTable::_the_table = NULL;
-CompactHashtable<oop, char> StringTable::_shared_table;
 volatile bool StringTable::_shared_string_mapped = false;
 volatile bool StringTable::_alt_hash = false;
 
@@ -134,7 +148,7 @@
       *is_dead = true;
       return false;
     }
-    bool equals = java_lang_String::equals(val_oop, (jchar*)_str, _len);
+    bool equals = java_lang_String::equals(val_oop, _str, _len);
     if (!equals) {
       return false;
     }
@@ -236,7 +250,7 @@
   return lookup(chars, length);
 }
 
-oop StringTable::lookup(jchar* name, int len) {
+oop StringTable::lookup(const jchar* name, int len) {
   unsigned int hash = java_lang_String::hash_code(name, len);
   oop string = StringTable::the_table()->lookup_shared(name, len, hash);
   if (string != NULL) {
@@ -263,7 +277,7 @@
   }
 };
 
-oop StringTable::do_lookup(jchar* name, int len, uintx hash) {
+oop StringTable::do_lookup(const jchar* name, int len, uintx hash) {
   Thread* thread = Thread::current();
   StringTableLookupJchar lookup(thread, hash, name, len);
   StringTableGet stg(thread);
@@ -308,7 +322,7 @@
   return result;
 }
 
-oop StringTable::intern(Handle string_or_null_h, jchar* name, int len, TRAPS) {
+oop StringTable::intern(Handle string_or_null_h, const jchar* name, int len, TRAPS) {
   // shared table always uses java_lang_String::hash_code
   unsigned int hash = java_lang_String::hash_code(name, len);
   oop found_string = StringTable::the_table()->lookup_shared(name, len, hash);
@@ -346,7 +360,7 @@
   }
 };
 
-oop StringTable::do_intern(Handle string_or_null_h, jchar* name,
+oop StringTable::do_intern(Handle string_or_null_h, const jchar* name,
                            int len, uintx hash, TRAPS) {
   HandleMark hm(THREAD);  // cleanup strings created
   Handle string_h;
@@ -775,10 +789,10 @@
 
 // Sharing
 #if INCLUDE_CDS_JAVA_HEAP
-oop StringTable::lookup_shared(jchar* name, int len, unsigned int hash) {
+oop StringTable::lookup_shared(const jchar* name, int len, unsigned int hash) {
   assert(hash == java_lang_String::hash_code(name, len),
          "hash must be computed using java_lang_String::hash_code");
-  return _shared_table.lookup((const char*)name, hash, len);
+  return _shared_table.lookup(name, hash, len);
 }
 
 oop StringTable::create_archived_string(oop s, Thread* THREAD) {
@@ -805,6 +819,15 @@
   return new_s;
 }
 
+class CompactStringTableWriter: public CompactHashtableWriter {
+public:
+  CompactStringTableWriter(int num_entries, CompactHashtableStats* stats) :
+    CompactHashtableWriter(num_entries, stats) {}
+  void add(unsigned int hash, oop string) {
+    CompactHashtableWriter::add(hash, CompressedOops::encode(string));
+  }
+};
+
 struct CopyToArchive : StackObj {
   CompactStringTableWriter* _writer;
   CopyToArchive(CompactStringTableWriter* writer) : _writer(writer) {}
@@ -849,11 +872,10 @@
 
   // Copy the interned strings into the "string space" within the java heap
   copy_shared_string_table(&writer);
-  writer.dump(&_shared_table);
+  writer.dump(&_shared_table, "string");
 }
 
 void StringTable::serialize(SerializeClosure* soc) {
-  _shared_table.set_type(CompactHashtable<oop, char>::_string_table);
   _shared_table.serialize(soc);
 
   if (soc->writing()) {
@@ -864,7 +886,17 @@
   }
 }
 
+class SharedStringIterator {
+  OopClosure* _oop_closure;
+public:
+  SharedStringIterator(OopClosure* f) : _oop_closure(f) {}
+  void do_value(oop string) {
+    _oop_closure->do_oop(&string);
+  }
+};
+
 void StringTable::shared_oops_do(OopClosure* f) {
-  _shared_table.oops_do(f);
+  SharedStringIterator iter(f);
+  _shared_table.iterate(&iter);
 }
 #endif //INCLUDE_CDS_JAVA_HEAP
--- a/src/hotspot/share/classfile/stringTable.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/stringTable.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,7 +33,6 @@
 #include "oops/weakHandle.hpp"
 #include "utilities/concurrentHashTable.hpp"
 
-template <class T, class N> class CompactHashtable;
 class CompactStringTableWriter;
 class SerializeClosure;
 
@@ -56,8 +55,6 @@
 
   // The string table
   static StringTable* _the_table;
-  // Shared string table
-  static CompactHashtable<oop, char> _shared_table;
   static volatile bool _shared_string_mapped;
   static volatile bool _alt_hash;
 
@@ -88,9 +85,9 @@
 
   StringTable();
 
-  static oop intern(Handle string_or_null_h, jchar* name, int len, TRAPS);
-  oop do_intern(Handle string_or_null, jchar* name, int len, uintx hash, TRAPS);
-  oop do_lookup(jchar* name, int len, uintx hash);
+  static oop intern(Handle string_or_null_h, const jchar* name, int len, TRAPS);
+  oop do_intern(Handle string_or_null, const jchar* name, int len, uintx hash, TRAPS);
+  oop do_lookup(const jchar* name, int len, uintx hash);
 
   void concurrent_work(JavaThread* jt);
   void print_table_statistics(outputStream* st, const char* table_name);
@@ -151,7 +148,7 @@
 
   // Probing
   static oop lookup(Symbol* symbol);
-  static oop lookup(jchar* chars, int length);
+  static oop lookup(const jchar* chars, int length);
 
   // Interning
   static oop intern(Symbol* symbol, TRAPS);
@@ -165,7 +162,7 @@
 
   // Sharing
  private:
-  oop lookup_shared(jchar* name, int len, unsigned int hash) NOT_CDS_JAVA_HEAP_RETURN_(NULL);
+  oop lookup_shared(const jchar* name, int len, unsigned int hash) NOT_CDS_JAVA_HEAP_RETURN_(NULL);
   static void copy_shared_string_table(CompactStringTableWriter* ch_table) NOT_CDS_JAVA_HEAP_RETURN;
  public:
   static oop create_archived_string(oop s, Thread* THREAD) NOT_CDS_JAVA_HEAP_RETURN_(NULL);
--- a/src/hotspot/share/classfile/symbolTable.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/symbolTable.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,11 +24,12 @@
 
 #include "precompiled.hpp"
 #include "classfile/altHashing.hpp"
-#include "classfile/compactHashtable.inline.hpp"
+#include "classfile/compactHashtable.hpp"
 #include "classfile/javaClasses.hpp"
 #include "classfile/symbolTable.hpp"
 #include "memory/allocation.inline.hpp"
 #include "memory/metaspaceClosure.hpp"
+#include "memory/metaspaceShared.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/oop.inline.hpp"
 #include "runtime/atomic.hpp"
@@ -56,8 +57,27 @@
 #define ON_STACK_BUFFER_LENGTH 128
 
 // --------------------------------------------------------------------------
+inline Symbol* read_symbol_from_compact_hashtable(address base_address, u4 offset) {
+  return (Symbol*)(base_address + offset);
+}
+
+inline bool symbol_equals_compact_hashtable_entry(Symbol* value, const char* key, int len) {
+  if (value->equals(key, len)) {
+    assert(value->refcount() == PERM_REFCOUNT, "must be shared");
+    return true;
+  } else {
+    return false;
+  }
+}
+
+static CompactHashtable<
+  const char*, Symbol*,
+  read_symbol_from_compact_hashtable,
+  symbol_equals_compact_hashtable_entry
+> _shared_table;
+
+// --------------------------------------------------------------------------
 SymbolTable* SymbolTable::_the_table = NULL;
-CompactHashtable<Symbol*, char> SymbolTable::_shared_table;
 volatile bool SymbolTable::_alt_hash = false;
 volatile bool SymbolTable::_lookup_shared_first = false;
 // Static arena for symbols that are not deallocated
@@ -224,10 +244,20 @@
   };
 };
 
+class SharedSymbolIterator {
+  SymbolClosure* _symbol_closure;
+public:
+  SharedSymbolIterator(SymbolClosure* f) : _symbol_closure(f) {}
+  void do_value(Symbol* symbol) {
+    _symbol_closure->do_symbol(&symbol);
+  }
+};
+
 // Call function for all symbols in the symbol table.
 void SymbolTable::symbols_do(SymbolClosure *cl) {
   // all symbols from shared table
-  _shared_table.symbols_do(cl);
+  SharedSymbolIterator iter(cl);
+  _shared_table.iterate(&iter);
 
   // all symbols from the dynamic table
   SymbolsDo sd(cl);
@@ -597,6 +627,22 @@
 }
 
 #if INCLUDE_CDS
+class CompactSymbolTableWriter: public CompactHashtableWriter {
+public:
+  CompactSymbolTableWriter(int num_buckets, CompactHashtableStats* stats) :
+    CompactHashtableWriter(num_buckets, stats) {}
+  void add(unsigned int hash, Symbol *symbol) {
+    uintx deltax = MetaspaceShared::object_delta(symbol);
+    // When the symbols are stored into the archive, we already check that
+    // they won't be more than MAX_SHARED_DELTA from the base address, or
+    // else the dumping would have been aborted.
+    assert(deltax <= MAX_SHARED_DELTA, "must not be");
+    u4 delta = u4(deltax);
+
+    CompactHashtableWriter::add(hash, delta);
+  }
+};
+
 struct CopyToArchive : StackObj {
   CompactSymbolTableWriter* _writer;
   CopyToArchive(CompactSymbolTableWriter* writer) : _writer(writer) {}
@@ -613,7 +659,6 @@
 
     // add to the compact table
     _writer->add(fixed_hash, sym);
-
     return true;
   }
 };
@@ -631,7 +676,7 @@
   CompactSymbolTableWriter writer(num_buckets > 1 ? num_buckets : 1,
                                   &MetaspaceShared::stats()->symbol);
   copy_shared_symbol_table(&writer);
-  writer.dump(&_shared_table);
+  writer.dump(&_shared_table, "symbol");
 
   // Verify table is correct
   Symbol* sym = vmSymbols::java_lang_Object();
@@ -642,7 +687,6 @@
 }
 
 void SymbolTable::serialize(SerializeClosure* soc) {
-  _shared_table.set_type(CompactHashtable<Symbol*, char>::_symbol_table);
   _shared_table.serialize(soc);
 
   if (soc->writing()) {
--- a/src/hotspot/share/classfile/symbolTable.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/symbolTable.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -84,7 +84,6 @@
   operator Symbol*()                             { return _temp; }
 };
 
-template <class T, class N> class CompactHashtable;
 class CompactSymbolTableWriter;
 class SerializeClosure;
 
@@ -108,8 +107,6 @@
 
   // The symbol table
   static SymbolTable* _the_table;
-  // Shared symbol table.
-  static CompactHashtable<Symbol*, char> _shared_table;
   static volatile bool _lookup_shared_first;
   static volatile bool _alt_hash;
 
--- a/src/hotspot/share/classfile/systemDictionaryShared.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/classfile/systemDictionaryShared.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,7 +28,6 @@
 #include "classfile/classLoader.hpp"
 #include "classfile/classLoaderData.inline.hpp"
 #include "classfile/classLoaderExt.hpp"
-#include "classfile/compactHashtable.inline.hpp"
 #include "classfile/dictionary.hpp"
 #include "classfile/javaClasses.hpp"
 #include "classfile/symbolTable.hpp"
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -79,7 +79,7 @@
 #include "logging/log.hpp"
 #include "memory/allocation.hpp"
 #include "memory/iterator.hpp"
-#include "memory/metaspaceShared.hpp"
+#include "memory/metaspaceShared.inline.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/access.inline.hpp"
 #include "oops/compressedOops.inline.hpp"
@@ -1079,9 +1079,10 @@
   // the full GC has compacted objects and updated TAMS but not updated
   // the prev bitmap.
   if (G1VerifyBitmaps) {
-    GCTraceTime(Debug, gc)("Clear Bitmap for Verification");
+    GCTraceTime(Debug, gc)("Clear Prev Bitmap for Verification");
     _cm->clear_prev_bitmap(workers());
   }
+  // This call implicitly verifies that the next bitmap is clear after Full GC.
   _verifier->check_bitmaps("Full GC End");
 
   // At this point there should be no regions in the
@@ -2484,7 +2485,6 @@
 
   // Fill TLAB's and such
   double start = os::elapsedTime();
-  accumulate_statistics_all_tlabs();
   ensure_parsability(true);
   g1_policy()->phase_times()->record_prepare_tlab_time_ms((os::elapsedTime() - start) * 1000.0);
 }
--- a/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -716,28 +716,6 @@
   clear_bitmap(_prev_mark_bitmap, workers, false);
 }
 
-class CheckBitmapClearHRClosure : public HeapRegionClosure {
-  G1CMBitMap* _bitmap;
- public:
-  CheckBitmapClearHRClosure(G1CMBitMap* bitmap) : _bitmap(bitmap) {
-  }
-
-  virtual bool do_heap_region(HeapRegion* r) {
-    // This closure can be called concurrently to the mutator, so we must make sure
-    // that the result of the getNextMarkedWordAddress() call is compared to the
-    // value passed to it as limit to detect any found bits.
-    // end never changes in G1.
-    HeapWord* end = r->end();
-    return _bitmap->get_next_marked_addr(r->bottom(), end) != end;
-  }
-};
-
-bool G1ConcurrentMark::next_mark_bitmap_is_clear() {
-  CheckBitmapClearHRClosure cl(_next_mark_bitmap);
-  _g1h->heap_region_iterate(&cl);
-  return cl.is_complete();
-}
-
 class NoteStartOfMarkHRClosure : public HeapRegionClosure {
 public:
   bool do_heap_region(HeapRegion* r) {
--- a/src/hotspot/share/gc/g1/g1ConcurrentMark.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -544,10 +544,6 @@
   // Clear the previous marking bitmap during safepoint.
   void clear_prev_bitmap(WorkGang* workers);
 
-  // Return whether the next mark bitmap has no marks set. To be used for assertions
-  // only. Will not yield to pause requests.
-  bool next_mark_bitmap_is_clear();
-
   // These two methods do the work that needs to be done at the start and end of the
   // initial mark pause.
   void pre_initial_mark();
--- a/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -381,8 +381,6 @@
       if (!_cm->has_aborted()) {
         G1ConcPhase p(G1ConcurrentPhase::CLEANUP_FOR_NEXT_MARK, this);
         _cm->cleanup_for_next_mark();
-      } else {
-        assert(!G1VerifyBitmaps || _cm->next_mark_bitmap_is_clear(), "Next mark bitmap must be clear");
       }
     }
 
--- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -488,10 +488,6 @@
   return result;
 }
 
-void ParallelScavengeHeap::accumulate_statistics_all_tlabs() {
-  CollectedHeap::accumulate_statistics_all_tlabs();
-}
-
 void ParallelScavengeHeap::resize_all_tlabs() {
   CollectedHeap::resize_all_tlabs();
 }
--- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -206,7 +206,6 @@
   HeapWord** end_addr() const { return !UseNUMA ? young_gen()->end_addr() : (HeapWord**)-1; }
 
   void ensure_parsability(bool retire_tlabs);
-  void accumulate_statistics_all_tlabs();
   void resize_all_tlabs();
 
   bool supports_tlab_allocation() const { return true; }
--- a/src/hotspot/share/gc/parallel/psMarkSweep.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/parallel/psMarkSweep.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -150,7 +150,6 @@
   heap->trace_heap_before_gc(_gc_tracer);
 
   // Fill in TLABs
-  heap->accumulate_statistics_all_tlabs();
   heap->ensure_parsability(true);  // retire TLABs
 
   if (VerifyBeforeGC && heap->total_collections() >= VerifyGCStartAt) {
--- a/src/hotspot/share/gc/parallel/psParallelCompact.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/parallel/psParallelCompact.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -972,7 +972,6 @@
   heap->trace_heap_before_gc(&_gc_tracer);
 
   // Fill in TLABs
-  heap->accumulate_statistics_all_tlabs();
   heap->ensure_parsability(true);  // retire TLABs
 
   if (VerifyBeforeGC && heap->total_collections() >= VerifyGCStartAt) {
--- a/src/hotspot/share/gc/parallel/psScavenge.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/parallel/psScavenge.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -279,7 +279,6 @@
   assert(!AlwaysTenure || _tenuring_threshold == 0, "Sanity");
 
   // Fill in TLABs
-  heap->accumulate_statistics_all_tlabs();
   heap->ensure_parsability(true);  // retire TLABs
 
   if (VerifyBeforeGC && heap->total_collections() >= VerifyGCStartAt) {
--- a/src/hotspot/share/gc/serial/markSweep.inline.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/serial/markSweep.inline.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,7 +27,6 @@
 
 #include "classfile/classLoaderData.inline.hpp"
 #include "gc/serial/markSweep.hpp"
-#include "memory/metaspaceShared.hpp"
 #include "memory/universe.hpp"
 #include "oops/markOop.inline.hpp"
 #include "oops/access.inline.hpp"
--- a/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,8 +25,10 @@
 #include "precompiled.hpp"
 #include "gc/shared/c2/barrierSetC2.hpp"
 #include "opto/arraycopynode.hpp"
+#include "opto/convertnode.hpp"
 #include "opto/graphKit.hpp"
 #include "opto/idealKit.hpp"
+#include "opto/macro.hpp"
 #include "opto/narrowptrnode.hpp"
 #include "utilities/macros.hpp"
 
@@ -601,3 +603,130 @@
     kit->set_all_memory(n);
   }
 }
+
+Node* BarrierSetC2::obj_allocate(PhaseMacroExpand* macro, Node* ctrl, Node* mem, Node* toobig_false, Node* size_in_bytes,
+                                 Node*& i_o, Node*& needgc_ctrl,
+                                 Node*& fast_oop_ctrl, Node*& fast_oop_rawmem,
+                                 intx prefetch_lines) const {
+
+  Node* eden_top_adr;
+  Node* eden_end_adr;
+
+  macro->set_eden_pointers(eden_top_adr, eden_end_adr);
+
+  // Load Eden::end.  Loop invariant and hoisted.
+  //
+  // Note: We set the control input on "eden_end" and "old_eden_top" when using
+  //       a TLAB to work around a bug where these values were being moved across
+  //       a safepoint.  These are not oops, so they cannot be include in the oop
+  //       map, but they can be changed by a GC.   The proper way to fix this would
+  //       be to set the raw memory state when generating a  SafepointNode.  However
+  //       this will require extensive changes to the loop optimization in order to
+  //       prevent a degradation of the optimization.
+  //       See comment in memnode.hpp, around line 227 in class LoadPNode.
+  Node *eden_end = macro->make_load(ctrl, mem, eden_end_adr, 0, TypeRawPtr::BOTTOM, T_ADDRESS);
+
+  // We need a Region for the loop-back contended case.
+  enum { fall_in_path = 1, contended_loopback_path = 2 };
+  Node *contended_region;
+  Node *contended_phi_rawmem;
+  if (UseTLAB) {
+    contended_region = toobig_false;
+    contended_phi_rawmem = mem;
+  } else {
+    contended_region = new RegionNode(3);
+    contended_phi_rawmem = new PhiNode(contended_region, Type::MEMORY, TypeRawPtr::BOTTOM);
+    // Now handle the passing-too-big test.  We fall into the contended
+    // loop-back merge point.
+    contended_region    ->init_req(fall_in_path, toobig_false);
+    contended_phi_rawmem->init_req(fall_in_path, mem);
+    macro->transform_later(contended_region);
+    macro->transform_later(contended_phi_rawmem);
+  }
+
+  // Load(-locked) the heap top.
+  // See note above concerning the control input when using a TLAB
+  Node *old_eden_top = UseTLAB
+    ? new LoadPNode      (ctrl, contended_phi_rawmem, eden_top_adr, TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM, MemNode::unordered)
+    : new LoadPLockedNode(contended_region, contended_phi_rawmem, eden_top_adr, MemNode::acquire);
+
+  macro->transform_later(old_eden_top);
+  // Add to heap top to get a new heap top
+  Node *new_eden_top = new AddPNode(macro->top(), old_eden_top, size_in_bytes);
+  macro->transform_later(new_eden_top);
+  // Check for needing a GC; compare against heap end
+  Node *needgc_cmp = new CmpPNode(new_eden_top, eden_end);
+  macro->transform_later(needgc_cmp);
+  Node *needgc_bol = new BoolNode(needgc_cmp, BoolTest::ge);
+  macro->transform_later(needgc_bol);
+  IfNode *needgc_iff = new IfNode(contended_region, needgc_bol, PROB_UNLIKELY_MAG(4), COUNT_UNKNOWN);
+  macro->transform_later(needgc_iff);
+
+  // Plug the failing-heap-space-need-gc test into the slow-path region
+  Node *needgc_true = new IfTrueNode(needgc_iff);
+  macro->transform_later(needgc_true);
+  needgc_ctrl = needgc_true;
+
+  // No need for a GC.  Setup for the Store-Conditional
+  Node *needgc_false = new IfFalseNode(needgc_iff);
+  macro->transform_later(needgc_false);
+
+  i_o = macro->prefetch_allocation(i_o, needgc_false, contended_phi_rawmem,
+                                   old_eden_top, new_eden_top, prefetch_lines);
+
+  Node* fast_oop = old_eden_top;
+
+  // Store (-conditional) the modified eden top back down.
+  // StorePConditional produces flags for a test PLUS a modified raw
+  // memory state.
+  if (UseTLAB) {
+    Node* store_eden_top =
+      new StorePNode(needgc_false, contended_phi_rawmem, eden_top_adr,
+                     TypeRawPtr::BOTTOM, new_eden_top, MemNode::unordered);
+    macro->transform_later(store_eden_top);
+    fast_oop_ctrl = needgc_false; // No contention, so this is the fast path
+    fast_oop_rawmem = store_eden_top;
+  } else {
+    Node* store_eden_top =
+      new StorePConditionalNode(needgc_false, contended_phi_rawmem, eden_top_adr,
+                                new_eden_top, fast_oop/*old_eden_top*/);
+    macro->transform_later(store_eden_top);
+    Node *contention_check = new BoolNode(store_eden_top, BoolTest::ne);
+    macro->transform_later(contention_check);
+    store_eden_top = new SCMemProjNode(store_eden_top);
+    macro->transform_later(store_eden_top);
+
+    // If not using TLABs, check to see if there was contention.
+    IfNode *contention_iff = new IfNode (needgc_false, contention_check, PROB_MIN, COUNT_UNKNOWN);
+    macro->transform_later(contention_iff);
+    Node *contention_true = new IfTrueNode(contention_iff);
+    macro->transform_later(contention_true);
+    // If contention, loopback and try again.
+    contended_region->init_req(contended_loopback_path, contention_true);
+    contended_phi_rawmem->init_req(contended_loopback_path, store_eden_top);
+
+    // Fast-path succeeded with no contention!
+    Node *contention_false = new IfFalseNode(contention_iff);
+    macro->transform_later(contention_false);
+    fast_oop_ctrl = contention_false;
+
+    // Bump total allocated bytes for this thread
+    Node* thread = new ThreadLocalNode();
+    macro->transform_later(thread);
+    Node* alloc_bytes_adr = macro->basic_plus_adr(macro->top()/*not oop*/, thread,
+                                                  in_bytes(JavaThread::allocated_bytes_offset()));
+    Node* alloc_bytes = macro->make_load(fast_oop_ctrl, store_eden_top, alloc_bytes_adr,
+                                         0, TypeLong::LONG, T_LONG);
+#ifdef _LP64
+    Node* alloc_size = size_in_bytes;
+#else
+    Node* alloc_size = new ConvI2LNode(size_in_bytes);
+    macro->transform_later(alloc_size);
+#endif
+    Node* new_alloc_bytes = new AddLNode(alloc_bytes, alloc_size);
+    macro->transform_later(new_alloc_bytes);
+    fast_oop_rawmem = macro->make_store(fast_oop_ctrl, store_eden_top, alloc_bytes_adr,
+                                        0, new_alloc_bytes, T_LONG);
+  }
+  return fast_oop;
+}
--- a/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -192,6 +192,11 @@
 
   virtual Node* resolve(GraphKit* kit, Node* n, DecoratorSet decorators) const { return n; }
 
+  virtual Node* obj_allocate(PhaseMacroExpand* macro, Node* ctrl, Node* mem, Node* toobig_false, Node* size_in_bytes,
+                             Node*& i_o, Node*& needgc_ctrl,
+                             Node*& fast_oop_ctrl, Node*& fast_oop_rawmem,
+                             intx prefetch_lines) const;
+
   // These are general helper methods used by C2
   virtual bool array_copy_requires_gc_barriers(BasicType type) const { return false; }
 
--- a/src/hotspot/share/gc/shared/collectedHeap.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/shared/collectedHeap.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -468,50 +468,33 @@
 }
 
 void CollectedHeap::ensure_parsability(bool retire_tlabs) {
-  // The second disjunct in the assertion below makes a concession
-  // for the start-up verification done while the VM is being
-  // created. Callers be careful that you know that mutators
-  // aren't going to interfere -- for instance, this is permissible
-  // if we are still single-threaded and have either not yet
-  // started allocating (nothing much to verify) or we have
-  // started allocating but are now a full-fledged JavaThread
-  // (and have thus made our TLAB's) available for filling.
-  assert(SafepointSynchronize::is_at_safepoint() ||
-         !is_init_completed(),
-         "Should only be called at a safepoint or at start-up"
-         " otherwise concurrent mutator activity may make heap "
-         " unparsable again");
-  const bool use_tlab = UseTLAB;
-  // The main thread starts allocating via a TLAB even before it
-  // has added itself to the threads list at vm boot-up.
-  JavaThreadIteratorWithHandle jtiwh;
-  assert(!use_tlab || jtiwh.length() > 0,
-         "Attempt to fill tlabs before main thread has been added"
-         " to threads list is doomed to failure!");
-  BarrierSet *bs = BarrierSet::barrier_set();
-  for (; JavaThread *thread = jtiwh.next(); ) {
-     if (use_tlab) thread->tlab().make_parsable(retire_tlabs);
-     bs->make_parsable(thread);
+  assert(SafepointSynchronize::is_at_safepoint() || !is_init_completed(),
+         "Should only be called at a safepoint or at start-up");
+
+  ThreadLocalAllocStats stats;
+
+  for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thread = jtiwh.next();) {
+    BarrierSet::barrier_set()->make_parsable(thread);
+    if (UseTLAB) {
+      if (retire_tlabs) {
+        thread->tlab().retire(&stats);
+      } else {
+        thread->tlab().make_parsable();
+      }
+    }
   }
-}
 
-void CollectedHeap::accumulate_statistics_all_tlabs() {
-  if (UseTLAB) {
-    assert(SafepointSynchronize::is_at_safepoint() ||
-         !is_init_completed(),
-         "should only accumulate statistics on tlabs at safepoint");
-
-    ThreadLocalAllocBuffer::accumulate_statistics_before_gc();
-  }
+  stats.publish();
 }
 
 void CollectedHeap::resize_all_tlabs() {
-  if (UseTLAB) {
-    assert(SafepointSynchronize::is_at_safepoint() ||
-         !is_init_completed(),
-         "should only resize tlabs at safepoint");
+  assert(SafepointSynchronize::is_at_safepoint() || !is_init_completed(),
+         "Should only resize tlabs at safepoint");
 
-    ThreadLocalAllocBuffer::resize_all_tlabs();
+  if (UseTLAB && ResizeTLAB) {
+    for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thread = jtiwh.next(); ) {
+      thread->tlab().resize();
+    }
   }
 }
 
--- a/src/hotspot/share/gc/shared/collectedHeap.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/shared/collectedHeap.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -137,9 +137,6 @@
                                       size_t requested_size,
                                       size_t* actual_size);
 
-  // Accumulate statistics on all tlabs.
-  virtual void accumulate_statistics_all_tlabs();
-
   // Reinitialize tlabs before resuming mutators.
   virtual void resize_all_tlabs();
 
--- a/src/hotspot/share/gc/shared/genCollectedHeap.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/shared/genCollectedHeap.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1293,7 +1293,6 @@
   assert(InlineCacheBuffer::is_empty(), "should have cleaned up ICBuffer");
 
   // Fill TLAB's and such
-  CollectedHeap::accumulate_statistics_all_tlabs();
   ensure_parsability(true);   // retire TLABs
 
   // Walk generations
--- a/src/hotspot/share/gc/shared/memAllocator.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/shared/memAllocator.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -320,7 +320,7 @@
   // To minimize fragmentation, the last TLAB may be smaller than the rest.
   size_t new_tlab_size = tlab.compute_size(_word_size);
 
-  tlab.clear_before_allocation();
+  tlab.retire_before_allocation();
 
   if (new_tlab_size == 0) {
     return NULL;
--- a/src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -32,18 +32,9 @@
 #include "runtime/threadSMR.hpp"
 #include "utilities/copy.hpp"
 
-// Thread-Local Edens support
-
-// static member initialization
-size_t           ThreadLocalAllocBuffer::_max_size       = 0;
-int              ThreadLocalAllocBuffer::_reserve_for_allocation_prefetch = 0;
-unsigned         ThreadLocalAllocBuffer::_target_refills = 0;
-GlobalTLABStats* ThreadLocalAllocBuffer::_global_stats   = NULL;
-
-void ThreadLocalAllocBuffer::clear_before_allocation() {
-  _slow_refill_waste += (unsigned)remaining();
-  make_parsable(true);   // also retire the TLAB
-}
+size_t       ThreadLocalAllocBuffer::_max_size = 0;
+int          ThreadLocalAllocBuffer::_reserve_for_allocation_prefetch = 0;
+unsigned int ThreadLocalAllocBuffer::_target_refills = 0;
 
 size_t ThreadLocalAllocBuffer::remaining() {
   if (end() == NULL) {
@@ -53,22 +44,7 @@
   return pointer_delta(hard_end(), top());
 }
 
-void ThreadLocalAllocBuffer::accumulate_statistics_before_gc() {
-  global_stats()->initialize();
-
-  for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thread = jtiwh.next(); ) {
-    thread->tlab().accumulate_statistics();
-    thread->tlab().initialize_statistics();
-  }
-
-  // Publish new stats if some allocation occurred.
-  if (global_stats()->allocation() != 0) {
-    global_stats()->publish();
-    global_stats()->print();
-  }
-}
-
-void ThreadLocalAllocBuffer::accumulate_statistics() {
+void ThreadLocalAllocBuffer::accumulate_and_reset_statistics(ThreadLocalAllocStats* stats) {
   Thread* thr     = thread();
   size_t capacity = Universe::heap()->tlab_capacity(thr);
   size_t used     = Universe::heap()->tlab_used(thr);
@@ -95,55 +71,55 @@
       double alloc_frac = MIN2(1.0, (double) allocated_since_last_gc / used);
       _allocation_fraction.sample(alloc_frac);
     }
-    global_stats()->update_allocating_threads();
-    global_stats()->update_number_of_refills(_number_of_refills);
-    global_stats()->update_allocation(_allocated_size);
-    global_stats()->update_gc_waste(_gc_waste);
-    global_stats()->update_slow_refill_waste(_slow_refill_waste);
-    global_stats()->update_fast_refill_waste(_fast_refill_waste);
 
+    stats->update_fast_allocations(_number_of_refills,
+                                   _allocated_size,
+                                   _gc_waste,
+                                   _fast_refill_waste,
+                                   _slow_refill_waste);
   } else {
     assert(_number_of_refills == 0 && _fast_refill_waste == 0 &&
            _slow_refill_waste == 0 && _gc_waste          == 0,
            "tlab stats == 0");
   }
-  global_stats()->update_slow_allocations(_slow_allocations);
+
+  stats->update_slow_allocations(_slow_allocations);
+
+  reset_statistics();
 }
 
-// Fills the current tlab with a dummy filler array to create
-// an illusion of a contiguous Eden and optionally retires the tlab.
-// Waste accounting should be done in caller as appropriate; see,
-// for example, clear_before_allocation().
-void ThreadLocalAllocBuffer::make_parsable(bool retire, bool zap) {
+void ThreadLocalAllocBuffer::insert_filler() {
+  assert(end() != NULL, "Must not be retired");
+  Universe::heap()->fill_with_dummy_object(top(), hard_end(), true);
+}
+
+void ThreadLocalAllocBuffer::make_parsable() {
   if (end() != NULL) {
     invariants();
-
-    if (retire) {
-      thread()->incr_allocated_bytes(used_bytes());
-    }
-
-    Universe::heap()->fill_with_dummy_object(top(), hard_end(), retire && zap);
-
-    if (retire || ZeroTLAB) {  // "Reset" the TLAB
-      set_start(NULL);
-      set_top(NULL);
-      set_pf_top(NULL);
-      set_end(NULL);
-      set_allocation_end(NULL);
+    if (ZeroTLAB) {
+      retire();
+    } else {
+      insert_filler();
     }
   }
-  assert(!(retire || ZeroTLAB)  ||
-         (start() == NULL && end() == NULL && top() == NULL &&
-          _allocation_end == NULL),
-         "TLAB must be reset");
 }
 
-void ThreadLocalAllocBuffer::resize_all_tlabs() {
-  if (ResizeTLAB) {
-    for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thread = jtiwh.next(); ) {
-      thread->tlab().resize();
-    }
+void ThreadLocalAllocBuffer::retire(ThreadLocalAllocStats* stats) {
+  if (stats != NULL) {
+    accumulate_and_reset_statistics(stats);
   }
+
+  if (end() != NULL) {
+    invariants();
+    thread()->incr_allocated_bytes(used_bytes());
+    insert_filler();
+    initialize(NULL, NULL, NULL);
+  }
+}
+
+void ThreadLocalAllocBuffer::retire_before_allocation() {
+  _slow_refill_waste += (unsigned int)remaining();
+  retire();
 }
 
 void ThreadLocalAllocBuffer::resize() {
@@ -166,7 +142,7 @@
   set_refill_waste_limit(initial_refill_waste_limit());
 }
 
-void ThreadLocalAllocBuffer::initialize_statistics() {
+void ThreadLocalAllocBuffer::reset_statistics() {
   _number_of_refills = 0;
   _fast_refill_waste = 0;
   _slow_refill_waste = 0;
@@ -207,21 +183,17 @@
 
   set_desired_size(initial_desired_size());
 
-  // Following check is needed because at startup the main
-  // thread is initialized before the heap is.  The initialization for
-  // this thread is redone in startup_initialization below.
-  if (Universe::heap() != NULL) {
-    size_t capacity   = Universe::heap()->tlab_capacity(thread()) / HeapWordSize;
-    double alloc_frac = desired_size() * target_refills() / (double) capacity;
-    _allocation_fraction.sample(alloc_frac);
-  }
+  size_t capacity = Universe::heap()->tlab_capacity(thread()) / HeapWordSize;
+  double alloc_frac = desired_size() * target_refills() / (double) capacity;
+  _allocation_fraction.sample(alloc_frac);
 
   set_refill_waste_limit(initial_refill_waste_limit());
 
-  initialize_statistics();
+  reset_statistics();
 }
 
 void ThreadLocalAllocBuffer::startup_initialization() {
+  ThreadLocalAllocStats::initialize();
 
   // Assuming each thread's active tlab is, on average,
   // 1/2 full at a GC
@@ -230,8 +202,6 @@
   // abort during VM initialization.
   _target_refills = MAX2(_target_refills, 2U);
 
-  _global_stats = new GlobalTLABStats();
-
 #ifdef COMPILER2
   // If the C2 compiler is present, extra space is needed at the end of
   // TLABs, otherwise prefetching instructions generated by the C2
@@ -270,9 +240,9 @@
 
   if (TLABSize > 0) {
     init_sz = TLABSize / HeapWordSize;
-  } else if (global_stats() != NULL) {
+  } else {
     // Initial size is a function of the average number of allocating threads.
-    unsigned nof_threads = global_stats()->allocating_threads_avg();
+    unsigned int nof_threads = ThreadLocalAllocStats::allocating_threads_avg();
 
     init_sz  = (Universe::heap()->tlab_capacity(thread()) / HeapWordSize) /
                       (nof_threads * target_refills());
@@ -346,123 +316,148 @@
   return _allocation_end + alignment_reserve();
 }
 
-GlobalTLABStats::GlobalTLABStats() :
-  _allocating_threads_avg(TLABAllocationWeight) {
+PerfVariable* ThreadLocalAllocStats::_perf_allocating_threads;
+PerfVariable* ThreadLocalAllocStats::_perf_total_refills;
+PerfVariable* ThreadLocalAllocStats::_perf_max_refills;
+PerfVariable* ThreadLocalAllocStats::_perf_total_allocations;
+PerfVariable* ThreadLocalAllocStats::_perf_total_gc_waste;
+PerfVariable* ThreadLocalAllocStats::_perf_max_gc_waste;
+PerfVariable* ThreadLocalAllocStats::_perf_total_slow_refill_waste;
+PerfVariable* ThreadLocalAllocStats::_perf_max_slow_refill_waste;
+PerfVariable* ThreadLocalAllocStats::_perf_total_fast_refill_waste;
+PerfVariable* ThreadLocalAllocStats::_perf_max_fast_refill_waste;
+PerfVariable* ThreadLocalAllocStats::_perf_total_slow_allocations;
+PerfVariable* ThreadLocalAllocStats::_perf_max_slow_allocations;
+AdaptiveWeightedAverage ThreadLocalAllocStats::_allocating_threads_avg(0);
 
-  initialize();
+static PerfVariable* create_perf_variable(const char* name, PerfData::Units unit, TRAPS) {
+  ResourceMark rm;
+  return PerfDataManager::create_variable(SUN_GC, PerfDataManager::counter_name("tlab", name), unit, THREAD);
+}
 
+void ThreadLocalAllocStats::initialize() {
+  _allocating_threads_avg = AdaptiveWeightedAverage(TLABAllocationWeight);
   _allocating_threads_avg.sample(1); // One allocating thread at startup
 
   if (UsePerfData) {
-
     EXCEPTION_MARK;
-    ResourceMark rm;
-
-    char* cname = PerfDataManager::counter_name("tlab", "allocThreads");
-    _perf_allocating_threads =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_None, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "fills");
-    _perf_total_refills =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_None, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "maxFills");
-    _perf_max_refills =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_None, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "alloc");
-    _perf_allocation =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "gcWaste");
-    _perf_gc_waste =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "maxGcWaste");
-    _perf_max_gc_waste =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "slowWaste");
-    _perf_slow_refill_waste =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "maxSlowWaste");
-    _perf_max_slow_refill_waste =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "fastWaste");
-    _perf_fast_refill_waste =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "maxFastWaste");
-    _perf_max_fast_refill_waste =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "slowAlloc");
-    _perf_slow_allocations =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_None, CHECK);
-
-    cname = PerfDataManager::counter_name("tlab", "maxSlowAlloc");
-    _perf_max_slow_allocations =
-      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_None, CHECK);
+    _perf_allocating_threads      = create_perf_variable("allocThreads", PerfData::U_None,  CHECK);
+    _perf_total_refills           = create_perf_variable("fills",        PerfData::U_None,  CHECK);
+    _perf_max_refills             = create_perf_variable("maxFills",     PerfData::U_None,  CHECK);
+    _perf_total_allocations       = create_perf_variable("alloc",        PerfData::U_Bytes, CHECK);
+    _perf_total_gc_waste          = create_perf_variable("gcWaste",      PerfData::U_Bytes, CHECK);
+    _perf_max_gc_waste            = create_perf_variable("maxGcWaste",   PerfData::U_Bytes, CHECK);
+    _perf_total_slow_refill_waste = create_perf_variable("slowWaste",    PerfData::U_Bytes, CHECK);
+    _perf_max_slow_refill_waste   = create_perf_variable("maxSlowWaste", PerfData::U_Bytes, CHECK);
+    _perf_total_fast_refill_waste = create_perf_variable("fastWaste",    PerfData::U_Bytes, CHECK);
+    _perf_max_fast_refill_waste   = create_perf_variable("maxFastWaste", PerfData::U_Bytes, CHECK);
+    _perf_total_slow_allocations  = create_perf_variable("slowAlloc",    PerfData::U_None,  CHECK);
+    _perf_max_slow_allocations    = create_perf_variable("maxSlowAlloc", PerfData::U_None,  CHECK);
   }
 }
 
-void GlobalTLABStats::initialize() {
-  // Clear counters summarizing info from all threads
+ThreadLocalAllocStats::ThreadLocalAllocStats() :
+    _allocating_threads(0),
+    _total_refills(0),
+    _max_refills(0),
+    _total_allocations(0),
+    _total_gc_waste(0),
+    _max_gc_waste(0),
+    _total_fast_refill_waste(0),
+    _max_fast_refill_waste(0),
+    _total_slow_refill_waste(0),
+    _max_slow_refill_waste(0),
+    _total_slow_allocations(0),
+    _max_slow_allocations(0) {}
+
+unsigned int ThreadLocalAllocStats::allocating_threads_avg() {
+  return MAX2((unsigned int)(_allocating_threads_avg.average() + 0.5), 1U);
+}
+
+void ThreadLocalAllocStats::update_fast_allocations(unsigned int refills,
+                                       size_t allocations,
+                                       size_t gc_waste,
+                                       size_t fast_refill_waste,
+                                       size_t slow_refill_waste) {
+  _allocating_threads      += 1;
+  _total_refills           += refills;
+  _max_refills              = MAX2(_max_refills, refills);
+  _total_allocations       += allocations;
+  _total_gc_waste          += gc_waste;
+  _max_gc_waste             = MAX2(_max_gc_waste, gc_waste);
+  _total_fast_refill_waste += fast_refill_waste;
+  _max_fast_refill_waste    = MAX2(_max_fast_refill_waste, fast_refill_waste);
+  _total_slow_refill_waste += slow_refill_waste;
+  _max_slow_refill_waste    = MAX2(_max_slow_refill_waste, slow_refill_waste);
+}
+
+void ThreadLocalAllocStats::update_slow_allocations(unsigned int allocations) {
+  _total_slow_allocations += allocations;
+  _max_slow_allocations    = MAX2(_max_slow_allocations, allocations);
+}
+
+void ThreadLocalAllocStats::update(const ThreadLocalAllocStats& other) {
+  _allocating_threads      += other._allocating_threads;
+  _total_refills           += other._total_refills;
+  _max_refills              = MAX2(_max_refills, other._max_refills);
+  _total_allocations       += other._total_allocations;
+  _total_gc_waste          += other._total_gc_waste;
+  _max_gc_waste             = MAX2(_max_gc_waste, other._max_gc_waste);
+  _total_fast_refill_waste += other._total_fast_refill_waste;
+  _max_fast_refill_waste    = MAX2(_max_fast_refill_waste, other._max_fast_refill_waste);
+  _total_slow_refill_waste += other._total_slow_refill_waste;
+  _max_slow_refill_waste    = MAX2(_max_slow_refill_waste, other._max_slow_refill_waste);
+  _total_slow_allocations  += other._total_slow_allocations;
+  _max_slow_allocations     = MAX2(_max_slow_allocations, other._max_slow_allocations);
+}
+
+void ThreadLocalAllocStats::reset() {
   _allocating_threads      = 0;
   _total_refills           = 0;
   _max_refills             = 0;
-  _total_allocation        = 0;
+  _total_allocations       = 0;
   _total_gc_waste          = 0;
   _max_gc_waste            = 0;
+  _total_fast_refill_waste = 0;
+  _max_fast_refill_waste   = 0;
   _total_slow_refill_waste = 0;
   _max_slow_refill_waste   = 0;
-  _total_fast_refill_waste = 0;
-  _max_fast_refill_waste   = 0;
   _total_slow_allocations  = 0;
   _max_slow_allocations    = 0;
 }
 
-void GlobalTLABStats::publish() {
-  _allocating_threads_avg.sample(_allocating_threads);
-  if (UsePerfData) {
-    _perf_allocating_threads   ->set_value(_allocating_threads);
-    _perf_total_refills        ->set_value(_total_refills);
-    _perf_max_refills          ->set_value(_max_refills);
-    _perf_allocation           ->set_value(_total_allocation);
-    _perf_gc_waste             ->set_value(_total_gc_waste);
-    _perf_max_gc_waste         ->set_value(_max_gc_waste);
-    _perf_slow_refill_waste    ->set_value(_total_slow_refill_waste);
-    _perf_max_slow_refill_waste->set_value(_max_slow_refill_waste);
-    _perf_fast_refill_waste    ->set_value(_total_fast_refill_waste);
-    _perf_max_fast_refill_waste->set_value(_max_fast_refill_waste);
-    _perf_slow_allocations     ->set_value(_total_slow_allocations);
-    _perf_max_slow_allocations ->set_value(_max_slow_allocations);
-  }
-}
-
-void GlobalTLABStats::print() {
-  Log(gc, tlab) log;
-  if (!log.is_debug()) {
+void ThreadLocalAllocStats::publish() {
+  if (_total_allocations == 0) {
     return;
   }
 
-  size_t waste = _total_gc_waste + _total_slow_refill_waste + _total_fast_refill_waste;
-  double waste_percent = percent_of(waste, _total_allocation);
-  log.debug("TLAB totals: thrds: %d  refills: %d max: %d"
-            " slow allocs: %d max %d waste: %4.1f%%"
-            " gc: " SIZE_FORMAT "B max: " SIZE_FORMAT "B"
-            " slow: " SIZE_FORMAT "B max: " SIZE_FORMAT "B"
-            " fast: " SIZE_FORMAT "B max: " SIZE_FORMAT "B",
-            _allocating_threads,
-            _total_refills, _max_refills,
-            _total_slow_allocations, _max_slow_allocations,
-            waste_percent,
-            _total_gc_waste * HeapWordSize,
-            _max_gc_waste * HeapWordSize,
-            _total_slow_refill_waste * HeapWordSize,
-            _max_slow_refill_waste * HeapWordSize,
-            _total_fast_refill_waste * HeapWordSize,
-            _max_fast_refill_waste * HeapWordSize);
+  _allocating_threads_avg.sample(_allocating_threads);
+
+  const size_t waste = _total_gc_waste + _total_slow_refill_waste + _total_fast_refill_waste;
+  const double waste_percent = percent_of(waste, _total_allocations);
+  log_debug(gc, tlab)("TLAB totals: thrds: %d  refills: %d max: %d"
+                      " slow allocs: %d max %d waste: %4.1f%%"
+                      " gc: " SIZE_FORMAT "B max: " SIZE_FORMAT "B"
+                      " slow: " SIZE_FORMAT "B max: " SIZE_FORMAT "B"
+                      " fast: " SIZE_FORMAT "B max: " SIZE_FORMAT "B",
+                      _allocating_threads, _total_refills, _max_refills,
+                      _total_slow_allocations, _max_slow_allocations, waste_percent,
+                      _total_gc_waste * HeapWordSize, _max_gc_waste * HeapWordSize,
+                      _total_slow_refill_waste * HeapWordSize, _max_slow_refill_waste * HeapWordSize,
+                      _total_fast_refill_waste * HeapWordSize, _max_fast_refill_waste * HeapWordSize);
+
+  if (UsePerfData) {
+    _perf_allocating_threads      ->set_value(_allocating_threads);
+    _perf_total_refills           ->set_value(_total_refills);
+    _perf_max_refills             ->set_value(_max_refills);
+    _perf_total_allocations       ->set_value(_total_allocations);
+    _perf_total_gc_waste          ->set_value(_total_gc_waste);
+    _perf_max_gc_waste            ->set_value(_max_gc_waste);
+    _perf_total_slow_refill_waste ->set_value(_total_slow_refill_waste);
+    _perf_max_slow_refill_waste   ->set_value(_max_slow_refill_waste);
+    _perf_total_fast_refill_waste ->set_value(_total_fast_refill_waste);
+    _perf_max_fast_refill_waste   ->set_value(_max_fast_refill_waste);
+    _perf_total_slow_allocations  ->set_value(_total_slow_allocations);
+    _perf_max_slow_allocations    ->set_value(_max_slow_allocations);
+  }
 }
--- a/src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,7 +30,7 @@
 #include "runtime/perfData.hpp"
 #include "runtime/vm_version.hpp"
 
-class GlobalTLABStats;
+class ThreadLocalAllocStats;
 
 // ThreadLocalAllocBuffer: a descriptor for thread-local storage used by
 // the threads for allocation.
@@ -71,8 +71,7 @@
 
   AdaptiveWeightedAverage _allocation_fraction;  // fraction of eden allocated in tlabs
 
-  void accumulate_statistics();
-  void initialize_statistics();
+  void reset_statistics();
 
   void set_start(HeapWord* start)                { _start = start; }
   void set_end(HeapWord* end)                    { _end = end; }
@@ -92,13 +91,14 @@
   // Make parsable and release it.
   void reset();
 
-  // Resize based on amount of allocation, etc.
-  void resize();
-
   void invariants() const { assert(top() >= start() && top() <= end(), "invalid tlab"); }
 
   void initialize(HeapWord* start, HeapWord* top, HeapWord* end);
 
+  void insert_filler();
+
+  void accumulate_and_reset_statistics(ThreadLocalAllocStats* stats);
+
   void print_stats(const char* tag);
 
   Thread* thread();
@@ -111,9 +111,6 @@
   int gc_waste() const          { return _gc_waste; }
   int slow_allocations() const  { return _slow_allocations; }
 
-  static GlobalTLABStats* _global_stats;
-  static GlobalTLABStats* global_stats() { return _global_stats; }
-
 public:
   ThreadLocalAllocBuffer() : _allocated_before_last_gc(0), _allocation_fraction(TLABAllocationWeight) {
     // do nothing.  tlabs must be inited by initialize() calls
@@ -162,17 +159,17 @@
   // Initialization at startup
   static void startup_initialization();
 
-  // Make an in-use tlab parsable, optionally retiring and/or zapping it.
-  void make_parsable(bool retire, bool zap = true);
+  // Make an in-use tlab parsable.
+  void make_parsable();
+
+  // Retire an in-use tlab and optionally collect statistics.
+  void retire(ThreadLocalAllocStats* stats = NULL);
 
   // Retire in-use tlab before allocation of a new tlab
-  void clear_before_allocation();
+  void retire_before_allocation();
 
-  // Accumulate statistics across all tlabs before gc
-  static void accumulate_statistics_before_gc();
-
-  // Resize tlabs for all threads
-  static void resize_all_tlabs();
+  // Resize based on amount of allocation, etc.
+  void resize();
 
   void fill(HeapWord* start, HeapWord* top, size_t new_size);
   void initialize();
@@ -199,88 +196,52 @@
   void verify();
 };
 
-class GlobalTLABStats: public CHeapObj<mtThread> {
+class ThreadLocalAllocStats : public StackObj {
 private:
+  static PerfVariable* _perf_allocating_threads;
+  static PerfVariable* _perf_total_refills;
+  static PerfVariable* _perf_max_refills;
+  static PerfVariable* _perf_total_allocations;
+  static PerfVariable* _perf_total_gc_waste;
+  static PerfVariable* _perf_max_gc_waste;
+  static PerfVariable* _perf_total_slow_refill_waste;
+  static PerfVariable* _perf_max_slow_refill_waste;
+  static PerfVariable* _perf_total_fast_refill_waste;
+  static PerfVariable* _perf_max_fast_refill_waste;
+  static PerfVariable* _perf_total_slow_allocations;
+  static PerfVariable* _perf_max_slow_allocations;
 
-  // Accumulate perfdata in private variables because
-  // PerfData should be write-only for security reasons
-  // (see perfData.hpp)
-  unsigned _allocating_threads;
-  unsigned _total_refills;
-  unsigned _max_refills;
-  size_t   _total_allocation;
-  size_t   _total_gc_waste;
-  size_t   _max_gc_waste;
-  size_t   _total_slow_refill_waste;
-  size_t   _max_slow_refill_waste;
-  size_t   _total_fast_refill_waste;
-  size_t   _max_fast_refill_waste;
-  unsigned _total_slow_allocations;
-  unsigned _max_slow_allocations;
+  static AdaptiveWeightedAverage _allocating_threads_avg;
 
-  PerfVariable* _perf_allocating_threads;
-  PerfVariable* _perf_total_refills;
-  PerfVariable* _perf_max_refills;
-  PerfVariable* _perf_allocation;
-  PerfVariable* _perf_gc_waste;
-  PerfVariable* _perf_max_gc_waste;
-  PerfVariable* _perf_slow_refill_waste;
-  PerfVariable* _perf_max_slow_refill_waste;
-  PerfVariable* _perf_fast_refill_waste;
-  PerfVariable* _perf_max_fast_refill_waste;
-  PerfVariable* _perf_slow_allocations;
-  PerfVariable* _perf_max_slow_allocations;
-
-  AdaptiveWeightedAverage _allocating_threads_avg;
+  unsigned int _allocating_threads;
+  unsigned int _total_refills;
+  unsigned int _max_refills;
+  size_t       _total_allocations;
+  size_t       _total_gc_waste;
+  size_t       _max_gc_waste;
+  size_t       _total_fast_refill_waste;
+  size_t       _max_fast_refill_waste;
+  size_t       _total_slow_refill_waste;
+  size_t       _max_slow_refill_waste;
+  unsigned int _total_slow_allocations;
+  unsigned int _max_slow_allocations;
 
 public:
-  GlobalTLABStats();
-
-  // Initialize all counters
-  void initialize();
-
-  // Write all perf counters to the perf_counters
-  void publish();
-
-  void print();
+  static void initialize();
+  static unsigned int allocating_threads_avg();
 
-  // Accessors
-  unsigned allocating_threads_avg() {
-    return MAX2((unsigned)(_allocating_threads_avg.average() + 0.5), 1U);
-  }
-
-  size_t allocation() {
-    return _total_allocation;
-  }
-
-  // Update methods
+  ThreadLocalAllocStats();
 
-  void update_allocating_threads() {
-    _allocating_threads++;
-  }
-  void update_number_of_refills(unsigned value) {
-    _total_refills += value;
-    _max_refills    = MAX2(_max_refills, value);
-  }
-  void update_allocation(size_t value) {
-    _total_allocation += value;
-  }
-  void update_gc_waste(size_t value) {
-    _total_gc_waste += value;
-    _max_gc_waste    = MAX2(_max_gc_waste, value);
-  }
-  void update_fast_refill_waste(size_t value) {
-    _total_fast_refill_waste += value;
-    _max_fast_refill_waste    = MAX2(_max_fast_refill_waste, value);
-  }
-  void update_slow_refill_waste(size_t value) {
-    _total_slow_refill_waste += value;
-    _max_slow_refill_waste    = MAX2(_max_slow_refill_waste, value);
-  }
-  void update_slow_allocations(unsigned value) {
-    _total_slow_allocations += value;
-    _max_slow_allocations    = MAX2(_max_slow_allocations, value);
-  }
+  void update_fast_allocations(unsigned int refills,
+                               size_t allocations,
+                               size_t gc_waste,
+                               size_t fast_refill_waste,
+                               size_t slow_refill_waste);
+  void update_slow_allocations(unsigned int allocations);
+  void update(const ThreadLocalAllocStats& other);
+
+  void reset();
+  void publish();
 };
 
 #endif // SHARE_VM_GC_SHARED_THREADLOCALALLOCBUFFER_HPP
--- a/src/hotspot/share/gc/z/zCollectedHeap.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zCollectedHeap.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -117,6 +117,10 @@
   return is_in(p);
 }
 
+void ZCollectedHeap::fill_with_dummy_object(HeapWord* start, HeapWord* end, bool zap) {
+  // Does nothing, not a parsable heap
+}
+
 HeapWord* ZCollectedHeap::allocate_new_tlab(size_t min_size, size_t requested_size, size_t* actual_size) {
   const size_t size_in_bytes = ZUtils::words_to_bytes(align_object_size(requested_size));
   const uintptr_t addr = _heap.alloc_tlab(size_in_bytes);
--- a/src/hotspot/share/gc/z/zCollectedHeap.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zCollectedHeap.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -56,10 +56,6 @@
 public:
   static ZCollectedHeap* heap();
 
-  using CollectedHeap::ensure_parsability;
-  using CollectedHeap::accumulate_statistics_all_tlabs;
-  using CollectedHeap::resize_all_tlabs;
-
   ZCollectedHeap(ZCollectorPolicy* policy);
   virtual Name kind() const;
   virtual const char* name() const;
@@ -79,6 +75,8 @@
   virtual bool is_in(const void* p) const;
   virtual bool is_in_closed_subset(const void* p) const;
 
+  virtual void fill_with_dummy_object(HeapWord* start, HeapWord* end, bool zap);
+
   virtual HeapWord* mem_allocate(size_t size, bool* gc_overhead_limit_was_exceeded);
   virtual MetaWord* satisfy_failed_metadata_allocation(ClassLoaderData* loader_data,
                                                        size_t size,
--- a/src/hotspot/share/gc/z/zHeap.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zHeap.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -273,13 +273,13 @@
   // Update statistics
   ZStatSample(ZSamplerHeapUsedBeforeMark, used());
 
-  // Retire TLABs
-  _object_allocator.retire_tlabs();
-
   // Flip address view
   ZAddressMasks::flip_to_marked();
   flip_views();
 
+  // Retire allocating pages
+  _object_allocator.retire_pages();
+
   // Reset allocated/reclaimed/used statistics
   _page_allocator.reset_statistics();
 
@@ -304,6 +304,17 @@
   _mark.flush_and_free(thread);
 }
 
+class ZFixupPartialLoadsClosure : public ZRootsIteratorClosure {
+public:
+  virtual void do_oop(oop* p) {
+    ZBarrier::mark_barrier_on_root_oop_field(p);
+  }
+
+  virtual void do_oop(narrowOop* p) {
+    ShouldNotReachHere();
+  }
+};
+
 class ZFixupPartialLoadsTask : public ZTask {
 private:
   ZThreadRootsIterator _thread_roots;
@@ -314,7 +325,7 @@
       _thread_roots() {}
 
   virtual void work() {
-    ZMarkRootOopClosure cl;
+    ZFixupPartialLoadsClosure cl;
     _thread_roots.oops_do(&cl);
   }
 };
@@ -464,9 +475,6 @@
   ZAddressMasks::flip_to_remapped();
   flip_views();
 
-  // Remap TLABs
-  _object_allocator.remap_tlabs();
-
   // Enter relocate phase
   ZGlobalPhase = ZPhaseRelocate;
 
--- a/src/hotspot/share/gc/z/zHeapIterator.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zHeapIterator.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, 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
@@ -51,7 +51,7 @@
   }
 };
 
-class ZHeapIteratorRootOopClosure : public OopClosure {
+class ZHeapIteratorRootOopClosure : public ZRootsIteratorClosure {
 private:
   ZHeapIterator* const _iter;
   ObjectClosure* const _cl;
--- a/src/hotspot/share/gc/z/zInitialize.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zInitialize.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
@@ -30,6 +30,7 @@
 #include "gc/z/zLargePages.hpp"
 #include "gc/z/zNUMA.hpp"
 #include "gc/z/zStat.hpp"
+#include "gc/z/zStatTLAB.hpp"
 #include "gc/z/zTracer.hpp"
 #include "logging/log.hpp"
 #include "runtime/vm_version.hpp"
@@ -45,6 +46,7 @@
   ZNUMA::initialize();
   ZCPU::initialize();
   ZStatValue::initialize();
+  ZStatTLAB::initialize();
   ZTracer::initialize();
   ZLargePages::initialize();
   ZBarrierSet::set_barrier_set(barrier_set);
--- a/src/hotspot/share/gc/z/zMark.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zMark.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -32,6 +32,7 @@
 #include "gc/z/zPageTable.inline.hpp"
 #include "gc/z/zRootsIterator.hpp"
 #include "gc/z/zStat.hpp"
+#include "gc/z/zStatTLAB.hpp"
 #include "gc/z/zTask.hpp"
 #include "gc/z/zThread.hpp"
 #include "gc/z/zUtils.inline.hpp"
@@ -117,10 +118,43 @@
   }
 }
 
+class ZMarkRootsIteratorClosure : public ZRootsIteratorClosure {
+public:
+  ZMarkRootsIteratorClosure() {
+    ZStatTLAB::reset();
+  }
+
+  ~ZMarkRootsIteratorClosure() {
+    ZStatTLAB::publish();
+  }
+
+  virtual void do_thread(Thread* thread) {
+    ZRootsIteratorClosure::do_thread(thread);
+
+    // Update thread local address bad mask
+    ZThreadLocalData::set_address_bad_mask(thread, ZAddressBadMask);
+
+    // Retire TLAB
+    if (UseTLAB && thread->is_Java_thread()) {
+      thread->tlab().retire(ZStatTLAB::get());
+      thread->tlab().resize();
+    }
+  }
+
+  virtual void do_oop(oop* p) {
+    ZBarrier::mark_barrier_on_root_oop_field(p);
+  }
+
+  virtual void do_oop(narrowOop* p) {
+    ShouldNotReachHere();
+  }
+};
+
 class ZMarkRootsTask : public ZTask {
 private:
-  ZMark* const   _mark;
-  ZRootsIterator _roots;
+  ZMark* const              _mark;
+  ZRootsIterator            _roots;
+  ZMarkRootsIteratorClosure _cl;
 
 public:
   ZMarkRootsTask(ZMark* mark) :
@@ -129,8 +163,7 @@
       _roots() {}
 
   virtual void work() {
-    ZMarkRootOopClosure cl;
-    _roots.oops_do(&cl);
+    _roots.oops_do(&_cl);
 
     // Flush and free worker stacks. Needed here since
     // the set of workers executing during root scanning
--- a/src/hotspot/share/gc/z/zObjectAllocator.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zObjectAllocator.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -22,7 +22,6 @@
  */
 
 #include "precompiled.hpp"
-#include "gc/shared/threadLocalAllocBuffer.inline.hpp"
 #include "gc/z/zCollectedHeap.hpp"
 #include "gc/z/zGlobals.hpp"
 #include "gc/z/zHeap.inline.hpp"
@@ -41,8 +40,6 @@
 
 static const ZStatCounter ZCounterUndoObjectAllocationSucceeded("Memory", "Undo Object Allocation Succeeded", ZStatUnitOpsPerSecond);
 static const ZStatCounter ZCounterUndoObjectAllocationFailed("Memory", "Undo Object Allocation Failed", ZStatUnitOpsPerSecond);
-static const ZStatSubPhase ZSubPhasePauseRetireTLABS("Pause Retire TLABS");
-static const ZStatSubPhase ZSubPhasePauseRemapTLABS("Pause Remap TLABS");
 
 ZObjectAllocator::ZObjectAllocator(uint nworkers) :
     _nworkers(nworkers),
@@ -293,18 +290,9 @@
   return 0;
 }
 
-void ZObjectAllocator::retire_tlabs() {
-  ZStatTimer timer(ZSubPhasePauseRetireTLABS);
+void ZObjectAllocator::retire_pages() {
   assert(SafepointSynchronize::is_at_safepoint(), "Should be at safepoint");
 
-  // Retire TLABs
-  if (UseTLAB) {
-    ZCollectedHeap* heap = ZCollectedHeap::heap();
-    heap->accumulate_statistics_all_tlabs();
-    heap->ensure_parsability(true /* retire_tlabs */);
-    heap->resize_all_tlabs();
-  }
-
   // Reset used
   _used.set_all(0);
 
@@ -313,18 +301,3 @@
   _shared_small_page.set_all(NULL);
   _worker_small_page.set_all(NULL);
 }
-
-static void remap_tlab_address(HeapWord** p) {
-  *p = (HeapWord*)ZAddress::good_or_null((uintptr_t)*p);
-}
-
-void ZObjectAllocator::remap_tlabs() {
-  ZStatTimer timer(ZSubPhasePauseRemapTLABS);
-  assert(SafepointSynchronize::is_at_safepoint(), "Should be at safepoint");
-
-  if (UseTLAB) {
-    for (JavaThreadIteratorWithHandle iter; JavaThread* thread = iter.next(); ) {
-      thread->tlab().addresses_do(remap_tlab_address);
-    }
-  }
-}
--- a/src/hotspot/share/gc/z/zObjectAllocator.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zObjectAllocator.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -72,8 +72,7 @@
   size_t used() const;
   size_t remaining() const;
 
-  void retire_tlabs();
-  void remap_tlabs();
+  void retire_pages();
 };
 
 #endif // SHARE_GC_Z_ZOBJECTALLOCATOR_HPP
--- a/src/hotspot/share/gc/z/zOopClosures.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zOopClosures.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,6 +25,7 @@
 #define SHARE_GC_Z_ZOOPCLOSURES_HPP
 
 #include "memory/iterator.hpp"
+#include "gc/z/zRootsIterator.hpp"
 
 class ZLoadBarrierOopClosure : public BasicOopIterateClosure {
 public:
@@ -38,18 +39,6 @@
 #endif
 };
 
-class ZMarkRootOopClosure : public OopClosure {
-public:
-  virtual void do_oop(oop* p);
-  virtual void do_oop(narrowOop* p);
-};
-
-class ZRelocateRootOopClosure : public OopClosure {
-public:
-  virtual void do_oop(oop* p);
-  virtual void do_oop(narrowOop* p);
-};
-
 template <bool finalizable>
 class ZMarkBarrierOopClosure : public BasicOopIterateClosure {
 public:
@@ -70,13 +59,13 @@
   virtual bool do_object_b(oop o);
 };
 
-class ZPhantomKeepAliveOopClosure : public OopClosure {
+class ZPhantomKeepAliveOopClosure : public ZRootsIteratorClosure {
 public:
   virtual void do_oop(oop* p);
   virtual void do_oop(narrowOop* p);
 };
 
-class ZPhantomCleanOopClosure : public OopClosure {
+class ZPhantomCleanOopClosure : public ZRootsIteratorClosure {
 public:
   virtual void do_oop(oop* p);
   virtual void do_oop(narrowOop* p);
@@ -97,7 +86,7 @@
 #endif
 };
 
-class ZVerifyRootOopClosure : public OopClosure {
+class ZVerifyRootOopClosure : public ZRootsIteratorClosure {
 public:
   ZVerifyRootOopClosure();
 
--- a/src/hotspot/share/gc/z/zOopClosures.inline.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zOopClosures.inline.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -40,22 +40,6 @@
   ShouldNotReachHere();
 }
 
-inline void ZMarkRootOopClosure::do_oop(oop* p) {
-  ZBarrier::mark_barrier_on_root_oop_field(p);
-}
-
-inline void ZMarkRootOopClosure::do_oop(narrowOop* p) {
-  ShouldNotReachHere();
-}
-
-inline void ZRelocateRootOopClosure::do_oop(oop* p) {
-  ZBarrier::relocate_barrier_on_root_oop_field(p);
-}
-
-inline void ZRelocateRootOopClosure::do_oop(narrowOop* p) {
-  ShouldNotReachHere();
-}
-
 template <bool finalizable>
 inline ZMarkBarrierOopClosure<finalizable>::ZMarkBarrierOopClosure() :
     BasicOopIterateClosure(finalizable ? NULL : ZHeap::heap()->reference_discoverer()) {}
--- a/src/hotspot/share/gc/z/zPage.inline.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zPage.inline.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -285,11 +285,6 @@
 
   _top = new_top;
 
-  // Fill alignment padding if needed
-  if (aligned_size != size) {
-    ZUtils::insert_filler_object(addr + size, aligned_size - size);
-  }
-
   return ZAddress::good(addr);
 }
 
@@ -308,11 +303,6 @@
 
     const uintptr_t prev_top = Atomic::cmpxchg(new_top, &_top, addr);
     if (prev_top == addr) {
-      // Fill alignment padding if needed
-      if (aligned_size != size) {
-        ZUtils::insert_filler_object(addr + size, aligned_size - size);
-      }
-
       // Success
       return ZAddress::good(addr);
     }
--- a/src/hotspot/share/gc/z/zRelocate.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zRelocate.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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
@@ -22,6 +22,8 @@
  */
 
 #include "precompiled.hpp"
+#include "gc/z/zAddress.inline.hpp"
+#include "gc/z/zBarrier.inline.hpp"
 #include "gc/z/zHeap.hpp"
 #include "gc/z/zOopClosures.inline.hpp"
 #include "gc/z/zPage.hpp"
@@ -34,9 +36,38 @@
 ZRelocate::ZRelocate(ZWorkers* workers) :
     _workers(workers) {}
 
+class ZRelocateRootsIteratorClosure : public ZRootsIteratorClosure {
+private:
+  static void remap_address(HeapWord** p) {
+    *p = (HeapWord*)ZAddress::good_or_null((uintptr_t)*p);
+  }
+
+public:
+  virtual void do_thread(Thread* thread) {
+    ZRootsIteratorClosure::do_thread(thread);
+
+    // Update thread local address bad mask
+    ZThreadLocalData::set_address_bad_mask(thread, ZAddressBadMask);
+
+    // Remap TLAB
+    if (UseTLAB && thread->is_Java_thread()) {
+      thread->tlab().addresses_do(remap_address);
+    }
+  }
+
+  virtual void do_oop(oop* p) {
+    ZBarrier::relocate_barrier_on_root_oop_field(p);
+  }
+
+  virtual void do_oop(narrowOop* p) {
+    ShouldNotReachHere();
+  }
+};
+
 class ZRelocateRootsTask : public ZTask {
 private:
-  ZRootsIterator _roots;
+  ZRootsIterator                _roots;
+  ZRelocateRootsIteratorClosure _cl;
 
 public:
   ZRelocateRootsTask() :
@@ -46,8 +77,7 @@
   virtual void work() {
     // During relocation we need to visit the JVMTI
     // export weak roots to rehash the JVMTI tag map
-    ZRelocateRootOopClosure cl;
-    _roots.oops_do(&cl, true /* visit_jvmti_weak_export */);
+    _roots.oops_do(&_cl, true /* visit_jvmti_weak_export */);
   }
 };
 
--- a/src/hotspot/share/gc/z/zRootsIterator.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zRootsIterator.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -73,25 +73,25 @@
 static const ZStatSubPhase ZSubPhaseConcurrentWeakRootsJNIWeakHandles("Concurrent Weak Roots JNIWeakHandles");
 static const ZStatSubPhase ZSubPhaseConcurrentWeakRootsStringTable("Concurrent Weak Roots StringTable");
 
-template <typename T, void (T::*F)(OopClosure*)>
+template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
 ZSerialOopsDo<T, F>::ZSerialOopsDo(T* iter) :
     _iter(iter),
     _claimed(false) {}
 
-template <typename T, void (T::*F)(OopClosure*)>
-void ZSerialOopsDo<T, F>::oops_do(OopClosure* cl) {
+template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
+void ZSerialOopsDo<T, F>::oops_do(ZRootsIteratorClosure* cl) {
   if (!_claimed && Atomic::cmpxchg(true, &_claimed, false) == false) {
     (_iter->*F)(cl);
   }
 }
 
-template <typename T, void (T::*F)(OopClosure*)>
+template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
 ZParallelOopsDo<T, F>::ZParallelOopsDo(T* iter) :
     _iter(iter),
     _completed(false) {}
 
-template <typename T, void (T::*F)(OopClosure*)>
-void ZParallelOopsDo<T, F>::oops_do(OopClosure* cl) {
+template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
+void ZParallelOopsDo<T, F>::oops_do(ZRootsIteratorClosure* cl) {
   if (!_completed) {
     (_iter->*F)(cl);
     if (!_completed) {
@@ -100,25 +100,25 @@
   }
 }
 
-template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
+template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
 ZSerialWeakOopsDo<T, F>::ZSerialWeakOopsDo(T* iter) :
     _iter(iter),
     _claimed(false) {}
 
-template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
-void ZSerialWeakOopsDo<T, F>::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* cl) {
+template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
+void ZSerialWeakOopsDo<T, F>::weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl) {
   if (!_claimed && Atomic::cmpxchg(true, &_claimed, false) == false) {
     (_iter->*F)(is_alive, cl);
   }
 }
 
-template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
+template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
 ZParallelWeakOopsDo<T, F>::ZParallelWeakOopsDo(T* iter) :
     _iter(iter),
     _completed(false) {}
 
-template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
-void ZParallelWeakOopsDo<T, F>::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* cl) {
+template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
+void ZParallelWeakOopsDo<T, F>::weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl) {
   if (!_completed) {
     (_iter->*F)(is_alive, cl);
     if (!_completed) {
@@ -158,80 +158,60 @@
   Threads::assert_all_threads_claimed();
 }
 
-void ZRootsIterator::do_universe(OopClosure* cl) {
+void ZRootsIterator::do_universe(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsUniverse);
   Universe::oops_do(cl);
 }
 
-void ZRootsIterator::do_jni_handles(OopClosure* cl) {
+void ZRootsIterator::do_jni_handles(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsJNIHandles);
   _jni_handles_iter.oops_do(cl);
 }
 
-void ZRootsIterator::do_object_synchronizer(OopClosure* cl) {
+void ZRootsIterator::do_object_synchronizer(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsObjectSynchronizer);
   ObjectSynchronizer::oops_do(cl);
 }
 
-void ZRootsIterator::do_management(OopClosure* cl) {
+void ZRootsIterator::do_management(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsManagement);
   Management::oops_do(cl);
 }
 
-void ZRootsIterator::do_jvmti_export(OopClosure* cl) {
+void ZRootsIterator::do_jvmti_export(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsJVMTIExport);
   JvmtiExport::oops_do(cl);
 }
 
-void ZRootsIterator::do_jvmti_weak_export(OopClosure* cl) {
+void ZRootsIterator::do_jvmti_weak_export(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsJVMTIWeakExport);
   AlwaysTrueClosure always_alive;
   JvmtiExport::weak_oops_do(&always_alive, cl);
 }
 
-void ZRootsIterator::do_system_dictionary(OopClosure* cl) {
+void ZRootsIterator::do_system_dictionary(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsSystemDictionary);
   SystemDictionary::oops_do(cl);
 }
 
-void ZRootsIterator::do_class_loader_data_graph(OopClosure* cl) {
+void ZRootsIterator::do_class_loader_data_graph(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsClassLoaderDataGraph);
   CLDToOopClosure cld_cl(cl);
   ClassLoaderDataGraph::cld_do(&cld_cl);
 }
 
-class ZRootsIteratorThreadClosure : public ThreadClosure {
-private:
-  OopClosure* const _cl;
-
-public:
-  ZRootsIteratorThreadClosure(OopClosure* cl) :
-      _cl(cl) {}
-
-  virtual void do_thread(Thread* thread) {
-    if (thread->is_Java_thread()) {
-      // Update thread local address bad mask
-      ZThreadLocalData::set_address_bad_mask(thread, ZAddressBadMask);
-    }
-
-    // Process thread oops
-    thread->oops_do(_cl, NULL);
-  }
-};
-
-void ZRootsIterator::do_threads(OopClosure* cl) {
+void ZRootsIterator::do_threads(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsThreads);
   ResourceMark rm;
-  ZRootsIteratorThreadClosure thread_cl(cl);
-  Threads::possibly_parallel_threads_do(true, &thread_cl);
+  Threads::possibly_parallel_threads_do(true, cl);
 }
 
-void ZRootsIterator::do_code_cache(OopClosure* cl) {
+void ZRootsIterator::do_code_cache(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsCodeCache);
   ZNMethodTable::oops_do(cl);
 }
 
-void ZRootsIterator::oops_do(OopClosure* cl, bool visit_jvmti_weak_export) {
+void ZRootsIterator::oops_do(ZRootsIteratorClosure* cl, bool visit_jvmti_weak_export) {
   ZStatTimer timer(ZSubPhasePauseRoots);
   _universe.oops_do(cl);
   _object_synchronizer.oops_do(cl);
@@ -258,25 +238,25 @@
   ZStatTimer timer(ZSubPhasePauseWeakRootsTeardown);
 }
 
-void ZWeakRootsIterator::do_jvmti_weak_export(BoolObjectClosure* is_alive, OopClosure* cl) {
+void ZWeakRootsIterator::do_jvmti_weak_export(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseWeakRootsJVMTIWeakExport);
   JvmtiExport::weak_oops_do(is_alive, cl);
 }
 
-void ZWeakRootsIterator::do_jfr_weak(BoolObjectClosure* is_alive, OopClosure* cl) {
+void ZWeakRootsIterator::do_jfr_weak(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl) {
 #if INCLUDE_JFR
   ZStatTimer timer(ZSubPhasePauseWeakRootsJFRWeak);
   Jfr::weak_oops_do(is_alive, cl);
 #endif
 }
 
-void ZWeakRootsIterator::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* cl) {
+void ZWeakRootsIterator::weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseWeakRoots);
   _jvmti_weak_export.weak_oops_do(is_alive, cl);
   _jfr_weak.weak_oops_do(is_alive, cl);
 }
 
-void ZWeakRootsIterator::oops_do(OopClosure* cl) {
+void ZWeakRootsIterator::oops_do(ZRootsIteratorClosure* cl) {
   AlwaysTrueClosure always_alive;
   weak_oops_do(&always_alive, cl);
 }
@@ -295,27 +275,27 @@
   StringTable::finish_dead_counter();
 }
 
-void ZConcurrentWeakRootsIterator::do_vm_weak_handles(OopClosure* cl) {
+void ZConcurrentWeakRootsIterator::do_vm_weak_handles(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhaseConcurrentWeakRootsVMWeakHandles);
   _vm_weak_handles_iter.oops_do(cl);
 }
 
-void ZConcurrentWeakRootsIterator::do_jni_weak_handles(OopClosure* cl) {
+void ZConcurrentWeakRootsIterator::do_jni_weak_handles(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhaseConcurrentWeakRootsJNIWeakHandles);
   _jni_weak_handles_iter.oops_do(cl);
 }
 
-class ZStringTableDeadCounterOopClosure : public OopClosure  {
+class ZStringTableDeadCounterClosure : public ZRootsIteratorClosure  {
 private:
-  OopClosure* const _cl;
-  size_t            _ndead;
+  ZRootsIteratorClosure* const _cl;
+  size_t                       _ndead;
 
 public:
-  ZStringTableDeadCounterOopClosure(OopClosure* cl) :
+  ZStringTableDeadCounterClosure(ZRootsIteratorClosure* cl) :
       _cl(cl),
       _ndead(0) {}
 
-  ~ZStringTableDeadCounterOopClosure() {
+  ~ZStringTableDeadCounterClosure() {
     StringTable::inc_dead_counter(_ndead);
   }
 
@@ -331,13 +311,13 @@
   }
 };
 
-void ZConcurrentWeakRootsIterator::do_string_table(OopClosure* cl) {
+void ZConcurrentWeakRootsIterator::do_string_table(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhaseConcurrentWeakRootsStringTable);
-  ZStringTableDeadCounterOopClosure counter_cl(cl);
+  ZStringTableDeadCounterClosure counter_cl(cl);
   _string_table_iter.oops_do(&counter_cl);
 }
 
-void ZConcurrentWeakRootsIterator::oops_do(OopClosure* cl) {
+void ZConcurrentWeakRootsIterator::oops_do(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhaseConcurrentWeakRoots);
   _vm_weak_handles.oops_do(cl);
   _jni_weak_handles.oops_do(cl);
@@ -356,13 +336,13 @@
   Threads::assert_all_threads_claimed();
 }
 
-void ZThreadRootsIterator::do_threads(OopClosure* cl) {
+void ZThreadRootsIterator::do_threads(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRootsThreads);
   ResourceMark rm;
   Threads::possibly_parallel_oops_do(true, cl, NULL);
 }
 
-void ZThreadRootsIterator::oops_do(OopClosure* cl) {
+void ZThreadRootsIterator::oops_do(ZRootsIteratorClosure* cl) {
   ZStatTimer timer(ZSubPhasePauseRoots);
   _threads.oops_do(cl);
 }
--- a/src/hotspot/share/gc/z/zRootsIterator.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zRootsIterator.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,12 +27,20 @@
 #include "gc/shared/oopStorageParState.hpp"
 #include "memory/allocation.hpp"
 #include "memory/iterator.hpp"
+#include "runtime/thread.hpp"
 #include "utilities/globalDefinitions.hpp"
 
+class ZRootsIteratorClosure : public OopClosure, public ThreadClosure {
+public:
+  virtual void do_thread(Thread* thread) {
+    thread->oops_do(this, NULL);
+  }
+};
+
 typedef OopStorage::ParState<false /* concurrent */, false /* is_const */> ZOopStorageIterator;
 typedef OopStorage::ParState<true /* concurrent */, false /* is_const */>  ZConcurrentOopStorageIterator;
 
-template <typename T, void (T::*F)(OopClosure*)>
+template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
 class ZSerialOopsDo {
 private:
   T* const      _iter;
@@ -40,10 +48,10 @@
 
 public:
   ZSerialOopsDo(T* iter);
-  void oops_do(OopClosure* cl);
+  void oops_do(ZRootsIteratorClosure* cl);
 };
 
-template <typename T, void (T::*F)(OopClosure*)>
+template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
 class ZParallelOopsDo {
 private:
   T* const      _iter;
@@ -51,10 +59,10 @@
 
 public:
   ZParallelOopsDo(T* iter);
-  void oops_do(OopClosure* cl);
+  void oops_do(ZRootsIteratorClosure* cl);
 };
 
-template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
+template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
 class ZSerialWeakOopsDo {
 private:
   T* const      _iter;
@@ -62,10 +70,10 @@
 
 public:
   ZSerialWeakOopsDo(T* iter);
-  void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* cl);
+  void weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl);
 };
 
-template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
+template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
 class ZParallelWeakOopsDo {
 private:
   T* const      _iter;
@@ -73,23 +81,23 @@
 
 public:
   ZParallelWeakOopsDo(T* iter);
-  void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* cl);
+  void weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl);
 };
 
 class ZRootsIterator {
 private:
   ZOopStorageIterator _jni_handles_iter;
 
-  void do_universe(OopClosure* cl);
-  void do_jni_handles(OopClosure* cl);
-  void do_object_synchronizer(OopClosure* cl);
-  void do_management(OopClosure* cl);
-  void do_jvmti_export(OopClosure* cl);
-  void do_jvmti_weak_export(OopClosure* cl);
-  void do_system_dictionary(OopClosure* cl);
-  void do_class_loader_data_graph(OopClosure* cl);
-  void do_threads(OopClosure* cl);
-  void do_code_cache(OopClosure* cl);
+  void do_universe(ZRootsIteratorClosure* cl);
+  void do_jni_handles(ZRootsIteratorClosure* cl);
+  void do_object_synchronizer(ZRootsIteratorClosure* cl);
+  void do_management(ZRootsIteratorClosure* cl);
+  void do_jvmti_export(ZRootsIteratorClosure* cl);
+  void do_jvmti_weak_export(ZRootsIteratorClosure* cl);
+  void do_system_dictionary(ZRootsIteratorClosure* cl);
+  void do_class_loader_data_graph(ZRootsIteratorClosure* cl);
+  void do_threads(ZRootsIteratorClosure* cl);
+  void do_code_cache(ZRootsIteratorClosure* cl);
 
   ZSerialOopsDo<ZRootsIterator, &ZRootsIterator::do_universe>                  _universe;
   ZSerialOopsDo<ZRootsIterator, &ZRootsIterator::do_object_synchronizer>       _object_synchronizer;
@@ -106,13 +114,13 @@
   ZRootsIterator();
   ~ZRootsIterator();
 
-  void oops_do(OopClosure* cl, bool visit_jvmti_weak_export = false);
+  void oops_do(ZRootsIteratorClosure* cl, bool visit_jvmti_weak_export = false);
 };
 
 class ZWeakRootsIterator {
 private:
-  void do_jvmti_weak_export(BoolObjectClosure* is_alive, OopClosure* cl);
-  void do_jfr_weak(BoolObjectClosure* is_alive, OopClosure* cl);
+  void do_jvmti_weak_export(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl);
+  void do_jfr_weak(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl);
 
   ZSerialWeakOopsDo<ZWeakRootsIterator, &ZWeakRootsIterator::do_jvmti_weak_export>  _jvmti_weak_export;
   ZSerialWeakOopsDo<ZWeakRootsIterator, &ZWeakRootsIterator::do_jfr_weak>           _jfr_weak;
@@ -121,8 +129,8 @@
   ZWeakRootsIterator();
   ~ZWeakRootsIterator();
 
-  void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* cl);
-  void oops_do(OopClosure* cl);
+  void weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl);
+  void oops_do(ZRootsIteratorClosure* cl);
 };
 
 class ZConcurrentWeakRootsIterator {
@@ -131,9 +139,9 @@
   ZConcurrentOopStorageIterator _jni_weak_handles_iter;
   ZConcurrentOopStorageIterator _string_table_iter;
 
-  void do_vm_weak_handles(OopClosure* cl);
-  void do_jni_weak_handles(OopClosure* cl);
-  void do_string_table(OopClosure* cl);
+  void do_vm_weak_handles(ZRootsIteratorClosure* cl);
+  void do_jni_weak_handles(ZRootsIteratorClosure* cl);
+  void do_string_table(ZRootsIteratorClosure* cl);
 
   ZParallelOopsDo<ZConcurrentWeakRootsIterator, &ZConcurrentWeakRootsIterator::do_vm_weak_handles>  _vm_weak_handles;
   ZParallelOopsDo<ZConcurrentWeakRootsIterator, &ZConcurrentWeakRootsIterator::do_jni_weak_handles> _jni_weak_handles;
@@ -143,12 +151,12 @@
   ZConcurrentWeakRootsIterator();
   ~ZConcurrentWeakRootsIterator();
 
-  void oops_do(OopClosure* cl);
+  void oops_do(ZRootsIteratorClosure* cl);
 };
 
 class ZThreadRootsIterator {
 private:
-  void do_threads(OopClosure* cl);
+  void do_threads(ZRootsIteratorClosure* cl);
 
   ZParallelOopsDo<ZThreadRootsIterator, &ZThreadRootsIterator::do_threads> _threads;
 
@@ -156,7 +164,7 @@
   ZThreadRootsIterator();
   ~ZThreadRootsIterator();
 
-  void oops_do(OopClosure* cl);
+  void oops_do(ZRootsIteratorClosure* cl);
 };
 
 #endif // SHARE_GC_Z_ZROOTSITERATOR_HPP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/share/gc/z/zStatTLAB.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2018, 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.
+ */
+
+#include "gc/z/zStatTLAB.hpp"
+
+ZPerWorker<ThreadLocalAllocStats>* ZStatTLAB::_stats = NULL;
+
+void ZStatTLAB::initialize() {
+  if (UseTLAB) {
+    assert(_stats == NULL, "Already initialized");
+    _stats = new ZPerWorker<ThreadLocalAllocStats>();
+    reset();
+  }
+}
+
+void ZStatTLAB::reset() {
+  if (UseTLAB) {
+    ZPerWorkerIterator<ThreadLocalAllocStats> iter(_stats);
+    for (ThreadLocalAllocStats* stats; iter.next(&stats);) {
+      stats->reset();
+    }
+  }
+}
+
+ThreadLocalAllocStats* ZStatTLAB::get() {
+  if (UseTLAB) {
+    return _stats->addr();
+  }
+
+  return NULL;
+}
+
+void ZStatTLAB::publish() {
+  if (UseTLAB) {
+    ThreadLocalAllocStats total;
+
+    ZPerWorkerIterator<ThreadLocalAllocStats> iter(_stats);
+    for (ThreadLocalAllocStats* stats; iter.next(&stats);) {
+      total.update(*stats);
+    }
+
+    total.publish();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/share/gc/z/zStatTLAB.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2018, 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.
+ */
+
+#ifndef SHARE_GC_Z_ZSTATTLAB_HPP
+#define SHARE_GC_Z_ZSTATTLAB_HPP
+
+#include "gc/shared/threadLocalAllocBuffer.hpp"
+#include "gc/z/zValue.hpp"
+#include "memory/allocation.hpp"
+
+class ZStatTLAB : public AllStatic {
+private:
+  static ZPerWorker<ThreadLocalAllocStats>* _stats;
+
+public:
+  static void initialize();
+  static void reset();
+  static ThreadLocalAllocStats* get();
+  static void publish();
+};
+
+#endif // SHARE_GC_Z_ZSTATTLAB_HPP
--- a/src/hotspot/share/gc/z/zUtils.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zUtils.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -22,8 +22,6 @@
  */
 
 #include "precompiled.hpp"
-#include "gc/shared/collectedHeap.hpp"
-#include "gc/z/zAddress.inline.hpp"
 #include "gc/z/zUtils.inline.hpp"
 #include "utilities/debug.hpp"
 
@@ -40,10 +38,3 @@
 
   return (uintptr_t)res;
 }
-
-void ZUtils::insert_filler_object(uintptr_t addr, size_t size) {
-  const size_t fill_size_in_words = bytes_to_words(size);
-  if (fill_size_in_words >= CollectedHeap::min_fill_size()) {
-    CollectedHeap::fill_with_objects((HeapWord*)ZAddress::good(addr), fill_size_in_words);
-  }
-}
--- a/src/hotspot/share/gc/z/zUtils.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zUtils.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -42,9 +42,6 @@
   // Object
   static size_t object_size(uintptr_t addr);
   static void object_copy(uintptr_t from, uintptr_t to, size_t size);
-
-  // Filler
-  static void insert_filler_object(uintptr_t addr, size_t size);
 };
 
 #endif // SHARE_GC_Z_ZUTILS_HPP
--- a/src/hotspot/share/gc/z/zValue.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/gc/z/zValue.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -131,7 +131,7 @@
 class ZValueIterator;
 
 template <typename S, typename T>
-class ZValue {
+class ZValue : public CHeapObj<mtGC> {
 private:
   const uintptr_t _addr;
 
--- a/src/hotspot/share/memory/filemap.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/memory/filemap.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,7 +26,6 @@
 #include "jvm.h"
 #include "classfile/classLoader.inline.hpp"
 #include "classfile/classLoaderExt.hpp"
-#include "classfile/compactHashtable.inline.hpp"
 #include "classfile/stringTable.hpp"
 #include "classfile/symbolTable.hpp"
 #include "classfile/systemDictionaryShared.hpp"
--- a/src/hotspot/share/memory/heapShared.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/memory/heapShared.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,7 +33,7 @@
 #include "memory/iterator.inline.hpp"
 #include "memory/metadataFactory.hpp"
 #include "memory/metaspaceClosure.hpp"
-#include "memory/metaspaceShared.hpp"
+#include "memory/metaspaceShared.inline.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/compressedOops.inline.hpp"
 #include "oops/oop.inline.hpp"
--- a/src/hotspot/share/memory/metaspaceShared.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/memory/metaspaceShared.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -65,7 +65,6 @@
 #include "utilities/defaultStream.hpp"
 #include "utilities/hashtable.inline.hpp"
 #if INCLUDE_G1GC
-#include "gc/g1/g1Allocator.inline.hpp"
 #include "gc/g1/g1CollectedHeap.hpp"
 #endif
 
@@ -1966,10 +1965,6 @@
   }
 }
 
-bool MetaspaceShared::is_archive_object(oop p) {
-  return (p == NULL) ? false : G1ArchiveAllocator::is_archive_object(p);
-}
-
 void MetaspaceShared::fixup_mapped_heap_regions() {
   FileMapInfo *mapinfo = FileMapInfo::current_info();
   mapinfo->fixup_mapped_heap_regions();
--- a/src/hotspot/share/memory/metaspaceShared.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/memory/metaspaceShared.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -125,7 +125,7 @@
   }
 #endif
 
-  static bool is_archive_object(oop p) NOT_CDS_JAVA_HEAP_RETURN_(false);
+  inline static bool is_archive_object(oop p) NOT_CDS_JAVA_HEAP_RETURN_(false);
 
   static bool is_heap_object_archiving_allowed() {
     CDS_JAVA_HEAP_ONLY(return (UseG1GC && UseCompressedOops && UseCompressedClassPointers);)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/share/memory/metaspaceShared.inline.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2018, 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.
+ *
+ */
+
+#ifndef SHARE_VM_MEMORY_METASPACESHARED_INLINE_HPP
+#define SHARE_VM_MEMORY_METASPACESHARED_INLINE_HPP
+
+#include "memory/metaspaceShared.hpp"
+#if INCLUDE_G1GC
+#include "gc/g1/g1Allocator.inline.hpp"
+#endif
+
+#if INCLUDE_CDS_JAVA_HEAP
+bool MetaspaceShared::is_archive_object(oop p) {
+  return (p == NULL) ? false : G1ArchiveAllocator::is_archive_object(p);
+}
+#endif
+
+#endif // SHARE_VM_MEMORY_METASPACESHARED_INLINE_HPP
--- a/src/hotspot/share/oops/method.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/oops/method.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -2152,6 +2152,8 @@
   if (value && !already_set) {
     MetadataOnStackMark::record(this);
   }
+  assert(!value || !is_old() || is_obsolete() || is_running_emcp(),
+         "emcp methods cannot run after emcp bit is cleared");
 }
 
 // Called when the class loader is unloaded to make all methods weak.
--- a/src/hotspot/share/oops/oop.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/oops/oop.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,6 +25,7 @@
 #include "precompiled.hpp"
 #include "classfile/altHashing.hpp"
 #include "classfile/javaClasses.inline.hpp"
+#include "memory/metaspaceShared.inline.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/access.inline.hpp"
 #include "oops/oop.inline.hpp"
@@ -141,6 +142,12 @@
   if (!Universe::heap()->is_in_reserved(this)) return false;
   return mark()->is_unlocked();
 }
+
+#if INCLUDE_CDS_JAVA_HEAP
+bool oopDesc::is_archive_object(oop p) {
+  return MetaspaceShared::is_archive_object(p);
+}
+#endif
 #endif // PRODUCT
 
 VerifyOopClosure VerifyOopClosure::verify_oop;
--- a/src/hotspot/share/oops/oop.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/oops/oop.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -256,6 +256,7 @@
   static bool is_oop_or_null(oop obj, bool ignore_mark_word = false);
 #ifndef PRODUCT
   inline bool is_unlocked_oop() const;
+  static bool is_archive_object(oop p) NOT_CDS_JAVA_HEAP_RETURN_(false);
 #endif
 
   // garbage collection
--- a/src/hotspot/share/oops/oop.inline.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/oops/oop.inline.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,7 +26,6 @@
 #define SHARE_VM_OOPS_OOP_INLINE_HPP
 
 #include "gc/shared/collectedHeap.hpp"
-#include "memory/metaspaceShared.hpp"
 #include "oops/access.inline.hpp"
 #include "oops/arrayKlass.hpp"
 #include "oops/arrayOop.hpp"
@@ -352,8 +351,8 @@
          "forwarding to something not aligned");
   assert(Universe::heap()->is_in_reserved(p),
          "forwarding to something not in heap");
-  assert(!MetaspaceShared::is_archive_object(oop(this)) &&
-         !MetaspaceShared::is_archive_object(p),
+  assert(!is_archive_object(oop(this)) &&
+         !is_archive_object(p),
          "forwarding archive object");
   markOop m = markOopDesc::encode_pointer_as_mark(p);
   assert(m->decode_pointer() == p, "encoding must be reversable");
--- a/src/hotspot/share/opto/library_call.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/opto/library_call.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -244,7 +244,7 @@
   Node* generate_min_max(vmIntrinsics::ID id, Node* x, Node* y);
   // This returns Type::AnyPtr, RawPtr, or OopPtr.
   int classify_unsafe_addr(Node* &base, Node* &offset, BasicType type);
-  Node* make_unsafe_address(Node*& base, Node* offset, BasicType type = T_ILLEGAL, bool can_cast = false);
+  Node* make_unsafe_address(Node*& base, Node* offset, DecoratorSet decorators, BasicType type = T_ILLEGAL, bool can_cast = false);
 
   typedef enum { Relaxed, Opaque, Volatile, Acquire, Release } AccessKind;
   DecoratorSet mo_decorator_for_access_kind(AccessKind kind);
@@ -1684,7 +1684,7 @@
 
   if (!stopped()) {
     src = access_resolve(src, ACCESS_READ);
-    dst = access_resolve(dst, ACCESS_READ);
+    dst = access_resolve(dst, ACCESS_WRITE);
 
     // Calculate starting addresses.
     Node* src_start = array_element_address(src, src_begin, T_BYTE);
@@ -2193,7 +2193,7 @@
   }
 }
 
-inline Node* LibraryCallKit::make_unsafe_address(Node*& base, Node* offset, BasicType type, bool can_cast) {
+inline Node* LibraryCallKit::make_unsafe_address(Node*& base, Node* offset, DecoratorSet decorators, BasicType type, bool can_cast) {
   Node* uncasted_base = base;
   int kind = classify_unsafe_addr(uncasted_base, offset, type);
   if (kind == Type::RawPtr) {
@@ -2222,6 +2222,7 @@
     }
     // We don't know if it's an on heap or off heap access. Fall back
     // to raw memory access.
+    base = access_resolve(base, decorators);
     Node* raw = _gvn.transform(new CheckCastPPNode(control(), base, TypeRawPtr::BOTTOM));
     return basic_plus_adr(top(), raw, offset);
   } else {
@@ -2388,7 +2389,7 @@
          "fieldOffset must be byte-scaled");
   // 32-bit machines ignore the high half!
   offset = ConvL2X(offset);
-  adr = make_unsafe_address(base, offset, type, kind == Relaxed);
+  adr = make_unsafe_address(base, offset, is_store ? ACCESS_WRITE : ACCESS_READ, type, kind == Relaxed);
 
   if (_gvn.type(base)->isa_ptr() != TypePtr::NULL_PTR) {
     heap_base_oop = base;
@@ -2672,7 +2673,7 @@
   assert(Unsafe_field_offset_to_byte_offset(11) == 11, "fieldOffset must be byte-scaled");
   // 32-bit machines ignore the high half of long offsets
   offset = ConvL2X(offset);
-  Node* adr = make_unsafe_address(base, offset, type, false);
+  Node* adr = make_unsafe_address(base, offset, ACCESS_WRITE | ACCESS_READ, type, false);
   const TypePtr *adr_type = _gvn.type(adr)->isa_ptr();
 
   Compile::AliasType* alias_type = C->alias_type(adr_type);
@@ -2967,6 +2968,11 @@
   Node* rec_thr = argument(0);
   Node* tls_ptr = NULL;
   Node* cur_thr = generate_current_thread(tls_ptr);
+
+  // Resolve oops to stable for CmpP below.
+  cur_thr = access_resolve(cur_thr, 0);
+  rec_thr = access_resolve(rec_thr, 0);
+
   Node* cmp_thr = _gvn.transform(new CmpPNode(cur_thr, rec_thr));
   Node* bol_thr = _gvn.transform(new BoolNode(cmp_thr, BoolTest::ne));
 
@@ -3401,6 +3407,10 @@
     klasses[which_arg] = _gvn.transform(kls);
   }
 
+  // Resolve oops to stable for CmpP below.
+  args[0] = access_resolve(args[0], 0);
+  args[1] = access_resolve(args[1], 0);
+
   // Having loaded both klasses, test each for null.
   bool never_see_null = !too_many_traps(Deoptimization::Reason_null_check);
   for (which_arg = 0; which_arg <= 1; which_arg++) {
@@ -4178,8 +4188,10 @@
   assert(Unsafe_field_offset_to_byte_offset(11) == 11,
          "fieldOffset must be byte-scaled");
 
-  Node* src = make_unsafe_address(src_ptr, src_off);
-  Node* dst = make_unsafe_address(dst_ptr, dst_off);
+  src_ptr = access_resolve(src_ptr, ACCESS_READ);
+  dst_ptr = access_resolve(dst_ptr, ACCESS_WRITE);
+  Node* src = make_unsafe_address(src_ptr, src_off, ACCESS_READ);
+  Node* dst = make_unsafe_address(dst_ptr, dst_off, ACCESS_WRITE);
 
   // Conservatively insert a memory barrier on all memory slices.
   // Do not let writes of the copy source or destination float below the copy.
@@ -5334,8 +5346,10 @@
   Node* call;
   jvms()->set_should_reexecute(true);
 
-  Node* obja_adr = make_unsafe_address(obja, aoffset);
-  Node* objb_adr = make_unsafe_address(objb, boffset);
+  obja = access_resolve(obja, ACCESS_READ);
+  objb = access_resolve(objb, ACCESS_READ);
+  Node* obja_adr = make_unsafe_address(obja, aoffset, ACCESS_READ);
+  Node* objb_adr = make_unsafe_address(objb, boffset, ACCESS_READ);
 
   call = make_runtime_call(RC_LEAF,
     OptoRuntime::vectorizedMismatch_Type(),
@@ -6117,6 +6131,10 @@
   src = must_be_not_null(src, true);
   dest = must_be_not_null(dest, true);
 
+  // Resolve oops to stable for CmpP below.
+  src = access_resolve(src, 0);
+  dest = access_resolve(dest, 0);
+
   ciInstanceKlass* instklass_AESCrypt = klass_AESCrypt->as_instance_klass();
 
   Node* instof = gen_instanceof(embeddedCipherObj, makecon(TypeKlassPtr::make(instklass_AESCrypt)));
--- a/src/hotspot/share/opto/loopopts.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/opto/loopopts.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -3383,12 +3383,19 @@
       if (dom_lca(exit, u_ctrl) != exit) continue;
       // Hit!  Refactor use to use the post-incremented tripcounter.
       // Compute a post-increment tripcounter.
-      Node *opaq = new Opaque2Node( C, cle->incr() );
-      register_new_node(opaq, exit);
+      Node* c = exit;
+      if (cl->is_strip_mined()) {
+        IdealLoopTree* outer_loop = get_loop(cl->outer_loop());
+        if (!outer_loop->is_member(u_loop)) {
+          c = cl->outer_loop_exit();
+        }
+      }
+      Node *opaq = new Opaque2Node(C, cle->incr());
+      register_new_node(opaq, c);
       Node *neg_stride = _igvn.intcon(-cle->stride_con());
       set_ctrl(neg_stride, C->root());
-      Node *post = new AddINode( opaq, neg_stride);
-      register_new_node(post, exit);
+      Node *post = new AddINode(opaq, neg_stride);
+      register_new_node(post, c);
       _igvn.rehash_node_delayed(use);
       for (uint j = 1; j < use->req(); j++) {
         if (use->in(j) == phi)
--- a/src/hotspot/share/opto/macro.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/opto/macro.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1307,143 +1307,35 @@
       mem = mem->as_MergeMem()->memory_at(Compile::AliasIdxRaw);
     }
 
-    Node* eden_top_adr;
-    Node* eden_end_adr;
-
-    set_eden_pointers(eden_top_adr, eden_end_adr);
-
-    // Load Eden::end.  Loop invariant and hoisted.
-    //
-    // Note: We set the control input on "eden_end" and "old_eden_top" when using
-    //       a TLAB to work around a bug where these values were being moved across
-    //       a safepoint.  These are not oops, so they cannot be include in the oop
-    //       map, but they can be changed by a GC.   The proper way to fix this would
-    //       be to set the raw memory state when generating a  SafepointNode.  However
-    //       this will require extensive changes to the loop optimization in order to
-    //       prevent a degradation of the optimization.
-    //       See comment in memnode.hpp, around line 227 in class LoadPNode.
-    Node *eden_end = make_load(ctrl, mem, eden_end_adr, 0, TypeRawPtr::BOTTOM, T_ADDRESS);
-
     // allocate the Region and Phi nodes for the result
     result_region = new RegionNode(3);
     result_phi_rawmem = new PhiNode(result_region, Type::MEMORY, TypeRawPtr::BOTTOM);
     result_phi_rawoop = new PhiNode(result_region, TypeRawPtr::BOTTOM);
     result_phi_i_o    = new PhiNode(result_region, Type::ABIO); // I/O is used for Prefetch
 
-    // We need a Region for the loop-back contended case.
-    enum { fall_in_path = 1, contended_loopback_path = 2 };
-    Node *contended_region;
-    Node *contended_phi_rawmem;
-    if (UseTLAB) {
-      contended_region = toobig_false;
-      contended_phi_rawmem = mem;
-    } else {
-      contended_region = new RegionNode(3);
-      contended_phi_rawmem = new PhiNode(contended_region, Type::MEMORY, TypeRawPtr::BOTTOM);
-      // Now handle the passing-too-big test.  We fall into the contended
-      // loop-back merge point.
-      contended_region    ->init_req(fall_in_path, toobig_false);
-      contended_phi_rawmem->init_req(fall_in_path, mem);
-      transform_later(contended_region);
-      transform_later(contended_phi_rawmem);
-    }
-
-    // Load(-locked) the heap top.
-    // See note above concerning the control input when using a TLAB
-    Node *old_eden_top = UseTLAB
-      ? new LoadPNode      (ctrl, contended_phi_rawmem, eden_top_adr, TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM, MemNode::unordered)
-      : new LoadPLockedNode(contended_region, contended_phi_rawmem, eden_top_adr, MemNode::acquire);
-
-    transform_later(old_eden_top);
-    // Add to heap top to get a new heap top
-    Node *new_eden_top = new AddPNode(top(), old_eden_top, size_in_bytes);
-    transform_later(new_eden_top);
-    // Check for needing a GC; compare against heap end
-    Node *needgc_cmp = new CmpPNode(new_eden_top, eden_end);
-    transform_later(needgc_cmp);
-    Node *needgc_bol = new BoolNode(needgc_cmp, BoolTest::ge);
-    transform_later(needgc_bol);
-    IfNode *needgc_iff = new IfNode(contended_region, needgc_bol, PROB_UNLIKELY_MAG(4), COUNT_UNKNOWN);
-    transform_later(needgc_iff);
-
-    // Plug the failing-heap-space-need-gc test into the slow-path region
-    Node *needgc_true = new IfTrueNode(needgc_iff);
-    transform_later(needgc_true);
-    if (initial_slow_test) {
-      slow_region->init_req(need_gc_path, needgc_true);
-      // This completes all paths into the slow merge point
-      transform_later(slow_region);
-    } else {                      // No initial slow path needed!
-      // Just fall from the need-GC path straight into the VM call.
-      slow_region = needgc_true;
-    }
-    // No need for a GC.  Setup for the Store-Conditional
-    Node *needgc_false = new IfFalseNode(needgc_iff);
-    transform_later(needgc_false);
-
     // Grab regular I/O before optional prefetch may change it.
     // Slow-path does no I/O so just set it to the original I/O.
     result_phi_i_o->init_req(slow_result_path, i_o);
 
-    i_o = prefetch_allocation(i_o, needgc_false, contended_phi_rawmem,
-                              old_eden_top, new_eden_top, length);
-
+    Node* needgc_ctrl = NULL;
     // Name successful fast-path variables
-    Node* fast_oop = old_eden_top;
     Node* fast_oop_ctrl;
     Node* fast_oop_rawmem;
 
-    // Store (-conditional) the modified eden top back down.
-    // StorePConditional produces flags for a test PLUS a modified raw
-    // memory state.
-    if (UseTLAB) {
-      Node* store_eden_top =
-        new StorePNode(needgc_false, contended_phi_rawmem, eden_top_adr,
-                              TypeRawPtr::BOTTOM, new_eden_top, MemNode::unordered);
-      transform_later(store_eden_top);
-      fast_oop_ctrl = needgc_false; // No contention, so this is the fast path
-      fast_oop_rawmem = store_eden_top;
-    } else {
-      Node* store_eden_top =
-        new StorePConditionalNode(needgc_false, contended_phi_rawmem, eden_top_adr,
-                                         new_eden_top, fast_oop/*old_eden_top*/);
-      transform_later(store_eden_top);
-      Node *contention_check = new BoolNode(store_eden_top, BoolTest::ne);
-      transform_later(contention_check);
-      store_eden_top = new SCMemProjNode(store_eden_top);
-      transform_later(store_eden_top);
+    intx prefetch_lines = length != NULL ? AllocatePrefetchLines : AllocateInstancePrefetchLines;
+
+    BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
+    Node* fast_oop = bs->obj_allocate(this, ctrl, mem, toobig_false, size_in_bytes, i_o, needgc_ctrl,
+                                      fast_oop_ctrl, fast_oop_rawmem,
+                                      prefetch_lines);
 
-      // If not using TLABs, check to see if there was contention.
-      IfNode *contention_iff = new IfNode (needgc_false, contention_check, PROB_MIN, COUNT_UNKNOWN);
-      transform_later(contention_iff);
-      Node *contention_true = new IfTrueNode(contention_iff);
-      transform_later(contention_true);
-      // If contention, loopback and try again.
-      contended_region->init_req(contended_loopback_path, contention_true);
-      contended_phi_rawmem->init_req(contended_loopback_path, store_eden_top);
-
-      // Fast-path succeeded with no contention!
-      Node *contention_false = new IfFalseNode(contention_iff);
-      transform_later(contention_false);
-      fast_oop_ctrl = contention_false;
-
-      // Bump total allocated bytes for this thread
-      Node* thread = new ThreadLocalNode();
-      transform_later(thread);
-      Node* alloc_bytes_adr = basic_plus_adr(top()/*not oop*/, thread,
-                                             in_bytes(JavaThread::allocated_bytes_offset()));
-      Node* alloc_bytes = make_load(fast_oop_ctrl, store_eden_top, alloc_bytes_adr,
-                                    0, TypeLong::LONG, T_LONG);
-#ifdef _LP64
-      Node* alloc_size = size_in_bytes;
-#else
-      Node* alloc_size = new ConvI2LNode(size_in_bytes);
-      transform_later(alloc_size);
-#endif
-      Node* new_alloc_bytes = new AddLNode(alloc_bytes, alloc_size);
-      transform_later(new_alloc_bytes);
-      fast_oop_rawmem = make_store(fast_oop_ctrl, store_eden_top, alloc_bytes_adr,
-                                   0, new_alloc_bytes, T_LONG);
+    if (initial_slow_test) {
+      slow_region->init_req(need_gc_path, needgc_ctrl);
+      // This completes all paths into the slow merge point
+      transform_later(slow_region);
+    } else {                      // No initial slow path needed!
+      // Just fall from the need-GC path straight into the VM call.
+      slow_region = needgc_ctrl;
     }
 
     InitializeNode* init = alloc->initialization();
@@ -1774,7 +1666,7 @@
 Node* PhaseMacroExpand::prefetch_allocation(Node* i_o, Node*& needgc_false,
                                         Node*& contended_phi_rawmem,
                                         Node* old_eden_top, Node* new_eden_top,
-                                        Node* length) {
+                                        intx lines) {
    enum { fall_in_path = 1, pf_path = 2 };
    if( UseTLAB && AllocatePrefetchStyle == 2 ) {
       // Generate prefetch allocation with watermark check.
@@ -1832,11 +1724,10 @@
 
       Node *prefetch_adr;
       Node *prefetch;
-      uint lines = (length != NULL) ? AllocatePrefetchLines : AllocateInstancePrefetchLines;
       uint step_size = AllocatePrefetchStepSize;
       uint distance = 0;
 
-      for ( uint i = 0; i < lines; i++ ) {
+      for ( intx i = 0; i < lines; i++ ) {
         prefetch_adr = new AddPNode( old_pf_wm, new_pf_wmt,
                                             _igvn.MakeConX(distance) );
         transform_later(prefetch_adr);
@@ -1865,7 +1756,6 @@
       // This code is used to generate 1 prefetch instruction per cache line.
 
       // Generate several prefetch instructions.
-      uint lines = (length != NULL) ? AllocatePrefetchLines : AllocateInstancePrefetchLines;
       uint step_size = AllocatePrefetchStepSize;
       uint distance = AllocatePrefetchDistance;
 
@@ -1890,7 +1780,7 @@
       contended_phi_rawmem = prefetch;
       Node *prefetch_adr;
       distance = step_size;
-      for ( uint i = 1; i < lines; i++ ) {
+      for ( intx i = 1; i < lines; i++ ) {
         prefetch_adr = new AddPNode( cache_adr, cache_adr,
                                             _igvn.MakeConX(distance) );
         transform_later(prefetch_adr);
@@ -1904,10 +1794,9 @@
       Node *prefetch_adr;
       Node *prefetch;
       // Generate several prefetch instructions.
-      uint lines = (length != NULL) ? AllocatePrefetchLines : AllocateInstancePrefetchLines;
       uint step_size = AllocatePrefetchStepSize;
       uint distance = AllocatePrefetchDistance;
-      for ( uint i = 0; i < lines; i++ ) {
+      for ( intx i = 0; i < lines; i++ ) {
         prefetch_adr = new AddPNode( old_eden_top, new_eden_top,
                                             _igvn.MakeConX(distance) );
         transform_later(prefetch_adr);
--- a/src/hotspot/share/opto/macro.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/opto/macro.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -193,11 +193,6 @@
                           Node* klass_node, Node* length,
                           Node* size_in_bytes);
 
-  Node* prefetch_allocation(Node* i_o,
-                            Node*& needgc_false, Node*& contended_phi_rawmem,
-                            Node* old_eden_top, Node* new_eden_top,
-                            Node* length);
-
   Node* make_arraycopy_load(ArrayCopyNode* ac, intptr_t offset, Node* ctl, Node* mem, BasicType ft, const Type *ftype, AllocateNode *alloc);
 
 public:
@@ -215,6 +210,11 @@
   Node* longcon(jlong con)      const { return _igvn.longcon(con); }
   Node* makecon(const Type *t)  const { return _igvn.makecon(t); }
   Node* top()                   const { return C->top(); }
+
+  Node* prefetch_allocation(Node* i_o,
+                            Node*& needgc_false, Node*& contended_phi_rawmem,
+                            Node* old_eden_top, Node* new_eden_top,
+                            intx lines);
 };
 
 #endif // SHARE_VM_OPTO_MACRO_HPP
--- a/src/hotspot/share/opto/parse2.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/opto/parse2.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -2747,8 +2747,8 @@
   handle_if_acmp:
     // If this is a backwards branch in the bytecodes, add Safepoint
     maybe_add_safepoint(iter().get_dest());
-    a = pop();
-    b = pop();
+    a = access_resolve(pop(), 0);
+    b = access_resolve(pop(), 0);
     c = _gvn.transform( new CmpPNode(b, a) );
     c = optimize_cmp_with_klass(c);
     do_if(btest, c);
--- a/src/hotspot/share/prims/jvmti.xml	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/prims/jvmti.xml	Mon Sep 24 10:59:26 2018 -0700
@@ -24,7 +24,7 @@
 -->
 
 <!DOCTYPE specification [
-   <!ELEMENT specification (title, intro*, functionsection, errorsection,
+   <!ELEMENT specification (title, copyright, intro*, functionsection, errorsection,
                             eventsection, datasection, issuessection, changehistory)>
    <!ATTLIST specification label CDATA #REQUIRED
                            majorversion CDATA #REQUIRED
@@ -34,6 +34,8 @@
    <!ELEMENT title (#PCDATA|jvmti|tm)*>
    <!ATTLIST title subtitle CDATA #REQUIRED>
 
+   <!ELEMENT copyright ANY>
+
    <!ELEMENT intro ANY>
    <!ATTLIST intro id CDATA #IMPLIED
                    label CDATA "">
@@ -365,6 +367,10 @@
     <tm>JVM</tm> Tool Interface
   </title>
 
+  <copyright>
+    Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+  </copyright>
+
   <intro id="whatIs" label="What is the JVM Tool Interface?">
     The <tm>JVM</tm> Tool Interface (<jvmti/>)
     is a programming interface used by development and monitoring tools.
--- a/src/hotspot/share/prims/jvmti.xsl	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/prims/jvmti.xsl	Mon Sep 24 10:59:26 2018 -0700
@@ -204,6 +204,7 @@
     <p id="ChangeHistory"/>
       <xsl:apply-templates select="changehistory"/>
     </div>
+    <xsl:apply-templates select="copyright"/>
   </body>
 </html>
 </xsl:template>
@@ -219,6 +220,12 @@
     </h3>
 </xsl:template>
 
+<xsl:template match="copyright">
+  <p>
+    <xsl:apply-templates/>
+  </p>
+</xsl:template>
+
 <xsl:template match="functionsection">
   <div class="sep"/>
   <hr class="thick"/>
--- a/src/hotspot/share/prims/whitebox.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/prims/whitebox.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -37,7 +37,7 @@
 #include "gc/shared/genCollectedHeap.hpp"
 #include "jvmtifiles/jvmtiEnv.hpp"
 #include "memory/metadataFactory.hpp"
-#include "memory/metaspaceShared.hpp"
+#include "memory/metaspaceShared.inline.hpp"
 #include "memory/iterator.hpp"
 #include "memory/resourceArea.hpp"
 #include "memory/universe.hpp"
--- a/src/hotspot/share/runtime/flags/jvmFlagRangeList.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/runtime/flags/jvmFlagRangeList.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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
@@ -25,7 +25,6 @@
 #ifndef SHARE_VM_RUNTIME_JVMFLAGRANGELIST_HPP
 #define SHARE_VM_RUNTIME_JVMFLAGRANGELIST_HPP
 
-#include "memory/metaspaceShared.hpp"
 #include "runtime/flags/jvmFlag.hpp"
 #include "utilities/growableArray.hpp"
 
--- a/src/hotspot/share/runtime/reflection.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/runtime/reflection.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -898,28 +898,17 @@
   java_lang_reflect_Method::set_exception_types(mh(), exception_types());
   java_lang_reflect_Method::set_modifiers(mh(), modifiers);
   java_lang_reflect_Method::set_override(mh(), false);
-  if (java_lang_reflect_Method::has_signature_field() &&
-      method->generic_signature() != NULL) {
+  if (method->generic_signature() != NULL) {
     Symbol*  gs = method->generic_signature();
     Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL);
     java_lang_reflect_Method::set_signature(mh(), sig());
   }
-  if (java_lang_reflect_Method::has_annotations_field()) {
-    typeArrayOop an_oop = Annotations::make_java_array(method->annotations(), CHECK_NULL);
-    java_lang_reflect_Method::set_annotations(mh(), an_oop);
-  }
-  if (java_lang_reflect_Method::has_parameter_annotations_field()) {
-    typeArrayOop an_oop = Annotations::make_java_array(method->parameter_annotations(), CHECK_NULL);
-    java_lang_reflect_Method::set_parameter_annotations(mh(), an_oop);
-  }
-  if (java_lang_reflect_Method::has_annotation_default_field()) {
-    typeArrayOop an_oop = Annotations::make_java_array(method->annotation_default(), CHECK_NULL);
-    java_lang_reflect_Method::set_annotation_default(mh(), an_oop);
-  }
-  if (java_lang_reflect_Method::has_type_annotations_field()) {
-    typeArrayOop an_oop = Annotations::make_java_array(method->type_annotations(), CHECK_NULL);
-    java_lang_reflect_Method::set_type_annotations(mh(), an_oop);
-  }
+  typeArrayOop an_oop = Annotations::make_java_array(method->annotations(), CHECK_NULL);
+  java_lang_reflect_Method::set_annotations(mh(), an_oop);
+  an_oop = Annotations::make_java_array(method->parameter_annotations(), CHECK_NULL);
+  java_lang_reflect_Method::set_parameter_annotations(mh(), an_oop);
+  an_oop = Annotations::make_java_array(method->annotation_default(), CHECK_NULL);
+  java_lang_reflect_Method::set_annotation_default(mh(), an_oop);
   return mh();
 }
 
@@ -948,24 +937,15 @@
   java_lang_reflect_Constructor::set_exception_types(ch(), exception_types());
   java_lang_reflect_Constructor::set_modifiers(ch(), modifiers);
   java_lang_reflect_Constructor::set_override(ch(), false);
-  if (java_lang_reflect_Constructor::has_signature_field() &&
-      method->generic_signature() != NULL) {
+  if (method->generic_signature() != NULL) {
     Symbol*  gs = method->generic_signature();
     Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL);
     java_lang_reflect_Constructor::set_signature(ch(), sig());
   }
-  if (java_lang_reflect_Constructor::has_annotations_field()) {
-    typeArrayOop an_oop = Annotations::make_java_array(method->annotations(), CHECK_NULL);
-    java_lang_reflect_Constructor::set_annotations(ch(), an_oop);
-  }
-  if (java_lang_reflect_Constructor::has_parameter_annotations_field()) {
-    typeArrayOop an_oop = Annotations::make_java_array(method->parameter_annotations(), CHECK_NULL);
-    java_lang_reflect_Constructor::set_parameter_annotations(ch(), an_oop);
-  }
-  if (java_lang_reflect_Constructor::has_type_annotations_field()) {
-    typeArrayOop an_oop = Annotations::make_java_array(method->type_annotations(), CHECK_NULL);
-    java_lang_reflect_Constructor::set_type_annotations(ch(), an_oop);
-  }
+  typeArrayOop an_oop = Annotations::make_java_array(method->annotations(), CHECK_NULL);
+  java_lang_reflect_Constructor::set_annotations(ch(), an_oop);
+  an_oop = Annotations::make_java_array(method->parameter_annotations(), CHECK_NULL);
+  java_lang_reflect_Constructor::set_parameter_annotations(ch(), an_oop);
   return ch();
 }
 
@@ -986,20 +966,13 @@
   // Note the ACC_ANNOTATION bit, which is a per-class access flag, is never set here.
   java_lang_reflect_Field::set_modifiers(rh(), fd->access_flags().as_int() & JVM_RECOGNIZED_FIELD_MODIFIERS);
   java_lang_reflect_Field::set_override(rh(), false);
-  if (java_lang_reflect_Field::has_signature_field() &&
-      fd->has_generic_signature()) {
+  if (fd->has_generic_signature()) {
     Symbol*  gs = fd->generic_signature();
     Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL);
     java_lang_reflect_Field::set_signature(rh(), sig());
   }
-  if (java_lang_reflect_Field::has_annotations_field()) {
-    typeArrayOop an_oop = Annotations::make_java_array(fd->annotations(), CHECK_NULL);
-    java_lang_reflect_Field::set_annotations(rh(), an_oop);
-  }
-  if (java_lang_reflect_Field::has_type_annotations_field()) {
-    typeArrayOop an_oop = Annotations::make_java_array(fd->type_annotations(), CHECK_NULL);
-    java_lang_reflect_Field::set_type_annotations(rh(), an_oop);
-  }
+  typeArrayOop an_oop = Annotations::make_java_array(fd->annotations(), CHECK_NULL);
+  java_lang_reflect_Field::set_annotations(rh(), an_oop);
   return rh();
 }
 
--- a/src/hotspot/share/runtime/serviceThread.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/runtime/serviceThread.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -86,7 +86,6 @@
     bool has_jvmti_events = false;
     bool has_gc_notification_event = false;
     bool has_dcmd_notification_event = false;
-    bool acs_notify = false;
     bool stringtable_work = false;
     bool symboltable_work = false;
     bool resolved_method_table_work = false;
@@ -104,16 +103,20 @@
       ThreadBlockInVM tbivm(jt);
 
       MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
-      while (!(sensors_changed = LowMemoryDetector::has_pending_requests()) &&
-             !(has_jvmti_events = JvmtiDeferredEventQueue::has_events()) &&
-              !(has_gc_notification_event = GCNotifier::has_event()) &&
-              !(has_dcmd_notification_event = DCmdFactory::has_pending_jmx_notification()) &&
-              !(stringtable_work = StringTable::has_work()) &&
-              !(symboltable_work = SymbolTable::has_work()) &&
-              !(resolved_method_table_work = ResolvedMethodTable::has_work()) &&
-              !(protection_domain_table_work = SystemDictionary::pd_cache_table()->has_work())) {
-        // wait until one of the sensors has pending requests, or there is a
-        // pending JVMTI event or JMX GC notification to post
+      // Process all available work on each (outer) iteration, rather than
+      // only the first recognized bit of work, to avoid frequently true early
+      // tests from potentially starving later work.  Hence the use of
+      // arithmetic-or to combine results; we don't want short-circuiting.
+      while (((sensors_changed = LowMemoryDetector::has_pending_requests()) |
+              (has_jvmti_events = JvmtiDeferredEventQueue::has_events()) |
+              (has_gc_notification_event = GCNotifier::has_event()) |
+              (has_dcmd_notification_event = DCmdFactory::has_pending_jmx_notification()) |
+              (stringtable_work = StringTable::has_work()) |
+              (symboltable_work = SymbolTable::has_work()) |
+              (resolved_method_table_work = ResolvedMethodTable::has_work()) |
+              (protection_domain_table_work = SystemDictionary::pd_cache_table()->has_work()))
+             == 0) {
+        // Wait until notified that there is some work to do.
         Service_lock->wait(Mutex::_no_safepoint_check_flag);
       }
 
--- a/src/hotspot/share/runtime/thread.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/runtime/thread.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1989,7 +1989,7 @@
   remove_stack_guard_pages();
 
   if (UseTLAB) {
-    tlab().make_parsable(true);  // retire TLAB
+    tlab().retire();
   }
 
   if (JvmtiEnv::environments_might_exist()) {
@@ -2045,7 +2045,7 @@
   remove_stack_guard_pages();
 
   if (UseTLAB) {
-    tlab().make_parsable(true);  // retire TLAB, if any
+    tlab().retire();
   }
 
   BarrierSet::barrier_set()->on_thread_detach(this);
--- a/src/hotspot/share/services/diagnosticCommand.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/services/diagnosticCommand.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,7 +26,6 @@
 #include "jvm.h"
 #include "classfile/classLoaderHierarchyDCmd.hpp"
 #include "classfile/classLoaderStats.hpp"
-#include "classfile/compactHashtable.hpp"
 #include "compiler/compileBroker.hpp"
 #include "compiler/directivesParser.hpp"
 #include "gc/shared/vmGCOperations.hpp"
--- a/src/hotspot/share/utilities/utf8.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/utilities/utf8.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, 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
@@ -401,7 +401,7 @@
   return (c <= 0x00FF);
 }
 
-bool UNICODE::is_latin1(jchar* base, int length) {
+bool UNICODE::is_latin1(const jchar* base, int length) {
   for (int index = 0; index < length; index++) {
     if (base[index] > 0x00FF) {
       return false;
@@ -434,7 +434,7 @@
 }
 
 template<typename T>
-int UNICODE::utf8_length(T* base, int length) {
+int UNICODE::utf8_length(const T* base, int length) {
   int result = 0;
   for (int index = 0; index < length; index++) {
     T c = base[index];
@@ -444,7 +444,7 @@
 }
 
 template<typename T>
-char* UNICODE::as_utf8(T* base, int& length) {
+char* UNICODE::as_utf8(const T* base, int& length) {
   int utf8_len = utf8_length(base, length);
   u_char* buf = NEW_RESOURCE_ARRAY(u_char, utf8_len + 1);
   char* result = as_utf8(base, length, (char*) buf, utf8_len + 1);
@@ -454,7 +454,7 @@
   return (char*) result;
 }
 
-char* UNICODE::as_utf8(jchar* base, int length, char* buf, int buflen) {
+char* UNICODE::as_utf8(const jchar* base, int length, char* buf, int buflen) {
   u_char* p = (u_char*)buf;
   for (int index = 0; index < length; index++) {
     jchar c = base[index];
@@ -466,7 +466,7 @@
   return buf;
 }
 
-char* UNICODE::as_utf8(jbyte* base, int length, char* buf, int buflen) {
+char* UNICODE::as_utf8(const jbyte* base, int length, char* buf, int buflen) {
   u_char* p = (u_char*)buf;
   u_char* end = (u_char*)buf + buflen;
   for (int index = 0; index < length; index++) {
@@ -496,7 +496,7 @@
 
 // returns the quoted ascii length of a unicode string
 template<typename T>
-int UNICODE::quoted_ascii_length(T* base, int length) {
+int UNICODE::quoted_ascii_length(const T* base, int length) {
   int result = 0;
   for (int i = 0; i < length; i++) {
     T c = base[i];
@@ -529,11 +529,11 @@
 }
 
 // Explicit instantiation for all supported types.
-template int UNICODE::utf8_length(jbyte* base, int length);
-template int UNICODE::utf8_length(jchar* base, int length);
-template char* UNICODE::as_utf8(jbyte* base, int& length);
-template char* UNICODE::as_utf8(jchar* base, int& length);
-template int UNICODE::quoted_ascii_length<jbyte>(jbyte* base, int length);
-template int UNICODE::quoted_ascii_length<jchar>(jchar* base, int length);
+template int UNICODE::utf8_length(const jbyte* base, int length);
+template int UNICODE::utf8_length(const jchar* base, int length);
+template char* UNICODE::as_utf8(const jbyte* base, int& length);
+template char* UNICODE::as_utf8(const jchar* base, int& length);
+template int UNICODE::quoted_ascii_length<jbyte>(const jbyte* base, int length);
+template int UNICODE::quoted_ascii_length<jchar>(const jchar* base, int length);
 template void UNICODE::as_quoted_ascii<jbyte>(const jbyte* base, int length, char* buf, int buflen);
 template void UNICODE::as_quoted_ascii<jchar>(const jchar* base, int length, char* buf, int buflen);
--- a/src/hotspot/share/utilities/utf8.hpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/utilities/utf8.hpp	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, 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
@@ -90,14 +90,14 @@
   static bool is_latin1(jchar c);
 
   // checks if the given string can be encoded as latin1
-  static bool is_latin1(jchar* base, int length);
+  static bool is_latin1(const jchar* base, int length);
 
   // returns the utf8 size of a unicode character
   static int utf8_size(jchar c);
   static int utf8_size(jbyte c);
 
   // returns the utf8 length of a unicode string
-  template<typename T> static int utf8_length(T* base, int length);
+  template<typename T> static int utf8_length(const T* base, int length);
 
   // converts a unicode string to utf8 string
   static void convert_to_utf8(const jchar* base, int length, char* utf8_buffer);
@@ -105,12 +105,12 @@
   // converts a unicode string to a utf8 string; result is allocated
   // in resource area unless a buffer is provided. The unicode 'length'
   // parameter is set to the length of the result utf8 string.
-  template<typename T> static char* as_utf8(T* base, int& length);
-  static char* as_utf8(jchar* base, int length, char* buf, int buflen);
-  static char* as_utf8(jbyte* base, int length, char* buf, int buflen);
+  template<typename T> static char* as_utf8(const T* base, int& length);
+  static char* as_utf8(const jchar* base, int length, char* buf, int buflen);
+  static char* as_utf8(const jbyte* base, int length, char* buf, int buflen);
 
   // returns the quoted ascii length of a unicode string
-  template<typename T> static int quoted_ascii_length(T* base, int length);
+  template<typename T> static int quoted_ascii_length(const T* base, int length);
 
   // converts a unicode string to quoted ascii
   template<typename T> static void as_quoted_ascii(const T* base, int length, char* buf, int buflen);
--- a/src/hotspot/share/utilities/vmError.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/hotspot/share/utilities/vmError.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -84,6 +84,9 @@
   "LD_LIBRARY_PATH", "LD_PRELOAD", "SHELL", "DISPLAY",
   "HOSTTYPE", "OSTYPE", "ARCH", "MACHTYPE",
 
+  // defined on AIX
+  "LIBPATH", "LDR_PRELOAD", "LDR_PRELOAD64",
+
   // defined on Linux
   "LD_ASSUME_KERNEL", "_JAVA_SR_SIGNUM",
 
--- a/src/java.base/macosx/native/libjli/java_md_macosx.c	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,943 +0,0 @@
-/*
- * Copyright (c) 2012, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-#include "java.h"
-#include "jvm_md.h"
-#include <dirent.h>
-#include <dlfcn.h>
-#include <fcntl.h>
-#include <inttypes.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include "manifest_info.h"
-
-/* Support Cocoa event loop on the main thread */
-#include <Cocoa/Cocoa.h>
-#include <objc/objc-runtime.h>
-#include <objc/objc-auto.h>
-
-#include <errno.h>
-#include <spawn.h>
-
-struct NSAppArgs {
-    int argc;
-    char **argv;
-};
-
-#define JVM_DLL "libjvm.dylib"
-#define JAVA_DLL "libjava.dylib"
-/* FALLBACK avoids naming conflicts with system libraries
- * (eg, ImageIO's libJPEG.dylib) */
-#define LD_LIBRARY_PATH "DYLD_FALLBACK_LIBRARY_PATH"
-
-/*
- * If a processor / os combination has the ability to run binaries of
- * two data models and cohabitation of jre/jdk bits with both data
- * models is supported, then DUAL_MODE is defined. MacOSX is a hybrid
- * system in that, the universal library can contain all types of libraries
- * 32/64 and client/server, thus the spawn is capable of linking with the
- * appropriate library as requested.
- *
- * Notes:
- * 1. VM. DUAL_MODE is disabled, and not supported, however, it is left here in
- *    for experimentation and perhaps enable it in the future.
- * 2. At the time of this writing, the universal library contains only
- *    a server 64-bit server JVM.
- * 3. "-client" command line option is supported merely as a command line flag,
- *    for, compatibility reasons, however, a server VM will be launched.
- */
-
-/*
- * Flowchart of launcher execs and options processing on unix
- *
- * The selection of the proper vm shared library to open depends on
- * several classes of command line options, including vm "flavor"
- * options (-client, -server) and the data model options, -d32  and
- * -d64, as well as a version specification which may have come from
- * the command line or from the manifest of an executable jar file.
- * The vm selection options are not passed to the running
- * virtual machine; they must be screened out by the launcher.
- *
- * The version specification (if any) is processed first by the
- * platform independent routine SelectVersion.  This may result in
- * the exec of the specified launcher version.
- *
- * Now, in most cases,the launcher will dlopen the target libjvm.so. All
- * required libraries are loaded by the runtime linker, using the known paths
- * baked into the shared libraries at compile time. Therefore,
- * in most cases, the launcher will only exec, if the data models are
- * mismatched, and will not set any environment variables, regardless of the
- * data models.
- *
- *
- *
- *  Main
- *  (incoming argv)
- *  |
- * \|/
- * CreateExecutionEnvironment
- * (determines desired data model)
- *  |
- *  |
- * \|/
- *  Have Desired Model ? --> NO --> Is Dual-Mode ? --> NO --> Exit(with error)
- *  |                                          |
- *  |                                          |
- *  |                                         \|/
- *  |                                         YES
- *  |                                          |
- *  |                                          |
- *  |                                         \|/
- *  |                                CheckJvmType
- *  |                               (removes -client, -server etc.)
- *  |                                          |
- *  |                                          |
- * \|/                                        \|/
- * YES                             Find the desired executable/library
- *  |                                          |
- *  |                                          |
- * \|/                                        \|/
- * CheckJvmType                             POINT A
- * (removes -client, -server, etc.)
- *  |
- *  |
- * \|/
- * TranslateDashJArgs...
- * (Prepare to pass args to vm)
- *  |
- *  |
- * \|/
- * ParseArguments
- * (processes version options,
- *  creates argument list for vm,
- *  etc.)
- *   |
- *   |
- *  \|/
- * POINT A
- *   |
- *   |
- *  \|/
- * Path is desired JRE ? YES --> Continue
- *  NO
- *   |
- *   |
- *  \|/
- * Paths have well known
- * jvm paths ?       --> NO --> Continue
- *  YES
- *   |
- *   |
- *  \|/
- *  Does libjvm.so exist
- *  in any of them ? --> NO --> Continue
- *   YES
- *   |
- *   |
- *  \|/
- * Re-exec / Spawn
- *   |
- *   |
- *  \|/
- * Main
- */
-
-/* Store the name of the executable once computed */
-static char *execname = NULL;
-
-/*
- * execname accessor from other parts of platform dependent logic
- */
-const char *
-GetExecName() {
-    return execname;
-}
-
-/*
- * Exports the JNI interface from libjli
- *
- * This allows client code to link against the .jre/.jdk bundles,
- * and not worry about trying to pick a HotSpot to link against.
- *
- * Switching architectures is unsupported, since client code has
- * made that choice before the JVM was requested.
- */
-
-static InvocationFunctions *sExportedJNIFunctions = NULL;
-static char *sPreferredJVMType = NULL;
-
-static InvocationFunctions *GetExportedJNIFunctions() {
-    if (sExportedJNIFunctions != NULL) return sExportedJNIFunctions;
-
-    char jrePath[PATH_MAX];
-    jboolean gotJREPath = GetJREPath(jrePath, sizeof(jrePath), JNI_FALSE);
-    if (!gotJREPath) {
-        JLI_ReportErrorMessage("Failed to GetJREPath()");
-        return NULL;
-    }
-
-    char *preferredJVM = sPreferredJVMType;
-    if (preferredJVM == NULL) {
-#if defined(__i386__)
-        preferredJVM = "client";
-#elif defined(__x86_64__)
-        preferredJVM = "server";
-#else
-#error "Unknown architecture - needs definition"
-#endif
-    }
-
-    char jvmPath[PATH_MAX];
-    jboolean gotJVMPath = GetJVMPath(jrePath, preferredJVM, jvmPath, sizeof(jvmPath));
-    if (!gotJVMPath) {
-        JLI_ReportErrorMessage("Failed to GetJVMPath()");
-        return NULL;
-    }
-
-    InvocationFunctions *fxns = malloc(sizeof(InvocationFunctions));
-    jboolean vmLoaded = LoadJavaVM(jvmPath, fxns);
-    if (!vmLoaded) {
-        JLI_ReportErrorMessage("Failed to LoadJavaVM()");
-        return NULL;
-    }
-
-    return sExportedJNIFunctions = fxns;
-}
-
-#ifndef STATIC_BUILD
-
-JNIEXPORT jint JNICALL
-JNI_GetDefaultJavaVMInitArgs(void *args) {
-    InvocationFunctions *ifn = GetExportedJNIFunctions();
-    if (ifn == NULL) return JNI_ERR;
-    return ifn->GetDefaultJavaVMInitArgs(args);
-}
-
-JNIEXPORT jint JNICALL
-JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args) {
-    InvocationFunctions *ifn = GetExportedJNIFunctions();
-    if (ifn == NULL) return JNI_ERR;
-    return ifn->CreateJavaVM(pvm, penv, args);
-}
-
-JNIEXPORT jint JNICALL
-JNI_GetCreatedJavaVMs(JavaVM **vmBuf, jsize bufLen, jsize *nVMs) {
-    InvocationFunctions *ifn = GetExportedJNIFunctions();
-    if (ifn == NULL) return JNI_ERR;
-    return ifn->GetCreatedJavaVMs(vmBuf, bufLen, nVMs);
-}
-#endif
-
-/*
- * Allow JLI-aware launchers to specify a client/server preference
- */
-JNIEXPORT void JNICALL
-JLI_SetPreferredJVM(const char *prefJVM) {
-    if (sPreferredJVMType != NULL) {
-        free(sPreferredJVMType);
-        sPreferredJVMType = NULL;
-    }
-
-    if (prefJVM == NULL) return;
-    sPreferredJVMType = strdup(prefJVM);
-}
-
-static BOOL awtLoaded = NO;
-static pthread_mutex_t awtLoaded_mutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_cond_t  awtLoaded_cv = PTHREAD_COND_INITIALIZER;
-
-JNIEXPORT void JNICALL
-JLI_NotifyAWTLoaded()
-{
-    pthread_mutex_lock(&awtLoaded_mutex);
-    awtLoaded = YES;
-    pthread_cond_signal(&awtLoaded_cv);
-    pthread_mutex_unlock(&awtLoaded_mutex);
-}
-
-static int (*main_fptr)(int argc, char **argv) = NULL;
-
-/*
- * Unwrap the arguments and re-run main()
- */
-static void *apple_main (void *arg)
-{
-    if (main_fptr == NULL) {
-#ifdef STATIC_BUILD
-        extern int main(int argc, char **argv);
-        main_fptr = &main;
-#else
-        main_fptr = (int (*)())dlsym(RTLD_DEFAULT, "main");
-#endif
-        if (main_fptr == NULL) {
-            JLI_ReportErrorMessageSys("error locating main entrypoint\n");
-            exit(1);
-        }
-    }
-
-    struct NSAppArgs *args = (struct NSAppArgs *) arg;
-    exit(main_fptr(args->argc, args->argv));
-}
-
-static void dummyTimer(CFRunLoopTimerRef timer, void *info) {}
-
-static void ParkEventLoop() {
-    // RunLoop needs at least one source, and 1e20 is pretty far into the future
-    CFRunLoopTimerRef t = CFRunLoopTimerCreate(kCFAllocatorDefault, 1.0e20, 0.0, 0, 0, dummyTimer, NULL);
-    CFRunLoopAddTimer(CFRunLoopGetCurrent(), t, kCFRunLoopDefaultMode);
-    CFRelease(t);
-
-    // Park this thread in the main run loop.
-    int32_t result;
-    do {
-        result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, 1.0e20, false);
-    } while (result != kCFRunLoopRunFinished);
-}
-
-/*
- * Mac OS X mandates that the GUI event loop run on very first thread of
- * an application. This requires that we re-call Java's main() on a new
- * thread, reserving the 'main' thread for Cocoa.
- */
-static void MacOSXStartup(int argc, char *argv[]) {
-    // Thread already started?
-    static jboolean started = false;
-    if (started) {
-        return;
-    }
-    started = true;
-
-    // Hand off arguments
-    struct NSAppArgs args;
-    args.argc = argc;
-    args.argv = argv;
-
-    // Fire up the main thread
-    pthread_t main_thr;
-    if (pthread_create(&main_thr, NULL, &apple_main, &args) != 0) {
-        JLI_ReportErrorMessageSys("Could not create main thread: %s\n", strerror(errno));
-        exit(1);
-    }
-    if (pthread_detach(main_thr)) {
-        JLI_ReportErrorMessageSys("pthread_detach() failed: %s\n", strerror(errno));
-        exit(1);
-    }
-
-    ParkEventLoop();
-}
-
-void
-CreateExecutionEnvironment(int *pargc, char ***pargv,
-                           char jrepath[], jint so_jrepath,
-                           char jvmpath[], jint so_jvmpath,
-                           char jvmcfg[],  jint so_jvmcfg) {
-    jboolean jvmpathExists;
-
-    /* Compute/set the name of the executable */
-    SetExecname(*pargv);
-
-    char * jvmtype    = NULL;
-    int  argc         = *pargc;
-    char **argv       = *pargv;
-
-    /* Find out where the JRE is that we will be using. */
-    if (!GetJREPath(jrepath, so_jrepath, JNI_FALSE) ) {
-        JLI_ReportErrorMessage(JRE_ERROR1);
-        exit(2);
-    }
-    JLI_Snprintf(jvmcfg, so_jvmcfg, "%s%slib%sjvm.cfg",
-                 jrepath, FILESEP, FILESEP);
-    /* Find the specified JVM type */
-    if (ReadKnownVMs(jvmcfg, JNI_FALSE) < 1) {
-        JLI_ReportErrorMessage(CFG_ERROR7);
-        exit(1);
-    }
-
-    jvmpath[0] = '\0';
-    jvmtype = CheckJvmType(pargc, pargv, JNI_FALSE);
-    if (JLI_StrCmp(jvmtype, "ERROR") == 0) {
-        JLI_ReportErrorMessage(CFG_ERROR9);
-        exit(4);
-    }
-
-    if (!GetJVMPath(jrepath, jvmtype, jvmpath, so_jvmpath)) {
-        JLI_ReportErrorMessage(CFG_ERROR8, jvmtype, jvmpath);
-        exit(4);
-    }
-
-    /*
-     * Mac OS X requires the Cocoa event loop to be run on the "main"
-     * thread. Spawn off a new thread to run main() and pass
-     * this thread off to the Cocoa event loop.
-     */
-    MacOSXStartup(argc, argv);
-
-    /*
-     * we seem to have everything we need
-     */
-    return;
-}
-
-/*
- * VM choosing is done by the launcher (java.c).
- */
-static jboolean
-GetJVMPath(const char *jrepath, const char *jvmtype,
-           char *jvmpath, jint jvmpathsize)
-{
-    struct stat s;
-
-    if (JLI_StrChr(jvmtype, '/')) {
-        JLI_Snprintf(jvmpath, jvmpathsize, "%s/" JVM_DLL, jvmtype);
-    } else {
-        /*
-         * macosx client library is built thin, i386 only.
-         * 64 bit client requests must load server library
-         */
-        JLI_Snprintf(jvmpath, jvmpathsize, "%s/lib/%s/" JVM_DLL, jrepath, jvmtype);
-    }
-
-    JLI_TraceLauncher("Does `%s' exist ... ", jvmpath);
-
-#ifdef STATIC_BUILD
-    return JNI_TRUE;
-#else
-    if (stat(jvmpath, &s) == 0) {
-        JLI_TraceLauncher("yes.\n");
-        return JNI_TRUE;
-    } else {
-        JLI_TraceLauncher("no.\n");
-        return JNI_FALSE;
-    }
-#endif
-}
-
-/*
- * Find path to JRE based on .exe's location or registry settings.
- */
-static jboolean
-GetJREPath(char *path, jint pathsize, jboolean speculative)
-{
-    char libjava[MAXPATHLEN];
-
-    if (GetApplicationHome(path, pathsize)) {
-        /* Is JRE co-located with the application? */
-#ifdef STATIC_BUILD
-        char jvm_cfg[MAXPATHLEN];
-        JLI_Snprintf(jvm_cfg, sizeof(jvm_cfg), "%s/lib/jvm.cfg", path);
-        if (access(jvm_cfg, F_OK) == 0) {
-            return JNI_TRUE;
-        }
-#else
-        JLI_Snprintf(libjava, sizeof(libjava), "%s/lib/" JAVA_DLL, path);
-        if (access(libjava, F_OK) == 0) {
-            return JNI_TRUE;
-        }
-#endif
-        /* ensure storage for path + /jre + NULL */
-        if ((JLI_StrLen(path) + 4 + 1) > (size_t) pathsize) {
-            JLI_TraceLauncher("Insufficient space to store JRE path\n");
-            return JNI_FALSE;
-        }
-        /* Does the app ship a private JRE in <apphome>/jre directory? */
-        JLI_Snprintf(libjava, sizeof(libjava), "%s/jre/lib/" JAVA_DLL, path);
-        if (access(libjava, F_OK) == 0) {
-            JLI_StrCat(path, "/jre");
-            JLI_TraceLauncher("JRE path is %s\n", path);
-            return JNI_TRUE;
-        }
-    }
-
-    /* try to find ourselves instead */
-    Dl_info selfInfo;
-    dladdr(&GetJREPath, &selfInfo);
-
-#ifdef STATIC_BUILD
-    char jvm_cfg[MAXPATHLEN];
-    char *p = NULL;
-    strncpy(jvm_cfg, selfInfo.dli_fname, MAXPATHLEN);
-    p = strrchr(jvm_cfg, '/'); *p = '\0';
-    p = strrchr(jvm_cfg, '/');
-    if (strcmp(p, "/.") == 0) {
-      *p = '\0';
-      p = strrchr(jvm_cfg, '/'); *p = '\0';
-    }
-    else *p = '\0';
-    strncpy(path, jvm_cfg, pathsize);
-    strncat(jvm_cfg, "/lib/jvm.cfg", MAXPATHLEN);
-    if (access(jvm_cfg, F_OK) == 0) {
-      return JNI_TRUE;
-    }
-#endif
-
-    char *realPathToSelf = realpath(selfInfo.dli_fname, path);
-    if (realPathToSelf != path) {
-        return JNI_FALSE;
-    }
-
-    size_t pathLen = strlen(realPathToSelf);
-    if (pathLen == 0) {
-        return JNI_FALSE;
-    }
-
-    const char lastPathComponent[] = "/lib/jli/libjli.dylib";
-    size_t sizeOfLastPathComponent = sizeof(lastPathComponent) - 1;
-    if (pathLen < sizeOfLastPathComponent) {
-        return JNI_FALSE;
-    }
-
-    size_t indexOfLastPathComponent = pathLen - sizeOfLastPathComponent;
-    if (0 == strncmp(realPathToSelf + indexOfLastPathComponent, lastPathComponent, sizeOfLastPathComponent - 1)) {
-        realPathToSelf[indexOfLastPathComponent + 1] = '\0';
-        return JNI_TRUE;
-    }
-
-    if (!speculative)
-      JLI_ReportErrorMessage(JRE_ERROR8 JAVA_DLL);
-    return JNI_FALSE;
-}
-
-jboolean
-LoadJavaVM(const char *jvmpath, InvocationFunctions *ifn)
-{
-    Dl_info dlinfo;
-    void *libjvm;
-
-    JLI_TraceLauncher("JVM path is %s\n", jvmpath);
-
-#ifndef STATIC_BUILD
-    libjvm = dlopen(jvmpath, RTLD_NOW + RTLD_GLOBAL);
-#else
-    libjvm = dlopen(NULL, RTLD_FIRST);
-#endif
-    if (libjvm == NULL) {
-        JLI_ReportErrorMessage(DLL_ERROR1, __LINE__);
-        JLI_ReportErrorMessage(DLL_ERROR2, jvmpath, dlerror());
-        return JNI_FALSE;
-    }
-
-    ifn->CreateJavaVM = (CreateJavaVM_t)
-        dlsym(libjvm, "JNI_CreateJavaVM");
-    if (ifn->CreateJavaVM == NULL) {
-        JLI_ReportErrorMessage(DLL_ERROR2, jvmpath, dlerror());
-        return JNI_FALSE;
-    }
-
-    ifn->GetDefaultJavaVMInitArgs = (GetDefaultJavaVMInitArgs_t)
-        dlsym(libjvm, "JNI_GetDefaultJavaVMInitArgs");
-    if (ifn->GetDefaultJavaVMInitArgs == NULL) {
-        JLI_ReportErrorMessage(DLL_ERROR2, jvmpath, dlerror());
-        return JNI_FALSE;
-    }
-
-    ifn->GetCreatedJavaVMs = (GetCreatedJavaVMs_t)
-    dlsym(libjvm, "JNI_GetCreatedJavaVMs");
-    if (ifn->GetCreatedJavaVMs == NULL) {
-        JLI_ReportErrorMessage(DLL_ERROR2, jvmpath, dlerror());
-        return JNI_FALSE;
-    }
-
-    return JNI_TRUE;
-}
-
-/*
- * Compute the name of the executable
- *
- * In order to re-exec securely we need the absolute path of the
- * executable. On Solaris getexecname(3c) may not return an absolute
- * path so we use dladdr to get the filename of the executable and
- * then use realpath to derive an absolute path. From Solaris 9
- * onwards the filename returned in DL_info structure from dladdr is
- * an absolute pathname so technically realpath isn't required.
- * On Linux we read the executable name from /proc/self/exe.
- * As a fallback, and for platforms other than Solaris and Linux,
- * we use FindExecName to compute the executable name.
- */
-const char*
-SetExecname(char **argv)
-{
-    char* exec_path = NULL;
-    {
-        Dl_info dlinfo;
-
-#ifdef STATIC_BUILD
-        void *fptr;
-        fptr = (void *)&SetExecname;
-#else
-        int (*fptr)();
-        fptr = (int (*)())dlsym(RTLD_DEFAULT, "main");
-#endif
-        if (fptr == NULL) {
-            JLI_ReportErrorMessage(DLL_ERROR3, dlerror());
-            return JNI_FALSE;
-        }
-
-        if (dladdr((void*)fptr, &dlinfo)) {
-            char *resolved = (char*)JLI_MemAlloc(PATH_MAX+1);
-            if (resolved != NULL) {
-                exec_path = realpath(dlinfo.dli_fname, resolved);
-                if (exec_path == NULL) {
-                    JLI_MemFree(resolved);
-                }
-            }
-        }
-    }
-    if (exec_path == NULL) {
-        exec_path = FindExecName(argv[0]);
-    }
-    execname = exec_path;
-    return exec_path;
-}
-
-/*
- * BSD's implementation of CounterGet()
- */
-int64_t
-CounterGet()
-{
-    struct timeval tv;
-    gettimeofday(&tv, NULL);
-    return (tv.tv_sec * 1000) + tv.tv_usec;
-}
-
-
-/* --- Splash Screen shared library support --- */
-
-static JavaVM* SetJavaVMValue()
-{
-    JavaVM * jvm = NULL;
-
-    // The handle is good for both the launcher and the libosxapp.dylib
-    void * handle = dlopen(NULL, RTLD_LAZY | RTLD_GLOBAL);
-    if (handle) {
-        typedef JavaVM* (*JLI_GetJavaVMInstance_t)();
-
-        JLI_GetJavaVMInstance_t JLI_GetJavaVMInstance =
-            (JLI_GetJavaVMInstance_t)dlsym(handle,
-                    "JLI_GetJavaVMInstance");
-        if (JLI_GetJavaVMInstance) {
-            jvm = JLI_GetJavaVMInstance();
-        }
-
-        if (jvm) {
-            typedef void (*OSXAPP_SetJavaVM_t)(JavaVM*);
-
-            OSXAPP_SetJavaVM_t OSXAPP_SetJavaVM =
-                (OSXAPP_SetJavaVM_t)dlsym(handle, "OSXAPP_SetJavaVM");
-            if (OSXAPP_SetJavaVM) {
-                OSXAPP_SetJavaVM(jvm);
-            } else {
-                jvm = NULL;
-            }
-        }
-
-        dlclose(handle);
-    }
-
-    return jvm;
-}
-
-static const char* SPLASHSCREEN_SO = JNI_LIB_NAME("splashscreen");
-
-static void* hSplashLib = NULL;
-
-void* SplashProcAddress(const char* name) {
-    if (!hSplashLib) {
-        char jrePath[PATH_MAX];
-        if (!GetJREPath(jrePath, sizeof(jrePath), JNI_FALSE)) {
-            JLI_ReportErrorMessage(JRE_ERROR1);
-            return NULL;
-        }
-
-        char splashPath[PATH_MAX];
-        const int ret = JLI_Snprintf(splashPath, sizeof(splashPath),
-                "%s/lib/%s", jrePath, SPLASHSCREEN_SO);
-        if (ret >= (int)sizeof(splashPath)) {
-            JLI_ReportErrorMessage(JRE_ERROR11);
-            return NULL;
-        }
-        if (ret < 0) {
-            JLI_ReportErrorMessage(JRE_ERROR13);
-            return NULL;
-        }
-
-        hSplashLib = dlopen(splashPath, RTLD_LAZY | RTLD_GLOBAL);
-        // It's OK if dlopen() fails. The splash screen library binary file
-        // might have been stripped out from the JRE image to reduce its size
-        // (e.g. on embedded platforms).
-
-        if (hSplashLib) {
-            if (!SetJavaVMValue()) {
-                dlclose(hSplashLib);
-                hSplashLib = NULL;
-            }
-        }
-    }
-    if (hSplashLib) {
-        void* sym = dlsym(hSplashLib, name);
-        return sym;
-    } else {
-        return NULL;
-    }
-}
-
-void SplashFreeLibrary() {
-    if (hSplashLib) {
-        dlclose(hSplashLib);
-        hSplashLib = NULL;
-    }
-}
-
-/*
- * Block current thread and continue execution in a new thread
- */
-int
-ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) {
-    int rslt;
-    pthread_t tid;
-    pthread_attr_t attr;
-    pthread_attr_init(&attr);
-    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
-
-    if (stack_size > 0) {
-      pthread_attr_setstacksize(&attr, stack_size);
-    }
-    pthread_attr_setguardsize(&attr, 0); // no pthread guard page on java threads
-
-    if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) {
-      void * tmp;
-      pthread_join(tid, &tmp);
-      rslt = (int)(intptr_t)tmp;
-    } else {
-     /*
-      * Continue execution in current thread if for some reason (e.g. out of
-      * memory/LWP)  a new thread can't be created. This will likely fail
-      * later in continuation as JNI_CreateJavaVM needs to create quite a
-      * few new threads, anyway, just give it a try..
-      */
-      rslt = continuation(args);
-    }
-
-    pthread_attr_destroy(&attr);
-    return rslt;
-}
-
-void SetJavaLauncherPlatformProps() {
-   /* Linux only */
-}
-
-static JavaVM* jvmInstance = NULL;
-static jboolean sameThread = JNI_FALSE; /* start VM in current thread */
-
-/*
- * Note there is a callback on this function from the splashscreen logic,
- * this as well SetJavaVMValue() needs to be simplified.
- */
-JavaVM*
-JLI_GetJavaVMInstance()
-{
-    return jvmInstance;
-}
-
-void
-RegisterThread()
-{
-    // stubbed out for windows and *nixes.
-}
-
-static void
-SetXDockArgForAWT(const char *arg)
-{
-    char envVar[80];
-    if (strstr(arg, "-Xdock:name=") == arg) {
-        /*
-         * The APP_NAME_<pid> environment variable is used to pass
-         * an application name as specified with the -Xdock:name command
-         * line option from Java launcher code to the AWT code in order
-         * to assign this name to the app's dock tile on the Mac.
-         * The _<pid> part is added to avoid collisions with child processes.
-         *
-         * WARNING: This environment variable is an implementation detail and
-         * isn't meant for use outside of the core platform. The mechanism for
-         * passing this information from Java launcher to other modules may
-         * change drastically between update release, and it may even be
-         * removed or replaced with another mechanism.
-         *
-         * NOTE: It is used by SWT, and JavaFX.
-         */
-        snprintf(envVar, sizeof(envVar), "APP_NAME_%d", getpid());
-        setenv(envVar, (arg + 12), 1);
-    }
-
-    if (strstr(arg, "-Xdock:icon=") == arg) {
-        /*
-         * The APP_ICON_<pid> environment variable is used to pass
-         * an application icon as specified with the -Xdock:icon command
-         * line option from Java launcher code to the AWT code in order
-         * to assign this icon to the app's dock tile on the Mac.
-         * The _<pid> part is added to avoid collisions with child processes.
-         *
-         * WARNING: This environment variable is an implementation detail and
-         * isn't meant for use outside of the core platform. The mechanism for
-         * passing this information from Java launcher to other modules may
-         * change drastically between update release, and it may even be
-         * removed or replaced with another mechanism.
-         *
-         * NOTE: It is used by SWT, and JavaFX.
-         */
-        snprintf(envVar, sizeof(envVar), "APP_ICON_%d", getpid());
-        setenv(envVar, (arg + 12), 1);
-    }
-}
-
-static void
-SetMainClassForAWT(JNIEnv *env, jclass mainClass) {
-    jclass classClass = NULL;
-    NULL_CHECK(classClass = FindBootStrapClass(env, "java/lang/Class"));
-
-    jmethodID getCanonicalNameMID = NULL;
-    NULL_CHECK(getCanonicalNameMID = (*env)->GetMethodID(env, classClass, "getCanonicalName", "()Ljava/lang/String;"));
-
-    jstring mainClassString = (*env)->CallObjectMethod(env, mainClass, getCanonicalNameMID);
-    if ((*env)->ExceptionCheck(env)) {
-        /*
-         * Clears all errors caused by getCanonicalName() on the mainclass and
-         * leaves the JAVA_MAIN_CLASS__<pid> empty.
-         */
-        (*env)->ExceptionClear(env);
-        return;
-    }
-
-    const char *mainClassName = NULL;
-    NULL_CHECK(mainClassName = (*env)->GetStringUTFChars(env, mainClassString, NULL));
-
-    char envVar[80];
-    /*
-     * The JAVA_MAIN_CLASS_<pid> environment variable is used to pass
-     * the name of a Java class whose main() method is invoked by
-     * the Java launcher code to start the application, to the AWT code
-     * in order to assign the name to the Apple menu bar when the app
-     * is active on the Mac.
-     * The _<pid> part is added to avoid collisions with child processes.
-     *
-     * WARNING: This environment variable is an implementation detail and
-     * isn't meant for use outside of the core platform. The mechanism for
-     * passing this information from Java launcher to other modules may
-     * change drastically between update release, and it may even be
-     * removed or replaced with another mechanism.
-     *
-     * NOTE: It is used by SWT, and JavaFX.
-     */
-    snprintf(envVar, sizeof(envVar), "JAVA_MAIN_CLASS_%d", getpid());
-    setenv(envVar, mainClassName, 1);
-
-    (*env)->ReleaseStringUTFChars(env, mainClassString, mainClassName);
-}
-
-void
-SetXStartOnFirstThreadArg()
-{
-    // XXX: BEGIN HACK
-    // short circuit hack for <https://bugs.eclipse.org/bugs/show_bug.cgi?id=211625>
-    // need a way to get AWT/Swing apps launched when spawned from Eclipse,
-    // which currently has no UI to not pass the -XstartOnFirstThread option
-    if (getenv("HACK_IGNORE_START_ON_FIRST_THREAD") != NULL) return;
-    // XXX: END HACK
-
-    sameThread = JNI_TRUE;
-    // Set a variable that tells us we started on the main thread.
-    // This is used by the AWT during startup. (See LWCToolkit.m)
-    char envVar[80];
-    snprintf(envVar, sizeof(envVar), "JAVA_STARTED_ON_FIRST_THREAD_%d", getpid());
-    setenv(envVar, "1", 1);
-}
-
-// MacOSX we may continue in the same thread
-int
-JVMInit(InvocationFunctions* ifn, jlong threadStackSize,
-                 int argc, char **argv,
-                 int mode, char *what, int ret) {
-    if (sameThread) {
-        JLI_TraceLauncher("In same thread\n");
-        // need to block this thread against the main thread
-        // so signals get caught correctly
-        __block int rslt = 0;
-        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-        {
-            NSBlockOperation *op = [NSBlockOperation blockOperationWithBlock: ^{
-                JavaMainArgs args;
-                args.argc = argc;
-                args.argv = argv;
-                args.mode = mode;
-                args.what = what;
-                args.ifn  = *ifn;
-                rslt = JavaMain(&args);
-            }];
-
-            /*
-             * We cannot use dispatch_sync here, because it blocks the main dispatch queue.
-             * Using the main NSRunLoop allows the dispatch queue to run properly once
-             * SWT (or whatever toolkit this is needed for) kicks off it's own NSRunLoop
-             * and starts running.
-             */
-            [op performSelectorOnMainThread:@selector(start) withObject:nil waitUntilDone:YES];
-        }
-        [pool drain];
-        return rslt;
-    } else {
-        return ContinueInNewThread(ifn, threadStackSize, argc, argv, mode, what, ret);
-    }
-}
-
-/*
- * Note the jvmInstance must be initialized first before entering into
- * ShowSplashScreen, as there is a callback into the JLI_GetJavaVMInstance.
- */
-void PostJVMInit(JNIEnv *env, jclass mainClass, JavaVM *vm) {
-    jvmInstance = vm;
-    SetMainClassForAWT(env, mainClass);
-    CHECK_EXCEPTION_RETURN();
-    ShowSplashScreen();
-}
-
-jboolean
-ProcessPlatformOption(const char* arg)
-{
-    if (JLI_StrCmp(arg, "-XstartOnFirstThread") == 0) {
-       SetXStartOnFirstThreadArg();
-       return JNI_TRUE;
-    } else if (JLI_StrCCmp(arg, "-Xdock:") == 0) {
-       SetXDockArgForAWT(arg);
-       return JNI_TRUE;
-    }
-    // arguments we know not
-    return JNI_FALSE;
-}
--- a/src/java.base/macosx/native/libjli/java_md_macosx.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/macosx/native/libjli/java_md_macosx.h	Mon Sep 24 10:59:26 2018 -0700
@@ -38,7 +38,6 @@
  *      A collection of useful strings. One should think of these as #define
  *      entries, but actual strings can be more efficient (with many compilers).
  */
-static const char *system_dir  = PACKAGE_PATH "/openjdk7";
 static const char *user_dir    = "/java";
 
 #include <dlfcn.h>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.base/macosx/native/libjli/java_md_macosx.m	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,943 @@
+/*
+ * Copyright (c) 2012, 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.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+#include "java.h"
+#include "jvm_md.h"
+#include <dirent.h>
+#include <dlfcn.h>
+#include <fcntl.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/time.h>
+
+#include "manifest_info.h"
+
+/* Support Cocoa event loop on the main thread */
+#include <Cocoa/Cocoa.h>
+#include <objc/objc-runtime.h>
+#include <objc/objc-auto.h>
+
+#include <errno.h>
+#include <spawn.h>
+
+struct NSAppArgs {
+    int argc;
+    char **argv;
+};
+
+#define JVM_DLL "libjvm.dylib"
+#define JAVA_DLL "libjava.dylib"
+/* FALLBACK avoids naming conflicts with system libraries
+ * (eg, ImageIO's libJPEG.dylib) */
+#define LD_LIBRARY_PATH "DYLD_FALLBACK_LIBRARY_PATH"
+
+/*
+ * If a processor / os combination has the ability to run binaries of
+ * two data models and cohabitation of jre/jdk bits with both data
+ * models is supported, then DUAL_MODE is defined. MacOSX is a hybrid
+ * system in that, the universal library can contain all types of libraries
+ * 32/64 and client/server, thus the spawn is capable of linking with the
+ * appropriate library as requested.
+ *
+ * Notes:
+ * 1. VM. DUAL_MODE is disabled, and not supported, however, it is left here in
+ *    for experimentation and perhaps enable it in the future.
+ * 2. At the time of this writing, the universal library contains only
+ *    a server 64-bit server JVM.
+ * 3. "-client" command line option is supported merely as a command line flag,
+ *    for, compatibility reasons, however, a server VM will be launched.
+ */
+
+/*
+ * Flowchart of launcher execs and options processing on unix
+ *
+ * The selection of the proper vm shared library to open depends on
+ * several classes of command line options, including vm "flavor"
+ * options (-client, -server) and the data model options, -d32  and
+ * -d64, as well as a version specification which may have come from
+ * the command line or from the manifest of an executable jar file.
+ * The vm selection options are not passed to the running
+ * virtual machine; they must be screened out by the launcher.
+ *
+ * The version specification (if any) is processed first by the
+ * platform independent routine SelectVersion.  This may result in
+ * the exec of the specified launcher version.
+ *
+ * Now, in most cases,the launcher will dlopen the target libjvm.so. All
+ * required libraries are loaded by the runtime linker, using the known paths
+ * baked into the shared libraries at compile time. Therefore,
+ * in most cases, the launcher will only exec, if the data models are
+ * mismatched, and will not set any environment variables, regardless of the
+ * data models.
+ *
+ *
+ *
+ *  Main
+ *  (incoming argv)
+ *  |
+ * \|/
+ * CreateExecutionEnvironment
+ * (determines desired data model)
+ *  |
+ *  |
+ * \|/
+ *  Have Desired Model ? --> NO --> Is Dual-Mode ? --> NO --> Exit(with error)
+ *  |                                          |
+ *  |                                          |
+ *  |                                         \|/
+ *  |                                         YES
+ *  |                                          |
+ *  |                                          |
+ *  |                                         \|/
+ *  |                                CheckJvmType
+ *  |                               (removes -client, -server etc.)
+ *  |                                          |
+ *  |                                          |
+ * \|/                                        \|/
+ * YES                             Find the desired executable/library
+ *  |                                          |
+ *  |                                          |
+ * \|/                                        \|/
+ * CheckJvmType                             POINT A
+ * (removes -client, -server, etc.)
+ *  |
+ *  |
+ * \|/
+ * TranslateDashJArgs...
+ * (Prepare to pass args to vm)
+ *  |
+ *  |
+ * \|/
+ * ParseArguments
+ * (processes version options,
+ *  creates argument list for vm,
+ *  etc.)
+ *   |
+ *   |
+ *  \|/
+ * POINT A
+ *   |
+ *   |
+ *  \|/
+ * Path is desired JRE ? YES --> Continue
+ *  NO
+ *   |
+ *   |
+ *  \|/
+ * Paths have well known
+ * jvm paths ?       --> NO --> Continue
+ *  YES
+ *   |
+ *   |
+ *  \|/
+ *  Does libjvm.so exist
+ *  in any of them ? --> NO --> Continue
+ *   YES
+ *   |
+ *   |
+ *  \|/
+ * Re-exec / Spawn
+ *   |
+ *   |
+ *  \|/
+ * Main
+ */
+
+/* Store the name of the executable once computed */
+static char *execname = NULL;
+
+/*
+ * execname accessor from other parts of platform dependent logic
+ */
+const char *
+GetExecName() {
+    return execname;
+}
+
+/*
+ * Exports the JNI interface from libjli
+ *
+ * This allows client code to link against the .jre/.jdk bundles,
+ * and not worry about trying to pick a HotSpot to link against.
+ *
+ * Switching architectures is unsupported, since client code has
+ * made that choice before the JVM was requested.
+ */
+
+static InvocationFunctions *sExportedJNIFunctions = NULL;
+static char *sPreferredJVMType = NULL;
+
+static InvocationFunctions *GetExportedJNIFunctions() {
+    if (sExportedJNIFunctions != NULL) return sExportedJNIFunctions;
+
+    char jrePath[PATH_MAX];
+    jboolean gotJREPath = GetJREPath(jrePath, sizeof(jrePath), JNI_FALSE);
+    if (!gotJREPath) {
+        JLI_ReportErrorMessage("Failed to GetJREPath()");
+        return NULL;
+    }
+
+    char *preferredJVM = sPreferredJVMType;
+    if (preferredJVM == NULL) {
+#if defined(__i386__)
+        preferredJVM = "client";
+#elif defined(__x86_64__)
+        preferredJVM = "server";
+#else
+#error "Unknown architecture - needs definition"
+#endif
+    }
+
+    char jvmPath[PATH_MAX];
+    jboolean gotJVMPath = GetJVMPath(jrePath, preferredJVM, jvmPath, sizeof(jvmPath));
+    if (!gotJVMPath) {
+        JLI_ReportErrorMessage("Failed to GetJVMPath()");
+        return NULL;
+    }
+
+    InvocationFunctions *fxns = malloc(sizeof(InvocationFunctions));
+    jboolean vmLoaded = LoadJavaVM(jvmPath, fxns);
+    if (!vmLoaded) {
+        JLI_ReportErrorMessage("Failed to LoadJavaVM()");
+        return NULL;
+    }
+
+    return sExportedJNIFunctions = fxns;
+}
+
+#ifndef STATIC_BUILD
+
+JNIEXPORT jint JNICALL
+JNI_GetDefaultJavaVMInitArgs(void *args) {
+    InvocationFunctions *ifn = GetExportedJNIFunctions();
+    if (ifn == NULL) return JNI_ERR;
+    return ifn->GetDefaultJavaVMInitArgs(args);
+}
+
+JNIEXPORT jint JNICALL
+JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args) {
+    InvocationFunctions *ifn = GetExportedJNIFunctions();
+    if (ifn == NULL) return JNI_ERR;
+    return ifn->CreateJavaVM(pvm, penv, args);
+}
+
+JNIEXPORT jint JNICALL
+JNI_GetCreatedJavaVMs(JavaVM **vmBuf, jsize bufLen, jsize *nVMs) {
+    InvocationFunctions *ifn = GetExportedJNIFunctions();
+    if (ifn == NULL) return JNI_ERR;
+    return ifn->GetCreatedJavaVMs(vmBuf, bufLen, nVMs);
+}
+#endif
+
+/*
+ * Allow JLI-aware launchers to specify a client/server preference
+ */
+JNIEXPORT void JNICALL
+JLI_SetPreferredJVM(const char *prefJVM) {
+    if (sPreferredJVMType != NULL) {
+        free(sPreferredJVMType);
+        sPreferredJVMType = NULL;
+    }
+
+    if (prefJVM == NULL) return;
+    sPreferredJVMType = strdup(prefJVM);
+}
+
+static BOOL awtLoaded = NO;
+static pthread_mutex_t awtLoaded_mutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_cond_t  awtLoaded_cv = PTHREAD_COND_INITIALIZER;
+
+JNIEXPORT void JNICALL
+JLI_NotifyAWTLoaded()
+{
+    pthread_mutex_lock(&awtLoaded_mutex);
+    awtLoaded = YES;
+    pthread_cond_signal(&awtLoaded_cv);
+    pthread_mutex_unlock(&awtLoaded_mutex);
+}
+
+static int (*main_fptr)(int argc, char **argv) = NULL;
+
+/*
+ * Unwrap the arguments and re-run main()
+ */
+static void *apple_main (void *arg)
+{
+    if (main_fptr == NULL) {
+#ifdef STATIC_BUILD
+        extern int main(int argc, char **argv);
+        main_fptr = &main;
+#else
+        main_fptr = (int (*)())dlsym(RTLD_DEFAULT, "main");
+#endif
+        if (main_fptr == NULL) {
+            JLI_ReportErrorMessageSys("error locating main entrypoint\n");
+            exit(1);
+        }
+    }
+
+    struct NSAppArgs *args = (struct NSAppArgs *) arg;
+    exit(main_fptr(args->argc, args->argv));
+}
+
+static void dummyTimer(CFRunLoopTimerRef timer, void *info) {}
+
+static void ParkEventLoop() {
+    // RunLoop needs at least one source, and 1e20 is pretty far into the future
+    CFRunLoopTimerRef t = CFRunLoopTimerCreate(kCFAllocatorDefault, 1.0e20, 0.0, 0, 0, dummyTimer, NULL);
+    CFRunLoopAddTimer(CFRunLoopGetCurrent(), t, kCFRunLoopDefaultMode);
+    CFRelease(t);
+
+    // Park this thread in the main run loop.
+    int32_t result;
+    do {
+        result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, 1.0e20, false);
+    } while (result != kCFRunLoopRunFinished);
+}
+
+/*
+ * Mac OS X mandates that the GUI event loop run on very first thread of
+ * an application. This requires that we re-call Java's main() on a new
+ * thread, reserving the 'main' thread for Cocoa.
+ */
+static void MacOSXStartup(int argc, char *argv[]) {
+    // Thread already started?
+    static jboolean started = false;
+    if (started) {
+        return;
+    }
+    started = true;
+
+    // Hand off arguments
+    struct NSAppArgs args;
+    args.argc = argc;
+    args.argv = argv;
+
+    // Fire up the main thread
+    pthread_t main_thr;
+    if (pthread_create(&main_thr, NULL, &apple_main, &args) != 0) {
+        JLI_ReportErrorMessageSys("Could not create main thread: %s\n", strerror(errno));
+        exit(1);
+    }
+    if (pthread_detach(main_thr)) {
+        JLI_ReportErrorMessageSys("pthread_detach() failed: %s\n", strerror(errno));
+        exit(1);
+    }
+
+    ParkEventLoop();
+}
+
+void
+CreateExecutionEnvironment(int *pargc, char ***pargv,
+                           char jrepath[], jint so_jrepath,
+                           char jvmpath[], jint so_jvmpath,
+                           char jvmcfg[],  jint so_jvmcfg) {
+    jboolean jvmpathExists;
+
+    /* Compute/set the name of the executable */
+    SetExecname(*pargv);
+
+    char * jvmtype    = NULL;
+    int  argc         = *pargc;
+    char **argv       = *pargv;
+
+    /* Find out where the JRE is that we will be using. */
+    if (!GetJREPath(jrepath, so_jrepath, JNI_FALSE) ) {
+        JLI_ReportErrorMessage(JRE_ERROR1);
+        exit(2);
+    }
+    JLI_Snprintf(jvmcfg, so_jvmcfg, "%s%slib%sjvm.cfg",
+                 jrepath, FILESEP, FILESEP);
+    /* Find the specified JVM type */
+    if (ReadKnownVMs(jvmcfg, JNI_FALSE) < 1) {
+        JLI_ReportErrorMessage(CFG_ERROR7);
+        exit(1);
+    }
+
+    jvmpath[0] = '\0';
+    jvmtype = CheckJvmType(pargc, pargv, JNI_FALSE);
+    if (JLI_StrCmp(jvmtype, "ERROR") == 0) {
+        JLI_ReportErrorMessage(CFG_ERROR9);
+        exit(4);
+    }
+
+    if (!GetJVMPath(jrepath, jvmtype, jvmpath, so_jvmpath)) {
+        JLI_ReportErrorMessage(CFG_ERROR8, jvmtype, jvmpath);
+        exit(4);
+    }
+
+    /*
+     * Mac OS X requires the Cocoa event loop to be run on the "main"
+     * thread. Spawn off a new thread to run main() and pass
+     * this thread off to the Cocoa event loop.
+     */
+    MacOSXStartup(argc, argv);
+
+    /*
+     * we seem to have everything we need
+     */
+    return;
+}
+
+/*
+ * VM choosing is done by the launcher (java.c).
+ */
+static jboolean
+GetJVMPath(const char *jrepath, const char *jvmtype,
+           char *jvmpath, jint jvmpathsize)
+{
+    struct stat s;
+
+    if (JLI_StrChr(jvmtype, '/')) {
+        JLI_Snprintf(jvmpath, jvmpathsize, "%s/" JVM_DLL, jvmtype);
+    } else {
+        /*
+         * macosx client library is built thin, i386 only.
+         * 64 bit client requests must load server library
+         */
+        JLI_Snprintf(jvmpath, jvmpathsize, "%s/lib/%s/" JVM_DLL, jrepath, jvmtype);
+    }
+
+    JLI_TraceLauncher("Does `%s' exist ... ", jvmpath);
+
+#ifdef STATIC_BUILD
+    return JNI_TRUE;
+#else
+    if (stat(jvmpath, &s) == 0) {
+        JLI_TraceLauncher("yes.\n");
+        return JNI_TRUE;
+    } else {
+        JLI_TraceLauncher("no.\n");
+        return JNI_FALSE;
+    }
+#endif
+}
+
+/*
+ * Find path to JRE based on .exe's location or registry settings.
+ */
+static jboolean
+GetJREPath(char *path, jint pathsize, jboolean speculative)
+{
+    char libjava[MAXPATHLEN];
+
+    if (GetApplicationHome(path, pathsize)) {
+        /* Is JRE co-located with the application? */
+#ifdef STATIC_BUILD
+        char jvm_cfg[MAXPATHLEN];
+        JLI_Snprintf(jvm_cfg, sizeof(jvm_cfg), "%s/lib/jvm.cfg", path);
+        if (access(jvm_cfg, F_OK) == 0) {
+            return JNI_TRUE;
+        }
+#else
+        JLI_Snprintf(libjava, sizeof(libjava), "%s/lib/" JAVA_DLL, path);
+        if (access(libjava, F_OK) == 0) {
+            return JNI_TRUE;
+        }
+#endif
+        /* ensure storage for path + /jre + NULL */
+        if ((JLI_StrLen(path) + 4 + 1) > (size_t) pathsize) {
+            JLI_TraceLauncher("Insufficient space to store JRE path\n");
+            return JNI_FALSE;
+        }
+        /* Does the app ship a private JRE in <apphome>/jre directory? */
+        JLI_Snprintf(libjava, sizeof(libjava), "%s/jre/lib/" JAVA_DLL, path);
+        if (access(libjava, F_OK) == 0) {
+            JLI_StrCat(path, "/jre");
+            JLI_TraceLauncher("JRE path is %s\n", path);
+            return JNI_TRUE;
+        }
+    }
+
+    /* try to find ourselves instead */
+    Dl_info selfInfo;
+    dladdr(&GetJREPath, &selfInfo);
+
+#ifdef STATIC_BUILD
+    char jvm_cfg[MAXPATHLEN];
+    char *p = NULL;
+    strncpy(jvm_cfg, selfInfo.dli_fname, MAXPATHLEN);
+    p = strrchr(jvm_cfg, '/'); *p = '\0';
+    p = strrchr(jvm_cfg, '/');
+    if (strcmp(p, "/.") == 0) {
+      *p = '\0';
+      p = strrchr(jvm_cfg, '/'); *p = '\0';
+    }
+    else *p = '\0';
+    strncpy(path, jvm_cfg, pathsize);
+    strncat(jvm_cfg, "/lib/jvm.cfg", MAXPATHLEN);
+    if (access(jvm_cfg, F_OK) == 0) {
+      return JNI_TRUE;
+    }
+#endif
+
+    char *realPathToSelf = realpath(selfInfo.dli_fname, path);
+    if (realPathToSelf != path) {
+        return JNI_FALSE;
+    }
+
+    size_t pathLen = strlen(realPathToSelf);
+    if (pathLen == 0) {
+        return JNI_FALSE;
+    }
+
+    const char lastPathComponent[] = "/lib/jli/libjli.dylib";
+    size_t sizeOfLastPathComponent = sizeof(lastPathComponent) - 1;
+    if (pathLen < sizeOfLastPathComponent) {
+        return JNI_FALSE;
+    }
+
+    size_t indexOfLastPathComponent = pathLen - sizeOfLastPathComponent;
+    if (0 == strncmp(realPathToSelf + indexOfLastPathComponent, lastPathComponent, sizeOfLastPathComponent - 1)) {
+        realPathToSelf[indexOfLastPathComponent + 1] = '\0';
+        return JNI_TRUE;
+    }
+
+    if (!speculative)
+      JLI_ReportErrorMessage(JRE_ERROR8 JAVA_DLL);
+    return JNI_FALSE;
+}
+
+jboolean
+LoadJavaVM(const char *jvmpath, InvocationFunctions *ifn)
+{
+    Dl_info dlinfo;
+    void *libjvm;
+
+    JLI_TraceLauncher("JVM path is %s\n", jvmpath);
+
+#ifndef STATIC_BUILD
+    libjvm = dlopen(jvmpath, RTLD_NOW + RTLD_GLOBAL);
+#else
+    libjvm = dlopen(NULL, RTLD_FIRST);
+#endif
+    if (libjvm == NULL) {
+        JLI_ReportErrorMessage(DLL_ERROR1, __LINE__);
+        JLI_ReportErrorMessage(DLL_ERROR2, jvmpath, dlerror());
+        return JNI_FALSE;
+    }
+
+    ifn->CreateJavaVM = (CreateJavaVM_t)
+        dlsym(libjvm, "JNI_CreateJavaVM");
+    if (ifn->CreateJavaVM == NULL) {
+        JLI_ReportErrorMessage(DLL_ERROR2, jvmpath, dlerror());
+        return JNI_FALSE;
+    }
+
+    ifn->GetDefaultJavaVMInitArgs = (GetDefaultJavaVMInitArgs_t)
+        dlsym(libjvm, "JNI_GetDefaultJavaVMInitArgs");
+    if (ifn->GetDefaultJavaVMInitArgs == NULL) {
+        JLI_ReportErrorMessage(DLL_ERROR2, jvmpath, dlerror());
+        return JNI_FALSE;
+    }
+
+    ifn->GetCreatedJavaVMs = (GetCreatedJavaVMs_t)
+    dlsym(libjvm, "JNI_GetCreatedJavaVMs");
+    if (ifn->GetCreatedJavaVMs == NULL) {
+        JLI_ReportErrorMessage(DLL_ERROR2, jvmpath, dlerror());
+        return JNI_FALSE;
+    }
+
+    return JNI_TRUE;
+}
+
+/*
+ * Compute the name of the executable
+ *
+ * In order to re-exec securely we need the absolute path of the
+ * executable. On Solaris getexecname(3c) may not return an absolute
+ * path so we use dladdr to get the filename of the executable and
+ * then use realpath to derive an absolute path. From Solaris 9
+ * onwards the filename returned in DL_info structure from dladdr is
+ * an absolute pathname so technically realpath isn't required.
+ * On Linux we read the executable name from /proc/self/exe.
+ * As a fallback, and for platforms other than Solaris and Linux,
+ * we use FindExecName to compute the executable name.
+ */
+const char*
+SetExecname(char **argv)
+{
+    char* exec_path = NULL;
+    {
+        Dl_info dlinfo;
+
+#ifdef STATIC_BUILD
+        void *fptr;
+        fptr = (void *)&SetExecname;
+#else
+        int (*fptr)();
+        fptr = (int (*)())dlsym(RTLD_DEFAULT, "main");
+#endif
+        if (fptr == NULL) {
+            JLI_ReportErrorMessage(DLL_ERROR3, dlerror());
+            return JNI_FALSE;
+        }
+
+        if (dladdr((void*)fptr, &dlinfo)) {
+            char *resolved = (char*)JLI_MemAlloc(PATH_MAX+1);
+            if (resolved != NULL) {
+                exec_path = realpath(dlinfo.dli_fname, resolved);
+                if (exec_path == NULL) {
+                    JLI_MemFree(resolved);
+                }
+            }
+        }
+    }
+    if (exec_path == NULL) {
+        exec_path = FindExecName(argv[0]);
+    }
+    execname = exec_path;
+    return exec_path;
+}
+
+/*
+ * BSD's implementation of CounterGet()
+ */
+int64_t
+CounterGet()
+{
+    struct timeval tv;
+    gettimeofday(&tv, NULL);
+    return (tv.tv_sec * 1000) + tv.tv_usec;
+}
+
+
+/* --- Splash Screen shared library support --- */
+
+static JavaVM* SetJavaVMValue()
+{
+    JavaVM * jvm = NULL;
+
+    // The handle is good for both the launcher and the libosxapp.dylib
+    void * handle = dlopen(NULL, RTLD_LAZY | RTLD_GLOBAL);
+    if (handle) {
+        typedef JavaVM* (*JLI_GetJavaVMInstance_t)();
+
+        JLI_GetJavaVMInstance_t JLI_GetJavaVMInstance =
+            (JLI_GetJavaVMInstance_t)dlsym(handle,
+                    "JLI_GetJavaVMInstance");
+        if (JLI_GetJavaVMInstance) {
+            jvm = JLI_GetJavaVMInstance();
+        }
+
+        if (jvm) {
+            typedef void (*OSXAPP_SetJavaVM_t)(JavaVM*);
+
+            OSXAPP_SetJavaVM_t OSXAPP_SetJavaVM =
+                (OSXAPP_SetJavaVM_t)dlsym(handle, "OSXAPP_SetJavaVM");
+            if (OSXAPP_SetJavaVM) {
+                OSXAPP_SetJavaVM(jvm);
+            } else {
+                jvm = NULL;
+            }
+        }
+
+        dlclose(handle);
+    }
+
+    return jvm;
+}
+
+static const char* SPLASHSCREEN_SO = JNI_LIB_NAME("splashscreen");
+
+static void* hSplashLib = NULL;
+
+void* SplashProcAddress(const char* name) {
+    if (!hSplashLib) {
+        char jrePath[PATH_MAX];
+        if (!GetJREPath(jrePath, sizeof(jrePath), JNI_FALSE)) {
+            JLI_ReportErrorMessage(JRE_ERROR1);
+            return NULL;
+        }
+
+        char splashPath[PATH_MAX];
+        const int ret = JLI_Snprintf(splashPath, sizeof(splashPath),
+                "%s/lib/%s", jrePath, SPLASHSCREEN_SO);
+        if (ret >= (int)sizeof(splashPath)) {
+            JLI_ReportErrorMessage(JRE_ERROR11);
+            return NULL;
+        }
+        if (ret < 0) {
+            JLI_ReportErrorMessage(JRE_ERROR13);
+            return NULL;
+        }
+
+        hSplashLib = dlopen(splashPath, RTLD_LAZY | RTLD_GLOBAL);
+        // It's OK if dlopen() fails. The splash screen library binary file
+        // might have been stripped out from the JRE image to reduce its size
+        // (e.g. on embedded platforms).
+
+        if (hSplashLib) {
+            if (!SetJavaVMValue()) {
+                dlclose(hSplashLib);
+                hSplashLib = NULL;
+            }
+        }
+    }
+    if (hSplashLib) {
+        void* sym = dlsym(hSplashLib, name);
+        return sym;
+    } else {
+        return NULL;
+    }
+}
+
+void SplashFreeLibrary() {
+    if (hSplashLib) {
+        dlclose(hSplashLib);
+        hSplashLib = NULL;
+    }
+}
+
+/*
+ * Block current thread and continue execution in a new thread
+ */
+int
+ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) {
+    int rslt;
+    pthread_t tid;
+    pthread_attr_t attr;
+    pthread_attr_init(&attr);
+    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
+
+    if (stack_size > 0) {
+      pthread_attr_setstacksize(&attr, stack_size);
+    }
+    pthread_attr_setguardsize(&attr, 0); // no pthread guard page on java threads
+
+    if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) {
+      void * tmp;
+      pthread_join(tid, &tmp);
+      rslt = (int)(intptr_t)tmp;
+    } else {
+     /*
+      * Continue execution in current thread if for some reason (e.g. out of
+      * memory/LWP)  a new thread can't be created. This will likely fail
+      * later in continuation as JNI_CreateJavaVM needs to create quite a
+      * few new threads, anyway, just give it a try..
+      */
+      rslt = continuation(args);
+    }
+
+    pthread_attr_destroy(&attr);
+    return rslt;
+}
+
+void SetJavaLauncherPlatformProps() {
+   /* Linux only */
+}
+
+static JavaVM* jvmInstance = NULL;
+static jboolean sameThread = JNI_FALSE; /* start VM in current thread */
+
+/*
+ * Note there is a callback on this function from the splashscreen logic,
+ * this as well SetJavaVMValue() needs to be simplified.
+ */
+JavaVM*
+JLI_GetJavaVMInstance()
+{
+    return jvmInstance;
+}
+
+void
+RegisterThread()
+{
+    // stubbed out for windows and *nixes.
+}
+
+static void
+SetXDockArgForAWT(const char *arg)
+{
+    char envVar[80];
+    if (strstr(arg, "-Xdock:name=") == arg) {
+        /*
+         * The APP_NAME_<pid> environment variable is used to pass
+         * an application name as specified with the -Xdock:name command
+         * line option from Java launcher code to the AWT code in order
+         * to assign this name to the app's dock tile on the Mac.
+         * The _<pid> part is added to avoid collisions with child processes.
+         *
+         * WARNING: This environment variable is an implementation detail and
+         * isn't meant for use outside of the core platform. The mechanism for
+         * passing this information from Java launcher to other modules may
+         * change drastically between update release, and it may even be
+         * removed or replaced with another mechanism.
+         *
+         * NOTE: It is used by SWT, and JavaFX.
+         */
+        snprintf(envVar, sizeof(envVar), "APP_NAME_%d", getpid());
+        setenv(envVar, (arg + 12), 1);
+    }
+
+    if (strstr(arg, "-Xdock:icon=") == arg) {
+        /*
+         * The APP_ICON_<pid> environment variable is used to pass
+         * an application icon as specified with the -Xdock:icon command
+         * line option from Java launcher code to the AWT code in order
+         * to assign this icon to the app's dock tile on the Mac.
+         * The _<pid> part is added to avoid collisions with child processes.
+         *
+         * WARNING: This environment variable is an implementation detail and
+         * isn't meant for use outside of the core platform. The mechanism for
+         * passing this information from Java launcher to other modules may
+         * change drastically between update release, and it may even be
+         * removed or replaced with another mechanism.
+         *
+         * NOTE: It is used by SWT, and JavaFX.
+         */
+        snprintf(envVar, sizeof(envVar), "APP_ICON_%d", getpid());
+        setenv(envVar, (arg + 12), 1);
+    }
+}
+
+static void
+SetMainClassForAWT(JNIEnv *env, jclass mainClass) {
+    jclass classClass = NULL;
+    NULL_CHECK(classClass = FindBootStrapClass(env, "java/lang/Class"));
+
+    jmethodID getCanonicalNameMID = NULL;
+    NULL_CHECK(getCanonicalNameMID = (*env)->GetMethodID(env, classClass, "getCanonicalName", "()Ljava/lang/String;"));
+
+    jstring mainClassString = (*env)->CallObjectMethod(env, mainClass, getCanonicalNameMID);
+    if ((*env)->ExceptionCheck(env)) {
+        /*
+         * Clears all errors caused by getCanonicalName() on the mainclass and
+         * leaves the JAVA_MAIN_CLASS__<pid> empty.
+         */
+        (*env)->ExceptionClear(env);
+        return;
+    }
+
+    const char *mainClassName = NULL;
+    NULL_CHECK(mainClassName = (*env)->GetStringUTFChars(env, mainClassString, NULL));
+
+    char envVar[80];
+    /*
+     * The JAVA_MAIN_CLASS_<pid> environment variable is used to pass
+     * the name of a Java class whose main() method is invoked by
+     * the Java launcher code to start the application, to the AWT code
+     * in order to assign the name to the Apple menu bar when the app
+     * is active on the Mac.
+     * The _<pid> part is added to avoid collisions with child processes.
+     *
+     * WARNING: This environment variable is an implementation detail and
+     * isn't meant for use outside of the core platform. The mechanism for
+     * passing this information from Java launcher to other modules may
+     * change drastically between update release, and it may even be
+     * removed or replaced with another mechanism.
+     *
+     * NOTE: It is used by SWT, and JavaFX.
+     */
+    snprintf(envVar, sizeof(envVar), "JAVA_MAIN_CLASS_%d", getpid());
+    setenv(envVar, mainClassName, 1);
+
+    (*env)->ReleaseStringUTFChars(env, mainClassString, mainClassName);
+}
+
+void
+SetXStartOnFirstThreadArg()
+{
+    // XXX: BEGIN HACK
+    // short circuit hack for <https://bugs.eclipse.org/bugs/show_bug.cgi?id=211625>
+    // need a way to get AWT/Swing apps launched when spawned from Eclipse,
+    // which currently has no UI to not pass the -XstartOnFirstThread option
+    if (getenv("HACK_IGNORE_START_ON_FIRST_THREAD") != NULL) return;
+    // XXX: END HACK
+
+    sameThread = JNI_TRUE;
+    // Set a variable that tells us we started on the main thread.
+    // This is used by the AWT during startup. (See LWCToolkit.m)
+    char envVar[80];
+    snprintf(envVar, sizeof(envVar), "JAVA_STARTED_ON_FIRST_THREAD_%d", getpid());
+    setenv(envVar, "1", 1);
+}
+
+// MacOSX we may continue in the same thread
+int
+JVMInit(InvocationFunctions* ifn, jlong threadStackSize,
+                 int argc, char **argv,
+                 int mode, char *what, int ret) {
+    if (sameThread) {
+        JLI_TraceLauncher("In same thread\n");
+        // need to block this thread against the main thread
+        // so signals get caught correctly
+        __block int rslt = 0;
+        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+        {
+            NSBlockOperation *op = [NSBlockOperation blockOperationWithBlock: ^{
+                JavaMainArgs args;
+                args.argc = argc;
+                args.argv = argv;
+                args.mode = mode;
+                args.what = what;
+                args.ifn  = *ifn;
+                rslt = JavaMain(&args);
+            }];
+
+            /*
+             * We cannot use dispatch_sync here, because it blocks the main dispatch queue.
+             * Using the main NSRunLoop allows the dispatch queue to run properly once
+             * SWT (or whatever toolkit this is needed for) kicks off it's own NSRunLoop
+             * and starts running.
+             */
+            [op performSelectorOnMainThread:@selector(start) withObject:nil waitUntilDone:YES];
+        }
+        [pool drain];
+        return rslt;
+    } else {
+        return ContinueInNewThread(ifn, threadStackSize, argc, argv, mode, what, ret);
+    }
+}
+
+/*
+ * Note the jvmInstance must be initialized first before entering into
+ * ShowSplashScreen, as there is a callback into the JLI_GetJavaVMInstance.
+ */
+void PostJVMInit(JNIEnv *env, jclass mainClass, JavaVM *vm) {
+    jvmInstance = vm;
+    SetMainClassForAWT(env, mainClass);
+    CHECK_EXCEPTION_RETURN();
+    ShowSplashScreen();
+}
+
+jboolean
+ProcessPlatformOption(const char* arg)
+{
+    if (JLI_StrCmp(arg, "-XstartOnFirstThread") == 0) {
+       SetXStartOnFirstThreadArg();
+       return JNI_TRUE;
+    } else if (JLI_StrCCmp(arg, "-Xdock:") == 0) {
+       SetXDockArgForAWT(arg);
+       return JNI_TRUE;
+    }
+    // arguments we know not
+    return JNI_FALSE;
+}
--- a/src/java.base/share/classes/java/lang/ClassNotFoundException.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/java/lang/ClassNotFoundException.java	Mon Sep 24 10:59:26 2018 -0700
@@ -25,6 +25,11 @@
 
 package java.lang;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectStreamField;
+
 /**
  * Thrown when an application tries to load in a class through its
  * string name using:
@@ -57,15 +62,6 @@
      private static final long serialVersionUID = 9176873029745254542L;
 
     /**
-     * This field holds the exception ex if the
-     * ClassNotFoundException(String s, Throwable ex) constructor was
-     * used to instantiate the object
-     * @serial
-     * @since 1.2
-     */
-    private Throwable ex;
-
-    /**
      * Constructs a <code>ClassNotFoundException</code> with no detail message.
      */
     public ClassNotFoundException() {
@@ -92,8 +88,7 @@
      * @since 1.2
      */
     public ClassNotFoundException(String s, Throwable ex) {
-        super(s, null);  //  Disallow initCause
-        this.ex = ex;
+        super(s, ex);  //  Disallow initCause
     }
 
     /**
@@ -108,18 +103,42 @@
      * @since 1.2
      */
     public Throwable getException() {
-        return ex;
+        return super.getCause();
     }
 
     /**
-     * Returns the cause of this exception (the exception that was raised
-     * if an error occurred while attempting to load the class; otherwise
-     * {@code null}).
+     * Serializable fields for ClassNotFoundException.
+     *
+     * @serialField ex Throwable
+     */
+    private static final ObjectStreamField[] serialPersistentFields = {
+        new ObjectStreamField("ex", Throwable.class)
+    };
+
+    /*
+     * Reconstitutes the ClassNotFoundException instance from a stream
+     * and initialize the cause properly when deserializing from an older
+     * version.
      *
-     * @return  the cause of this exception.
-     * @since   1.4
+     * The getException and getCause method returns the private "ex" field
+     * in the older implementation and ClassNotFoundException::cause
+     * was set to null.
      */
-    public Throwable getCause() {
-        return ex;
+    private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException {
+        ObjectInputStream.GetField fields = s.readFields();
+        Throwable exception = (Throwable) fields.get("ex", null);
+        if (exception != null) {
+            setCause(exception);
+        }
+    }
+
+    /*
+     * To maintain compatibility with older implementation, write a serial
+     * "ex" field with the cause as the value.
+     */
+    private void writeObject(ObjectOutputStream out) throws IOException {
+        ObjectOutputStream.PutField fields = out.putFields();
+        fields.put("ex", super.getCause());
+        out.writeFields();
     }
 }
--- a/src/java.base/share/classes/java/lang/ExceptionInInitializerError.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/java/lang/ExceptionInInitializerError.java	Mon Sep 24 10:59:26 2018 -0700
@@ -25,6 +25,11 @@
 
 package java.lang;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectStreamField;
+
 /**
  * Signals that an unexpected exception has occurred in a static initializer.
  * An <code>ExceptionInInitializerError</code> is thrown to indicate that an
@@ -48,23 +53,13 @@
     private static final long serialVersionUID = 1521711792217232256L;
 
     /**
-     * This field holds the exception if the
-     * ExceptionInInitializerError(Throwable thrown) constructor was
-     * used to instantiate the object
-     *
-     * @serial
-     *
-     */
-    private Throwable exception;
-
-    /**
      * Constructs an <code>ExceptionInInitializerError</code> with
      * <code>null</code> as its detail message string and with no saved
      * throwable object.
      * A detail message is a String that describes this particular exception.
      */
     public ExceptionInInitializerError() {
-        initCause(null);  // Disallow subsequent initCause
+        initCause(null); // Disallow subsequent initCause
     }
 
     /**
@@ -76,23 +71,20 @@
      * @param thrown The exception thrown
      */
     public ExceptionInInitializerError(Throwable thrown) {
-        initCause(null);  // Disallow subsequent initCause
-        this.exception = thrown;
+        super(null, thrown); // Disallow subsequent initCause
     }
 
     /**
-     * Constructs an ExceptionInInitializerError with the specified detail
+     * Constructs an {@code ExceptionInInitializerError} with the specified detail
      * message string.  A detail message is a String that describes this
      * particular exception. The detail message string is saved for later
      * retrieval by the {@link Throwable#getMessage()} method. There is no
      * saved throwable object.
      *
-     *
      * @param s the detail message
      */
     public ExceptionInInitializerError(String s) {
-        super(s);
-        initCause(null);  // Disallow subsequent initCause
+        super(s, null);  // Disallow subsequent initCause
     }
 
     /**
@@ -109,18 +101,43 @@
      *         throwable object.
      */
     public Throwable getException() {
-        return exception;
+        return super.getCause();
     }
 
     /**
-     * Returns the cause of this error (the exception that occurred
-     * during a static initialization that caused this error to be created).
+     * Serializable fields for ExceptionInInitializerError.
+     *
+     * @serialField exception Throwable
+     */
+    private static final ObjectStreamField[] serialPersistentFields = {
+        new ObjectStreamField("exception", Throwable.class)
+    };
+
+    /*
+     * Reconstitutes the ExceptionInInitializerError instance from a stream
+     * and initialize the cause properly when deserializing from an older
+     * version.
      *
-     * @return  the cause of this error or <code>null</code> if the
-     *          cause is nonexistent or unknown.
-     * @since   1.4
+     * The getException and getCause method returns the private "exception"
+     * field in the older implementation and ExceptionInInitializerError::cause
+     * was set to null.
      */
-    public Throwable getCause() {
-        return exception;
+    private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException {
+        ObjectInputStream.GetField fields = s.readFields();
+        Throwable exception = (Throwable) fields.get("exception", null);
+        if (exception != null) {
+            setCause(exception);
+        }
     }
+
+    /*
+     * To maintain compatibility with older implementation, write a serial
+     * "exception" field with the cause as the value.
+     */
+    private void writeObject(ObjectOutputStream out) throws IOException {
+        ObjectOutputStream.PutField fields = out.putFields();
+        fields.put("exception", super.getCause());
+        out.writeFields();
+    }
+
 }
--- a/src/java.base/share/classes/java/lang/System.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/java/lang/System.java	Mon Sep 24 10:59:26 2018 -0700
@@ -2201,6 +2201,9 @@
                 return StringCoding.getBytesUTF8NoRepl(s);
             }
 
+            public void setCause(Throwable t, Throwable cause) {
+                t.setCause(cause);
+            }
         });
     }
 }
--- a/src/java.base/share/classes/java/lang/Throwable.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/java/lang/Throwable.java	Mon Sep 24 10:59:26 2018 -0700
@@ -466,6 +466,16 @@
         return this;
     }
 
+    /*
+     * This is called by readObject of a few exceptions such as
+     * ClassNotFoundException and ExceptionInInitializerError to deserialize
+     * a stream output from an older runtime version where the cause may
+     * have set to null.
+     */
+    final void setCause(Throwable t) {
+        this.cause = t;
+    }
+
     /**
      * Returns a short description of this throwable.
      * The result is the concatenation of:
--- a/src/java.base/share/classes/java/lang/invoke/MethodHandles.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/java/lang/invoke/MethodHandles.java	Mon Sep 24 10:59:26 2018 -0700
@@ -54,6 +54,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Objects;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -643,6 +644,10 @@
         /** The allowed sorts of members which may be looked up (PUBLIC, etc.). */
         private final int allowedModes;
 
+        static {
+            Reflection.registerFieldsToFilter(Lookup.class, Set.of("lookupClass", "allowedModes"));
+        }
+
         /** A single-bit mask representing {@code public} access,
          *  which may contribute to the result of {@link #lookupModes lookupModes}.
          *  The value, {@code 0x01}, happens to be the same as the value of the
--- a/src/java.base/share/classes/java/lang/reflect/UndeclaredThrowableException.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/java/lang/reflect/UndeclaredThrowableException.java	Mon Sep 24 10:59:26 2018 -0700
@@ -25,6 +25,12 @@
 
 package java.lang.reflect;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectStreamField;
+import jdk.internal.misc.SharedSecrets;
+
 /**
  * Thrown by a method invocation on a proxy instance if its invocation
  * handler's {@link InvocationHandler#invoke invoke} method throws a
@@ -59,12 +65,6 @@
     static final long serialVersionUID = 330127114055056639L;
 
     /**
-     * the undeclared checked exception that was thrown
-     * @serial
-     */
-    private Throwable undeclaredThrowable;
-
-    /**
      * Constructs an {@code UndeclaredThrowableException} with the
      * specified {@code Throwable}.
      *
@@ -72,8 +72,7 @@
      *          that was thrown
      */
     public UndeclaredThrowableException(Throwable undeclaredThrowable) {
-        super((Throwable) null);  // Disallow initCause
-        this.undeclaredThrowable = undeclaredThrowable;
+        super(null, undeclaredThrowable);  // Disallow initCause
     }
 
     /**
@@ -87,8 +86,7 @@
     public UndeclaredThrowableException(Throwable undeclaredThrowable,
                                         String s)
     {
-        super(s, null);  // Disallow initCause
-        this.undeclaredThrowable = undeclaredThrowable;
+        super(s, undeclaredThrowable);  // Disallow initCause
     }
 
     /**
@@ -102,18 +100,38 @@
      * @return the undeclared checked exception that was thrown
      */
     public Throwable getUndeclaredThrowable() {
-        return undeclaredThrowable;
+        return super.getCause();
     }
 
     /**
-     * Returns the cause of this exception (the {@code Throwable}
-     * instance wrapped in this {@code UndeclaredThrowableException},
-     * which may be {@code null}).
+     * Serializable fields for UndeclaredThrowableException.
      *
-     * @return  the cause of this exception.
-     * @since   1.4
+     * @serialField undeclaredThrowable Throwable
+     */
+    private static final ObjectStreamField[] serialPersistentFields = {
+        new ObjectStreamField("undeclaredThrowable", Throwable.class)
+    };
+
+    /*
+     * Reconstitutes the UndeclaredThrowableException instance from a stream
+     * and initialize the cause properly when deserializing from an older
+     * version.
      */
-    public Throwable getCause() {
-        return undeclaredThrowable;
+    private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException {
+        ObjectInputStream.GetField fields = s.readFields();
+        Throwable exception = (Throwable) fields.get("undeclaredThrowable", null);
+        if (exception != null) {
+            SharedSecrets.getJavaLangAccess().setCause(this, exception);
+        }
+    }
+
+    /*
+     * To maintain compatibility with older implementation, write a serial
+     * "ex" field with the cause as the value.
+     */
+    private void writeObject(ObjectOutputStream out) throws IOException {
+        ObjectOutputStream.PutField fields = out.putFields();
+        fields.put("undeclaredThrowable", super.getCause());
+        out.writeFields();
     }
 }
--- a/src/java.base/share/classes/java/nio/file/attribute/package-info.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/java/nio/file/attribute/package-info.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -93,7 +93,7 @@
  * <p> The {@link java.nio.file.attribute.DosFileAttributeView}
  * class extends {@code BasicFileAttributeView} by defining methods to
  * access the legacy "DOS" file attributes supported on file systems such as File
- * Allocation Tabl (FAT), commonly used in consumer devices.
+ * Allocation Table (FAT), commonly used in consumer devices.
  *
  * <p> The {@link java.nio.file.attribute.AclFileAttributeView}
  * class defines methods to read and write the Access Control List (ACL)
--- a/src/java.base/share/classes/java/security/PrivilegedActionException.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/java/security/PrivilegedActionException.java	Mon Sep 24 10:59:26 2018 -0700
@@ -25,6 +25,12 @@
 
 package java.security;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectStreamField;
+import jdk.internal.misc.SharedSecrets;
+
 /**
  * This exception is thrown by
  * {@code doPrivileged(PrivilegedExceptionAction)} and
@@ -53,19 +59,13 @@
     private static final long serialVersionUID = 4724086851538908602L;
 
     /**
-     * @serial
-     */
-    private Exception exception;
-
-    /**
      * Constructs a new PrivilegedActionException &quot;wrapping&quot;
      * the specific Exception.
      *
      * @param exception The exception thrown
      */
     public PrivilegedActionException(Exception exception) {
-        super((Throwable)null);  // Disallow initCause
-        this.exception = exception;
+        super(null, exception);  // Disallow initCause
     }
 
     /**
@@ -84,23 +84,49 @@
      *                                            AccessControlContext)
      */
     public Exception getException() {
-        return exception;
-    }
-
-    /**
-     * Returns the cause of this exception (the exception thrown by
-     * the privileged computation that resulted in this
-     * {@code PrivilegedActionException}).
-     *
-     * @return  the cause of this exception.
-     * @since   1.4
-     */
-    public Throwable getCause() {
-        return exception;
+        return (Exception)super.getCause();
     }
 
     public String toString() {
         String s = getClass().getName();
-        return (exception != null) ? (s + ": " + exception.toString()) : s;
+        Throwable cause = super.getCause();
+        return (cause != null) ? (s + ": " + cause.toString()) : s;
+    }
+
+
+    /**
+     * Serializable fields for UndeclaredThrowableException.
+     *
+     * @serialField undeclaredThrowable Throwable
+     */
+    private static final ObjectStreamField[] serialPersistentFields = {
+        new ObjectStreamField("exception", Exception.class)
+    };
+
+    /*
+     * Reconstitutes the PrivilegedActionException instance from a stream
+     * and initialize the cause properly when deserializing from an older
+     * version.
+     *
+     * The getException and getCause method returns the private "exception"
+     * field in the older implementation and PrivilegedActionException::cause
+     * was set to null.
+     */
+    private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException {
+        ObjectInputStream.GetField fields = s.readFields();
+        Exception exception = (Exception) fields.get("exception", null);
+        if (exception != null) {
+            SharedSecrets.getJavaLangAccess().setCause(this, exception);
+        }
+    }
+
+    /*
+     * To maintain compatibility with older implementation, write a serial
+     * "exception" field with the cause as the value.
+     */
+    private void writeObject(ObjectOutputStream out) throws IOException {
+        ObjectOutputStream.PutField fields = out.putFields();
+        fields.put("exception", super.getCause());
+        out.writeFields();
     }
 }
--- a/src/java.base/share/classes/javax/net/ssl/SSLServerSocketFactory.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/javax/net/ssl/SSLServerSocketFactory.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, 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
@@ -112,7 +112,7 @@
 
         try {
             return SSLContext.getDefault().getServerSocketFactory();
-        } catch (NoSuchAlgorithmException e) {
+        } catch (NoSuchAlgorithmException | UnsupportedOperationException e) {
             return new DefaultSSLServerSocketFactory(e);
         }
     }
--- a/src/java.base/share/classes/javax/net/ssl/SSLSocketFactory.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/javax/net/ssl/SSLSocketFactory.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, 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
@@ -121,7 +121,7 @@
 
         try {
             return SSLContext.getDefault().getSocketFactory();
-        } catch (NoSuchAlgorithmException e) {
+        } catch (NoSuchAlgorithmException | UnsupportedOperationException e) {
             return new DefaultSSLSocketFactory(e);
         }
     }
--- a/src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java	Mon Sep 24 10:59:26 2018 -0700
@@ -305,4 +305,10 @@
      * @throws IllegalArgumentException for malformed surrogates
      */
     byte[] getBytesUTF8NoRepl(String s);
+
+    /**
+     * Set the cause of Throwable
+     * @param cause set t's cause to new value
+     */
+    void setCause(Throwable t, Throwable cause);
 }
--- a/src/java.base/share/classes/jdk/internal/reflect/ConstantPool.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/jdk/internal/reflect/ConstantPool.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, 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
@@ -26,6 +26,7 @@
 package jdk.internal.reflect;
 
 import java.lang.reflect.*;
+import java.util.Set;
 
 /** Provides reflective access to the constant pools of classes.
     Currently this is needed to provide reflective access to annotations
@@ -104,7 +105,7 @@
   //
 
   static {
-      Reflection.registerFieldsToFilter(ConstantPool.class, new String[] { "constantPoolOop" });
+      Reflection.registerFieldsToFilter(ConstantPool.class, Set.of("constantPoolOop"));
   }
 
   // HotSpot-internal constant pool object (set by the VM, name known to the VM)
--- a/src/java.base/share/classes/jdk/internal/reflect/Reflection.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/jdk/internal/reflect/Reflection.java	Mon Sep 24 10:59:26 2018 -0700
@@ -25,13 +25,12 @@
 
 package jdk.internal.reflect;
 
-
 import java.lang.reflect.*;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 import jdk.internal.HotSpotIntrinsicCandidate;
-import jdk.internal.loader.ClassLoaders;
 import jdk.internal.misc.VM;
 
 /** Common utility routines used by both java.lang and
@@ -43,18 +42,23 @@
         view, where they are sensitive or they may contain VM-internal objects.
         These Maps are updated very rarely. Rather than synchronize on
         each access, we use copy-on-write */
-    private static volatile Map<Class<?>,String[]> fieldFilterMap;
-    private static volatile Map<Class<?>,String[]> methodFilterMap;
+    private static volatile Map<Class<?>, Set<String>> fieldFilterMap;
+    private static volatile Map<Class<?>, Set<String>> methodFilterMap;
+    private static final String WILDCARD = "*";
+    public static final Set<String> ALL_MEMBERS = Set.of(WILDCARD);
 
     static {
-        Map<Class<?>,String[]> map = new HashMap<Class<?>,String[]>();
-        map.put(Reflection.class,
-            new String[] {"fieldFilterMap", "methodFilterMap"});
-        map.put(System.class, new String[] {"security"});
-        map.put(Class.class, new String[] {"classLoader"});
-        fieldFilterMap = map;
-
-        methodFilterMap = new HashMap<>();
+        fieldFilterMap = Map.of(
+            Reflection.class, ALL_MEMBERS,
+            AccessibleObject.class, ALL_MEMBERS,
+            Class.class, Set.of("classLoader"),
+            ClassLoader.class, ALL_MEMBERS,
+            Constructor.class, ALL_MEMBERS,
+            Field.class, ALL_MEMBERS,
+            Method.class, ALL_MEMBERS,
+            System.class, Set.of("security")
+        );
+        methodFilterMap = Map.of();
     }
 
     /** Returns the class of the caller of the method calling this method,
@@ -236,31 +240,31 @@
 
     // fieldNames must contain only interned Strings
     public static synchronized void registerFieldsToFilter(Class<?> containingClass,
-                                              String ... fieldNames) {
+                                                           Set<String> fieldNames) {
         fieldFilterMap =
             registerFilter(fieldFilterMap, containingClass, fieldNames);
     }
 
     // methodNames must contain only interned Strings
     public static synchronized void registerMethodsToFilter(Class<?> containingClass,
-                                              String ... methodNames) {
+                                                            Set<String> methodNames) {
         methodFilterMap =
             registerFilter(methodFilterMap, containingClass, methodNames);
     }
 
-    private static Map<Class<?>,String[]> registerFilter(Map<Class<?>,String[]> map,
-            Class<?> containingClass, String ... names) {
+    private static Map<Class<?>, Set<String>> registerFilter(Map<Class<?>, Set<String>> map,
+                                                             Class<?> containingClass,
+                                                             Set<String> names) {
         if (map.get(containingClass) != null) {
             throw new IllegalArgumentException
                             ("Filter already registered: " + containingClass);
         }
-        map = new HashMap<Class<?>,String[]>(map);
-        map.put(containingClass, names);
+        map = new HashMap<>(map);
+        map.put(containingClass, Set.copyOf(names));
         return map;
     }
 
-    public static Field[] filterFields(Class<?> containingClass,
-                                       Field[] fields) {
+    public static Field[] filterFields(Class<?> containingClass, Field[] fields) {
         if (fieldFilterMap == null) {
             // Bootstrapping
             return fields;
@@ -276,35 +280,24 @@
         return (Method[])filter(methods, methodFilterMap.get(containingClass));
     }
 
-    private static Member[] filter(Member[] members, String[] filteredNames) {
+    private static Member[] filter(Member[] members, Set<String> filteredNames) {
         if ((filteredNames == null) || (members.length == 0)) {
             return members;
         }
+        Class<?> memberType = members[0].getClass();
+        if (filteredNames.contains(WILDCARD)) {
+            return (Member[]) Array.newInstance(memberType, 0);
+        }
         int numNewMembers = 0;
         for (Member member : members) {
-            boolean shouldSkip = false;
-            for (String filteredName : filteredNames) {
-                if (member.getName() == filteredName) {
-                    shouldSkip = true;
-                    break;
-                }
-            }
-            if (!shouldSkip) {
+            if (!filteredNames.contains(member.getName())) {
                 ++numNewMembers;
             }
         }
-        Member[] newMembers =
-            (Member[])Array.newInstance(members[0].getClass(), numNewMembers);
+        Member[] newMembers = (Member[])Array.newInstance(memberType, numNewMembers);
         int destIdx = 0;
         for (Member member : members) {
-            boolean shouldSkip = false;
-            for (String filteredName : filteredNames) {
-                if (member.getName() == filteredName) {
-                    shouldSkip = true;
-                    break;
-                }
-            }
-            if (!shouldSkip) {
+            if (!filteredNames.contains(member.getName())) {
                 newMembers[destIdx++] = member;
             }
         }
--- a/src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticFieldAccessorImpl.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticFieldAccessorImpl.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, 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
@@ -28,6 +28,8 @@
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 import java.security.AccessController;
+import java.util.Set;
+
 import jdk.internal.misc.Unsafe;
 
 /** Base class for jdk.internal.misc.Unsafe-based FieldAccessors for static
@@ -40,7 +42,7 @@
 abstract class UnsafeStaticFieldAccessorImpl extends UnsafeFieldAccessorImpl {
     static {
         Reflection.registerFieldsToFilter(UnsafeStaticFieldAccessorImpl.class,
-                                          new String[] { "base" });
+                                          Set.of("base"));
     }
 
     protected final Object base; // base
--- a/src/java.base/share/classes/sun/security/ssl/CipherSuite.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/CipherSuite.java	Mon Sep 24 10:59:26 2018 -0700
@@ -70,6 +70,9 @@
     TLS_AES_256_GCM_SHA384(
             0x1302, true, "TLS_AES_256_GCM_SHA384",
             ProtocolVersion.PROTOCOLS_OF_13, B_AES_256_GCM_IV, H_SHA384),
+    TLS_CHACHA20_POLY1305_SHA256(
+            0x1303, true, "TLS_CHACHA20_POLY1305_SHA256",
+            ProtocolVersion.PROTOCOLS_OF_13, B_CC20_P1305, H_SHA256),
 
     // Suite B compliant cipher suites, see RFC 6460.
     //
@@ -87,11 +90,22 @@
             ProtocolVersion.PROTOCOLS_OF_12,
             K_ECDHE_ECDSA, B_AES_128_GCM, M_NULL, H_SHA256),
 
+    // Not suite B, but we want it to position the suite early in the list
+    // of 1.2 suites.
+    TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256(
+            0xCCA9, true, "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "",
+            ProtocolVersion.PROTOCOLS_OF_12,
+            K_ECDHE_ECDSA, B_CC20_P1305, M_NULL, H_SHA256),
+
     // AES_256(GCM)
     TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(
             0xC030, true, "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "",
             ProtocolVersion.PROTOCOLS_OF_12,
             K_ECDHE_RSA, B_AES_256_GCM, M_NULL, H_SHA384),
+    TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256(
+            0xCCA8, true, "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "",
+            ProtocolVersion.PROTOCOLS_OF_12,
+            K_ECDHE_RSA, B_CC20_P1305, M_NULL, H_SHA256),
     TLS_RSA_WITH_AES_256_GCM_SHA384(
             0x009D, true, "TLS_RSA_WITH_AES_256_GCM_SHA384", "",
             ProtocolVersion.PROTOCOLS_OF_12,
@@ -108,6 +122,10 @@
             0x009F, true, "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", "",
             ProtocolVersion.PROTOCOLS_OF_12,
             K_DHE_RSA, B_AES_256_GCM, M_NULL, H_SHA384),
+    TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256(
+            0xCCAA, true, "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "",
+            ProtocolVersion.PROTOCOLS_OF_12,
+            K_DHE_RSA, B_CC20_P1305, M_NULL, H_SHA256),
     TLS_DHE_DSS_WITH_AES_256_GCM_SHA384(
             0x00A3, true, "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384", "",
             ProtocolVersion.PROTOCOLS_OF_12,
@@ -480,8 +498,6 @@
 
     // Definition of the CipherSuites that are not supported but the names
     // are known.
-    TLS_CHACHA20_POLY1305_SHA256(                    // TLS 1.3
-            "TLS_CHACHA20_POLY1305_SHA256", 0x1303),
     TLS_AES_128_CCM_SHA256(                          // TLS 1.3
             "TLS_AES_128_CCM_SHA256", 0x1304),
     TLS_AES_128_CCM_8_SHA256(                        // TLS 1.3
--- a/src/java.base/share/classes/sun/security/ssl/JsseJce.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/JsseJce.java	Mon Sep 24 10:59:26 2018 -0700
@@ -130,6 +130,11 @@
     static final String CIPHER_AES_GCM = "AES/GCM/NoPadding";
 
     /**
+     * JCE transformation string for ChaCha20-Poly1305
+     */
+    static final String CIPHER_CHACHA20_POLY1305 = "ChaCha20-Poly1305";
+
+    /**
      * JCA identifier string for DSA, i.e. a DSA with SHA-1.
      */
     static final String SIGNATURE_DSA = "DSA";
--- a/src/java.base/share/classes/sun/security/ssl/SSLCipher.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/SSLCipher.java	Mon Sep 24 10:59:26 2018 -0700
@@ -329,6 +329,32 @@
                 new T13GcmWriteCipherGenerator(),
                 ProtocolVersion.PROTOCOLS_OF_13
             )
+        })),
+
+    @SuppressWarnings({"unchecked", "rawtypes"})
+    B_CC20_P1305(CIPHER_CHACHA20_POLY1305, AEAD_CIPHER, 32, 32, 12,
+            12, true, false,
+        (Map.Entry<ReadCipherGenerator,
+                ProtocolVersion[]>[])(new Map.Entry[] {
+            new SimpleImmutableEntry<ReadCipherGenerator, ProtocolVersion[]>(
+                new T12CC20P1305ReadCipherGenerator(),
+                ProtocolVersion.PROTOCOLS_OF_12
+            ),
+            new SimpleImmutableEntry<ReadCipherGenerator, ProtocolVersion[]>(
+                new T13CC20P1305ReadCipherGenerator(),
+                ProtocolVersion.PROTOCOLS_OF_13
+            )
+        }),
+        (Map.Entry<WriteCipherGenerator,
+                ProtocolVersion[]>[])(new Map.Entry[] {
+            new SimpleImmutableEntry<WriteCipherGenerator, ProtocolVersion[]>(
+                new T12CC20P1305WriteCipherGenerator(),
+                ProtocolVersion.PROTOCOLS_OF_12
+            ),
+            new SimpleImmutableEntry<WriteCipherGenerator, ProtocolVersion[]>(
+                new T13CC20P1305WriteCipherGenerator(),
+                ProtocolVersion.PROTOCOLS_OF_13
+            )
         }));
 
     // descriptive name including key size, e.g. AES/128
@@ -2082,6 +2108,549 @@
         }
     }
 
+    private static final class T12CC20P1305ReadCipherGenerator
+            implements ReadCipherGenerator {
+
+        @Override
+        public SSLReadCipher createCipher(SSLCipher sslCipher,
+                Authenticator authenticator, ProtocolVersion protocolVersion,
+                String algorithm, Key key, AlgorithmParameterSpec params,
+                SecureRandom random) throws GeneralSecurityException {
+            return new CC20P1305ReadCipher(authenticator, protocolVersion,
+                    sslCipher, algorithm, key, params, random);
+        }
+
+        static final class CC20P1305ReadCipher extends SSLReadCipher {
+            private final Cipher cipher;
+            private final int tagSize;
+            private final Key key;
+            private final byte[] iv;
+            private final SecureRandom random;
+
+            CC20P1305ReadCipher(Authenticator authenticator,
+                    ProtocolVersion protocolVersion,
+                    SSLCipher sslCipher, String algorithm,
+                    Key key, AlgorithmParameterSpec params,
+                    SecureRandom random) throws GeneralSecurityException {
+                super(authenticator, protocolVersion);
+                this.cipher = JsseJce.getCipher(algorithm);
+                this.tagSize = sslCipher.tagSize;
+                this.key = key;
+                this.iv = ((IvParameterSpec)params).getIV();
+                this.random = random;
+
+                // DON'T initialize the cipher for AEAD!
+            }
+
+            @Override
+            public Plaintext decrypt(byte contentType, ByteBuffer bb,
+                    byte[] sequence) throws GeneralSecurityException {
+                if (bb.remaining() <= tagSize) {
+                    throw new BadPaddingException(
+                        "Insufficient buffer remaining for AEAD cipher " +
+                        "fragment (" + bb.remaining() + "). Needs to be " +
+                        "more than tag size (" + tagSize + ")");
+                }
+
+                byte[] sn = sequence;
+                if (sn == null) {
+                    sn = authenticator.sequenceNumber();
+                }
+                byte[] nonce = new byte[iv.length];
+                System.arraycopy(sn, 0, nonce, nonce.length - sn.length,
+                        sn.length);
+                for (int i = 0; i < nonce.length; i++) {
+                    nonce[i] ^= iv[i];
+                }
+
+                // initialize the AEAD cipher with the unique IV
+                AlgorithmParameterSpec spec = new IvParameterSpec(nonce);
+                try {
+                    cipher.init(Cipher.DECRYPT_MODE, key, spec, random);
+                } catch (InvalidKeyException |
+                            InvalidAlgorithmParameterException ikae) {
+                    // unlikely to happen
+                    throw new RuntimeException(
+                                "invalid key or spec in AEAD mode", ikae);
+                }
+
+                // update the additional authentication data
+                byte[] aad = authenticator.acquireAuthenticationBytes(
+                        contentType, bb.remaining() - tagSize, sequence);
+                cipher.updateAAD(aad);
+
+                // DON'T decrypt the nonce_explicit for AEAD mode. The buffer
+                // position has moved out of the nonce_explicit range.
+                int len = bb.remaining();
+                int pos = bb.position();
+                ByteBuffer dup = bb.duplicate();
+                try {
+                    len = cipher.doFinal(dup, bb);
+                } catch (IllegalBlockSizeException ibse) {
+                    // unlikely to happen
+                    throw new RuntimeException(
+                        "Cipher error in AEAD mode \"" + ibse.getMessage() +
+                        " \"in JCE provider " + cipher.getProvider().getName());
+                } catch (ShortBufferException sbe) {
+                    // catch BouncyCastle buffering error
+                    throw new RuntimeException("Cipher buffering error in " +
+                        "JCE provider " + cipher.getProvider().getName(), sbe);
+                }
+                // reset the limit to the end of the decrypted data
+                bb.position(pos);
+                bb.limit(pos + len);
+
+                if (SSLLogger.isOn && SSLLogger.isOn("plaintext")) {
+                    SSLLogger.fine(
+                            "Plaintext after DECRYPTION", bb.duplicate());
+                }
+
+                return new Plaintext(contentType,
+                        ProtocolVersion.NONE.major, ProtocolVersion.NONE.minor,
+                        -1, -1L, bb.slice());
+            }
+
+            @Override
+            void dispose() {
+                if (cipher != null) {
+                    try {
+                        cipher.doFinal();
+                    } catch (Exception e) {
+                        // swallow all types of exceptions.
+                    }
+                }
+            }
+
+            @Override
+            int estimateFragmentSize(int packetSize, int headerSize) {
+                return packetSize - headerSize - tagSize;
+            }
+        }
+    }
+
+    private static final class T12CC20P1305WriteCipherGenerator
+            implements WriteCipherGenerator {
+        @Override
+        public SSLWriteCipher createCipher(SSLCipher sslCipher,
+                Authenticator authenticator, ProtocolVersion protocolVersion,
+                String algorithm, Key key, AlgorithmParameterSpec params,
+                SecureRandom random) throws GeneralSecurityException {
+            return new CC20P1305WriteCipher(authenticator, protocolVersion,
+                    sslCipher, algorithm, key, params, random);
+        }
+
+        private static final class CC20P1305WriteCipher extends SSLWriteCipher {
+            private final Cipher cipher;
+            private final int tagSize;
+            private final Key key;
+            private final byte[] iv;
+            private final SecureRandom random;
+
+            CC20P1305WriteCipher(Authenticator authenticator,
+                    ProtocolVersion protocolVersion,
+                    SSLCipher sslCipher, String algorithm,
+                    Key key, AlgorithmParameterSpec params,
+                    SecureRandom random) throws GeneralSecurityException {
+                super(authenticator, protocolVersion);
+                this.cipher = JsseJce.getCipher(algorithm);
+                this.tagSize = sslCipher.tagSize;
+                this.key = key;
+                this.iv = ((IvParameterSpec)params).getIV();
+                this.random = random;
+
+                keyLimitCountdown = cipherLimits.getOrDefault(
+                        algorithm.toUpperCase() + ":" + tag[0], 0L);
+                if (SSLLogger.isOn && SSLLogger.isOn("ssl")) {
+                    SSLLogger.fine("algorithm = " + algorithm.toUpperCase() +
+                            ":" + tag[0] + "\ncountdown value = " +
+                            keyLimitCountdown);
+                }
+                if (keyLimitCountdown > 0) {
+                    keyLimitEnabled = true;
+                }
+
+                // DON'T initialize the cipher for AEAD!
+            }
+
+            @Override
+            public int encrypt(byte contentType,
+                    ByteBuffer bb) {
+                byte[] sn = authenticator.sequenceNumber();
+                byte[] nonce = new byte[iv.length];
+                System.arraycopy(sn, 0, nonce, nonce.length - sn.length,
+                        sn.length);
+                for (int i = 0; i < nonce.length; i++) {
+                    nonce[i] ^= iv[i];
+                }
+
+                // initialize the AEAD cipher for the unique IV
+                AlgorithmParameterSpec spec = new IvParameterSpec(nonce);
+                try {
+                    cipher.init(Cipher.ENCRYPT_MODE, key, spec, random);
+                } catch (InvalidKeyException |
+                            InvalidAlgorithmParameterException ikae) {
+                    // unlikely to happen
+                    throw new RuntimeException(
+                                "invalid key or spec in AEAD mode", ikae);
+                }
+
+                // Update the additional authentication data, using the
+                // implicit sequence number of the authenticator.
+                byte[] aad = authenticator.acquireAuthenticationBytes(
+                                        contentType, bb.remaining(), null);
+                cipher.updateAAD(aad);
+
+                // DON'T encrypt the nonce for AEAD mode.
+                int len = bb.remaining();
+                int pos = bb.position();
+                if (SSLLogger.isOn && SSLLogger.isOn("plaintext")) {
+                    SSLLogger.fine(
+                            "Plaintext before ENCRYPTION",
+                            bb.duplicate());
+                }
+
+                ByteBuffer dup = bb.duplicate();
+                int outputSize = cipher.getOutputSize(dup.remaining());
+                if (outputSize > bb.remaining()) {
+                    // Need to expand the limit of the output buffer for
+                    // the authentication tag.
+                    //
+                    // DON'T worry about the buffer's capacity, we have
+                    // reserved space for the authentication tag.
+                    bb.limit(pos + outputSize);
+                }
+
+                try {
+                    len = cipher.doFinal(dup, bb);
+                } catch (IllegalBlockSizeException |
+                            BadPaddingException | ShortBufferException ibse) {
+                    // unlikely to happen
+                    throw new RuntimeException(
+                            "Cipher error in AEAD mode in JCE provider " +
+                            cipher.getProvider().getName(), ibse);
+                }
+
+                if (len != outputSize) {
+                    throw new RuntimeException(
+                            "Cipher buffering error in JCE provider " +
+                            cipher.getProvider().getName());
+                }
+
+                return len;
+            }
+
+            @Override
+            void dispose() {
+                if (cipher != null) {
+                    try {
+                        cipher.doFinal();
+                    } catch (Exception e) {
+                        // swallow all types of exceptions.
+                    }
+                }
+            }
+
+            @Override
+            int getExplicitNonceSize() {
+                return 0;
+            }
+
+            @Override
+            int calculateFragmentSize(int packetLimit, int headerSize) {
+                return packetLimit - headerSize - tagSize;
+            }
+
+            @Override
+            int calculatePacketSize(int fragmentSize, int headerSize) {
+                return fragmentSize + headerSize + tagSize;
+            }
+        }
+    }
+
+    private static final class T13CC20P1305ReadCipherGenerator
+            implements ReadCipherGenerator {
+
+        @Override
+        public SSLReadCipher createCipher(SSLCipher sslCipher,
+                Authenticator authenticator, ProtocolVersion protocolVersion,
+                String algorithm, Key key, AlgorithmParameterSpec params,
+                SecureRandom random) throws GeneralSecurityException {
+            return new CC20P1305ReadCipher(authenticator, protocolVersion,
+                    sslCipher, algorithm, key, params, random);
+        }
+
+        static final class CC20P1305ReadCipher extends SSLReadCipher {
+            private final Cipher cipher;
+            private final int tagSize;
+            private final Key key;
+            private final byte[] iv;
+            private final SecureRandom random;
+
+            CC20P1305ReadCipher(Authenticator authenticator,
+                    ProtocolVersion protocolVersion,
+                    SSLCipher sslCipher, String algorithm,
+                    Key key, AlgorithmParameterSpec params,
+                    SecureRandom random) throws GeneralSecurityException {
+                super(authenticator, protocolVersion);
+                this.cipher = JsseJce.getCipher(algorithm);
+                this.tagSize = sslCipher.tagSize;
+                this.key = key;
+                this.iv = ((IvParameterSpec)params).getIV();
+                this.random = random;
+
+                // DON'T initialize the cipher for AEAD!
+            }
+
+            @Override
+            public Plaintext decrypt(byte contentType, ByteBuffer bb,
+                    byte[] sequence) throws GeneralSecurityException {
+                // An implementation may receive an unencrypted record of type
+                // change_cipher_spec consisting of the single byte value 0x01
+                // at any time after the first ClientHello message has been
+                // sent or received and before the peer's Finished message has
+                // been received and MUST simply drop it without further
+                // processing.
+                if (contentType == ContentType.CHANGE_CIPHER_SPEC.id) {
+                    return new Plaintext(contentType,
+                        ProtocolVersion.NONE.major, ProtocolVersion.NONE.minor,
+                        -1, -1L, bb.slice());
+                }
+
+                if (bb.remaining() <= tagSize) {
+                    throw new BadPaddingException(
+                        "Insufficient buffer remaining for AEAD cipher " +
+                        "fragment (" + bb.remaining() + "). Needs to be " +
+                        "more than tag size (" + tagSize + ")");
+                }
+
+                byte[] sn = sequence;
+                if (sn == null) {
+                    sn = authenticator.sequenceNumber();
+                }
+                byte[] nonce = new byte[iv.length];
+                System.arraycopy(sn, 0, nonce, nonce.length - sn.length,
+                        sn.length);
+                for (int i = 0; i < nonce.length; i++) {
+                    nonce[i] ^= iv[i];
+                }
+
+                // initialize the AEAD cipher with the unique IV
+                AlgorithmParameterSpec spec = new IvParameterSpec(nonce);
+                try {
+                    cipher.init(Cipher.DECRYPT_MODE, key, spec, random);
+                } catch (InvalidKeyException |
+                            InvalidAlgorithmParameterException ikae) {
+                    // unlikely to happen
+                    throw new RuntimeException(
+                                "invalid key or spec in AEAD mode", ikae);
+                }
+
+                // Update the additional authentication data, using the
+                // implicit sequence number of the authenticator.
+                byte[] aad = authenticator.acquireAuthenticationBytes(
+                                        contentType, bb.remaining(), sn);
+                cipher.updateAAD(aad);
+
+                int len = bb.remaining();
+                int pos = bb.position();
+                ByteBuffer dup = bb.duplicate();
+                try {
+                    len = cipher.doFinal(dup, bb);
+                } catch (IllegalBlockSizeException ibse) {
+                    // unlikely to happen
+                    throw new RuntimeException(
+                        "Cipher error in AEAD mode \"" + ibse.getMessage() +
+                        " \"in JCE provider " + cipher.getProvider().getName());
+                } catch (ShortBufferException sbe) {
+                    // catch BouncyCastle buffering error
+                    throw new RuntimeException("Cipher buffering error in " +
+                        "JCE provider " + cipher.getProvider().getName(), sbe);
+                }
+                // reset the limit to the end of the decrypted data
+                bb.position(pos);
+                bb.limit(pos + len);
+
+                // remove inner plaintext padding
+                int i = bb.limit() - 1;
+                for (; i > 0 && bb.get(i) == 0; i--) {
+                    // blank
+                }
+                if (i < (pos + 1)) {
+                    throw new BadPaddingException(
+                            "Incorrect inner plaintext: no content type");
+                }
+                contentType = bb.get(i);
+                bb.limit(i);
+
+                if (SSLLogger.isOn && SSLLogger.isOn("plaintext")) {
+                    SSLLogger.fine(
+                            "Plaintext after DECRYPTION", bb.duplicate());
+                }
+
+                return new Plaintext(contentType,
+                        ProtocolVersion.NONE.major, ProtocolVersion.NONE.minor,
+                        -1, -1L, bb.slice());
+            }
+
+            @Override
+            void dispose() {
+                if (cipher != null) {
+                    try {
+                        cipher.doFinal();
+                    } catch (Exception e) {
+                        // swallow all types of exceptions.
+                    }
+                }
+            }
+
+            @Override
+            int estimateFragmentSize(int packetSize, int headerSize) {
+                return packetSize - headerSize - tagSize;
+            }
+        }
+    }
+
+    private static final class T13CC20P1305WriteCipherGenerator
+            implements WriteCipherGenerator {
+        @Override
+        public SSLWriteCipher createCipher(SSLCipher sslCipher,
+                Authenticator authenticator, ProtocolVersion protocolVersion,
+                String algorithm, Key key, AlgorithmParameterSpec params,
+                SecureRandom random) throws GeneralSecurityException {
+            return new CC20P1305WriteCipher(authenticator, protocolVersion,
+                    sslCipher, algorithm, key, params, random);
+        }
+
+        private static final class CC20P1305WriteCipher extends SSLWriteCipher {
+            private final Cipher cipher;
+            private final int tagSize;
+            private final Key key;
+            private final byte[] iv;
+            private final SecureRandom random;
+
+            CC20P1305WriteCipher(Authenticator authenticator,
+                    ProtocolVersion protocolVersion,
+                    SSLCipher sslCipher, String algorithm,
+                    Key key, AlgorithmParameterSpec params,
+                    SecureRandom random) throws GeneralSecurityException {
+                super(authenticator, protocolVersion);
+                this.cipher = JsseJce.getCipher(algorithm);
+                this.tagSize = sslCipher.tagSize;
+                this.key = key;
+                this.iv = ((IvParameterSpec)params).getIV();
+                this.random = random;
+
+                keyLimitCountdown = cipherLimits.getOrDefault(
+                        algorithm.toUpperCase() + ":" + tag[0], 0L);
+                if (SSLLogger.isOn && SSLLogger.isOn("ssl")) {
+                    SSLLogger.fine("algorithm = " + algorithm.toUpperCase() +
+                            ":" + tag[0] + "\ncountdown value = " +
+                            keyLimitCountdown);
+                }
+                if (keyLimitCountdown > 0) {
+                    keyLimitEnabled = true;
+                }
+
+                // DON'T initialize the cipher for AEAD!
+            }
+
+            @Override
+            public int encrypt(byte contentType,
+                    ByteBuffer bb) {
+                byte[] sn = authenticator.sequenceNumber();
+                byte[] nonce = new byte[iv.length];
+                System.arraycopy(sn, 0, nonce, nonce.length - sn.length,
+                        sn.length);
+                for (int i = 0; i < nonce.length; i++) {
+                    nonce[i] ^= iv[i];
+                }
+
+                // initialize the AEAD cipher for the unique IV
+                AlgorithmParameterSpec spec = new IvParameterSpec(nonce);
+                try {
+                    cipher.init(Cipher.ENCRYPT_MODE, key, spec, random);
+                } catch (InvalidKeyException |
+                            InvalidAlgorithmParameterException ikae) {
+                    // unlikely to happen
+                    throw new RuntimeException(
+                                "invalid key or spec in AEAD mode", ikae);
+                }
+
+                // Update the additional authentication data, using the
+                // implicit sequence number of the authenticator.
+                int outputSize = cipher.getOutputSize(bb.remaining());
+                byte[] aad = authenticator.acquireAuthenticationBytes(
+                                        contentType, outputSize, sn);
+                cipher.updateAAD(aad);
+
+                int len = bb.remaining();
+                int pos = bb.position();
+                if (SSLLogger.isOn && SSLLogger.isOn("plaintext")) {
+                    SSLLogger.fine(
+                            "Plaintext before ENCRYPTION",
+                            bb.duplicate());
+                }
+
+                ByteBuffer dup = bb.duplicate();
+                if (outputSize > bb.remaining()) {
+                    // Need to expand the limit of the output buffer for
+                    // the authentication tag.
+                    //
+                    // DON'T worry about the buffer's capacity, we have
+                    // reserved space for the authentication tag.
+                    bb.limit(pos + outputSize);
+                }
+
+                try {
+                    len = cipher.doFinal(dup, bb);
+                } catch (IllegalBlockSizeException |
+                            BadPaddingException | ShortBufferException ibse) {
+                    // unlikely to happen
+                    throw new RuntimeException(
+                            "Cipher error in AEAD mode in JCE provider " +
+                            cipher.getProvider().getName(), ibse);
+                }
+
+                if (len != outputSize) {
+                    throw new RuntimeException(
+                            "Cipher buffering error in JCE provider " +
+                            cipher.getProvider().getName());
+                }
+
+                if (keyLimitEnabled) {
+                    keyLimitCountdown -= len;
+                }
+                return len;
+            }
+
+            @Override
+            void dispose() {
+                if (cipher != null) {
+                    try {
+                        cipher.doFinal();
+                    } catch (Exception e) {
+                        // swallow all types of exceptions.
+                    }
+                }
+            }
+
+            @Override
+            int getExplicitNonceSize() {
+                return 0;
+            }
+
+            @Override
+            int calculateFragmentSize(int packetLimit, int headerSize) {
+                return packetLimit - headerSize - tagSize;
+            }
+
+            @Override
+            int calculatePacketSize(int fragmentSize, int headerSize) {
+                return fragmentSize + headerSize + tagSize;
+            }
+        }
+    }
+
     private static void addMac(MAC signer,
             ByteBuffer destination, byte contentType) {
         if (signer.macAlg().size != 0) {
@@ -2367,4 +2936,3 @@
         return results;
     }
 }
-
--- a/src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java	Mon Sep 24 10:59:26 2018 -0700
@@ -207,6 +207,10 @@
         if (!isInitialized) {
             throw new IllegalStateException("SSLContext is not initialized");
         }
+        if (isDTLS()) {
+            throw new UnsupportedOperationException(
+                    "DTLS not supported with SSLSocket");
+        }
        return new SSLSocketFactoryImpl(this);
     }
 
@@ -215,6 +219,10 @@
         if (!isInitialized) {
             throw new IllegalStateException("SSLContext is not initialized");
         }
+        if (isDTLS()) {
+            throw new UnsupportedOperationException(
+                    "DTLS not supported with SSLServerSocket");
+        }
         return new SSLServerSocketFactoryImpl(this);
     }
 
@@ -1262,6 +1270,21 @@
         }
 
         @Override
+        protected SSLParameters engineGetDefaultSSLParameters() {
+            SSLEngine engine = createSSLEngineImpl();
+            return engine.getSSLParameters();
+        }
+
+        @Override
+        protected SSLParameters engineGetSupportedSSLParameters() {
+            SSLEngine engine = createSSLEngineImpl();
+            SSLParameters params = new SSLParameters();
+            params.setCipherSuites(engine.getSupportedCipherSuites());
+            params.setProtocols(engine.getSupportedProtocols());
+            return params;
+        }
+
+        @Override
         List<ProtocolVersion> getSupportedProtocolVersions() {
             return supportedProtocols;
         }
--- a/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java	Mon Sep 24 10:59:26 2018 -0700
@@ -333,7 +333,7 @@
             return "<no extension>";
         } else {
             StringBuilder builder = new StringBuilder(512);
-            if (logMap != null) {
+            if (logMap != null && !logMap.isEmpty()) {
                 for (Map.Entry<Integer, byte[]> en : logMap.entrySet()) {
                     SSLExtension ext = SSLExtension.valueOf(
                             handshakeMessage.handshakeType(), en.getKey());
--- a/src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java	Mon Sep 24 10:59:26 2018 -0700
@@ -525,7 +525,7 @@
             // signatures appearing in certificates.
             SignatureSchemesSpec certSpec =
                     (SignatureSchemesSpec)chc.handshakeExtensions.get(
-                            SSLExtension.CH_SIGNATURE_ALGORITHMS_CERT);
+                            SSLExtension.CR_SIGNATURE_ALGORITHMS_CERT);
             if (certSpec == null) {
                 chc.peerRequestedCertSignSchemes = sss;
                 chc.handshakeSession.setPeerSupportedSignatureAlgorithms(sss);
--- a/src/java.base/share/native/libjli/java.c	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/share/native/libjli/java.c	Mon Sep 24 10:59:26 2018 -0700
@@ -1326,7 +1326,9 @@
                    JLI_StrCmp(arg, "-cp") == 0) {
             REPORT_ERROR (has_arg_any_len, ARG_ERROR1, arg);
             SetClassPath(value);
-            mode = LM_CLASS;
+            if (mode != LM_SOURCE) {
+                mode = LM_CLASS;
+            }
         } else if (JLI_StrCmp(arg, "--list-modules") == 0) {
             listModules = JNI_TRUE;
         } else if (JLI_StrCmp(arg, "--show-resolved-modules") == 0) {
--- a/src/java.base/unix/native/libjava/java_props_md.c	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/unix/native/libjava/java_props_md.c	Mon Sep 24 10:59:26 2018 -0700
@@ -348,8 +348,14 @@
          * file to correctly read UTF-8 files using the default encoding (see
          * 8011194).
          */
-        if (strcmp(p,"US-ASCII") == 0 && getenv("LANG") == NULL &&
-            getenv("LC_ALL") == NULL && getenv("LC_CTYPE") == NULL) {
+        const char* env_lang = getenv("LANG");
+        const char* env_lc_all = getenv("LC_ALL");
+        const char* env_lc_ctype = getenv("LC_CTYPE");
+
+        if (strcmp(p,"US-ASCII") == 0 &&
+            (env_lang == NULL || strlen(env_lang) == 0) &&
+            (env_lc_all == NULL || strlen(env_lc_all) == 0) &&
+            (env_lc_ctype == NULL || strlen(env_lc_ctype) == 0)) {
             *std_encoding = "UTF-8";
         }
 #endif
--- a/src/java.base/unix/native/libjli/java_md_solinux.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.base/unix/native/libjli/java_md_solinux.h	Mon Sep 24 10:59:26 2018 -0700
@@ -46,10 +46,8 @@
  *      entries, but actual strings can be more efficient (with many compilers).
  */
 #ifdef __solaris__
-static const char *system_dir   = "/usr/jdk";
 static const char *user_dir     = "/jdk";
 #else /* !__solaris__, i.e. Linux, AIX,.. */
-static const char *system_dir   = "/usr/java";
 static const char *user_dir     = "/java";
 #endif
 
--- a/src/java.desktop/unix/native/common/awt/awt_Font.c	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.desktop/unix/native/common/awt/awt_Font.c	Mon Sep 24 10:59:26 2018 -0700
@@ -638,7 +638,7 @@
 
             /* XXX: sometimes XLoadQueryFont returns a bogus font structure */
             /* with negative ascent. */
-            if (xfont == (Font) NULL || xfont->ascent < 0) {
+            if (xfont == NULL || xfont->ascent < 0) {
                 if (xfont != NULL) {
                     XFreeFont(display, xfont);
                 }
--- a/src/java.instrument/unix/native/libinstrument/EncodingSupport_md.c	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.instrument/unix/native/libinstrument/EncodingSupport_md.c	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018, 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
@@ -63,7 +63,7 @@
 static void
 utfInitialize(void)
 {
-    char *codeset;
+    const char* codeset;
 
     /* Set the locale from the environment */
     (void)setlocale(LC_ALL, "");
@@ -77,6 +77,20 @@
 
     UTF_DEBUG(("Codeset = %s\n", codeset));
 
+#ifdef MACOSX
+    /* On Mac, if US-ASCII, but with no env hints, use UTF-8 */
+    const char* env_lang = getenv("LANG");
+    const char* env_lc_all = getenv("LC_ALL");
+    const char* env_lc_ctype = getenv("LC_CTYPE");
+
+    if (strcmp(codeset,"US-ASCII") == 0 &&
+        (env_lang == NULL || strlen(env_lang) == 0) &&
+        (env_lc_all == NULL || strlen(env_lc_all) == 0) &&
+        (env_lc_ctype == NULL || strlen(env_lc_ctype) == 0)) {
+        codeset = "UTF-8";
+    }
+#endif
+
     /* If we don't need this, skip it */
     if (strcmp(codeset, "UTF-8") == 0 || strcmp(codeset, "utf8") == 0 ) {
         UTF_DEBUG(("NO iconv() being used because it is not needed\n"));
@@ -146,6 +160,7 @@
         }
 
         /* Failed to do the conversion */
+        UTF_DEBUG(("iconv() failed to do the conversion\n"));
         return -1;
     }
 
--- a/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLStream.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLStream.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
  */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -40,6 +40,7 @@
  * because it is used from another package.
  *
  * @xsl.usage internal
+ * @LastModified: Sept 2018
  */
 public final class ToHTMLStream extends ToStream
 {
@@ -1049,7 +1050,7 @@
         String name,
         String value,
         ElemDesc elemDesc)
-        throws IOException
+        throws IOException, SAXException
     {
         writer.write(' ');
 
@@ -1373,7 +1374,7 @@
      */
     public void writeAttrString(
         final java.io.Writer writer, String string, String encoding)
-        throws IOException
+        throws IOException, SAXException
     {
         final int end = string.length();
         if (end > m_attrBuff.length)
@@ -1425,13 +1426,16 @@
                 }
                 else
                 {
-                    if (Encodings.isHighUTF16Surrogate(ch))
+                    if (Encodings.isHighUTF16Surrogate(ch) ||
+                            Encodings.isLowUTF16Surrogate(ch))
                     {
-
-                            writeUTF16Surrogate(ch, chars, i, end);
-                            i++; // two input characters processed
-                                 // this increments by one and the for()
-                                 // loop itself increments by another one.
+                        if (writeUTF16Surrogate(ch, chars, i, end) >= 0) {
+                            // move the index if the low surrogate is consumed
+                            // as writeUTF16Surrogate has written the pair
+                            if (Encodings.isHighUTF16Surrogate(ch)) {
+                                i++;
+                            }
+                        }
                     }
 
                     // The next is kind of a hack to keep from escaping in the case
--- a/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToStream.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToStream.java	Mon Sep 24 10:59:26 2018 -0700
@@ -51,7 +51,7 @@
  * serializers (xml, html, text ...) that write output to a stream.
  *
  * @xsl.usage internal
- * @LastModified: Feb 2018
+ * @LastModified: Sept 2018
  */
 abstract public class ToStream extends SerializerBase {
 
@@ -193,6 +193,8 @@
      */
     private boolean m_expandDTDEntities = true;
 
+    private char m_highSurrogate = 0;
+
     /**
      * Default constructor
      */
@@ -953,45 +955,46 @@
      * @param ch Character array.
      * @param i position Where the surrogate was detected.
      * @param end The end index of the significant characters.
-     * @return 0 if the pair of characters was written out as-is,
-     * the unicode code point of the character represented by
-     * the surrogate pair if an entity reference with that value
-     * was written out.
+     * @return the status of writing a surrogate pair.
+     *        -1 -- nothing is written
+     *         0 -- the pair is written as-is
+     *         code point -- the pair is written as an entity reference
      *
      * @throws IOException
      * @throws org.xml.sax.SAXException if invalid UTF-16 surrogate detected.
      */
     protected int writeUTF16Surrogate(char c, char ch[], int i, int end)
-        throws IOException
+        throws IOException, SAXException
     {
-        int codePoint = 0;
+        int status = -1;
         if (i + 1 >= end)
         {
-            throw new IOException(
-                Utils.messages.createMessage(
-                    MsgKey.ER_INVALID_UTF16_SURROGATE,
-                    new Object[] { Integer.toHexString((int) c)}));
+            m_highSurrogate = c;
+            return status;
         }
 
-        final char high = c;
-        final char low = ch[i+1];
+        char high, low;
+        if (m_highSurrogate == 0) {
+            high = c;
+            low = ch[i+1];
+            status = 0;
+        } else {
+            high = m_highSurrogate;
+            low = c;
+            m_highSurrogate = 0;
+        }
+
         if (!Encodings.isLowUTF16Surrogate(low)) {
-            throw new IOException(
-                Utils.messages.createMessage(
-                    MsgKey.ER_INVALID_UTF16_SURROGATE,
-                    new Object[] {
-                        Integer.toHexString((int) c)
-                            + " "
-                            + Integer.toHexString(low)}));
+            throwIOE(high, low);
         }
 
         final Writer writer = m_writer;
 
         // If we make it to here we have a valid high, low surrogate pair
-        if (m_encodingInfo.isInEncoding(c,low)) {
+        if (m_encodingInfo.isInEncoding(high,low)) {
             // If the character formed by the surrogate pair
             // is in the encoding, so just write it out
-            writer.write(ch,i,2);
+            writer.write(new char[]{high, low}, 0, 2);
         }
         else {
             // Don't know what to do with this char, it is
@@ -999,24 +1002,16 @@
             // a surrogate pair, so write out as an entity ref
             final String encoding = getEncoding();
             if (encoding != null) {
-                /* The output encoding is known,
-                 * so somthing is wrong.
-                  */
-                codePoint = Encodings.toCodePoint(high, low);
-                // not in the encoding, so write out a character reference
-                writer.write('&');
-                writer.write('#');
-                writer.write(Integer.toString(codePoint));
-                writer.write(';');
+                status = writeCharRef(writer, high, low);
             } else {
                 /* The output encoding is not known,
                  * so just write it out as-is.
                  */
-                writer.write(ch, i, 2);
+                writer.write(new char[]{high, low}, 0, 2);
             }
         }
         // non-zero only if character reference was written out.
-        return codePoint;
+        return status;
     }
 
     /**
@@ -1106,32 +1101,7 @@
             }
             else if (isCData && (!escapingNotNeeded(c)))
             {
-                //                if (i != 0)
-                if (m_cdataTagOpen)
-                    closeCDATA();
-
-                // This needs to go into a function...
-                if (Encodings.isHighUTF16Surrogate(c))
-                {
-                    writeUTF16Surrogate(c, ch, i, end);
-                    i++ ; // process two input characters
-                }
-                else
-                {
-                    writer.write("&#");
-
-                    String intStr = Integer.toString((int) c);
-
-                    writer.write(intStr);
-                    writer.write(';');
-                }
-
-                //                if ((i != 0) && (i < (end - 1)))
-                //                if (!m_cdataTagOpen && (i < (end - 1)))
-                //                {
-                //                    writer.write(CDATA_DELIMITER_OPEN);
-                //                    m_cdataTagOpen = true;
-                //                }
+                i = handleEscaping(writer, c, ch, i, end);
             }
             else if (
                 isCData
@@ -1155,25 +1125,8 @@
                     }
                     writer.write(c);
                 }
-
-                // This needs to go into a function...
-                else if (Encodings.isHighUTF16Surrogate(c))
-                {
-                    if (m_cdataTagOpen)
-                        closeCDATA();
-                    writeUTF16Surrogate(c, ch, i, end);
-                    i++; // process two input characters
-                }
-                else
-                {
-                    if (m_cdataTagOpen)
-                        closeCDATA();
-                    writer.write("&#");
-
-                    String intStr = Integer.toString((int) c);
-
-                    writer.write(intStr);
-                    writer.write(';');
+                else {
+                    i = handleEscaping(writer, c, ch, i, end);
                 }
             }
         }
@@ -1181,6 +1134,38 @@
     }
 
     /**
+     * Handles escaping, writes either with a surrogate pair or a character
+     * reference.
+     *
+     * @param c the current char
+     * @param ch the character array
+     * @param i the current position
+     * @param end the end index of the array
+     * @return the next index
+     *
+     * @throws IOException
+     * @throws org.xml.sax.SAXException if invalid UTF-16 surrogate detected.
+     */
+    private int handleEscaping(Writer writer, char c, char ch[], int i, int end)
+            throws IOException, SAXException {
+        if (Encodings.isHighUTF16Surrogate(c) || Encodings.isLowUTF16Surrogate(c))
+        {
+            if (writeUTF16Surrogate(c, ch, i, end) >= 0) {
+                // move the index if the low surrogate is consumed
+                // as writeUTF16Surrogate has written the pair
+                if (Encodings.isHighUTF16Surrogate(c)) {
+                    i++ ;
+                }
+            }
+        }
+        else
+        {
+            writeCharRef(writer, c);
+        }
+        return i;
+    }
+
+    /**
      * Ends an un-escaping section.
      *
      * @see #startNonEscaping
@@ -1246,7 +1231,7 @@
                 m_elemContext.m_startTagOpen = false;
             }
 
-            if (shouldIndent())
+            if (!m_cdataTagOpen && shouldIndent())
                 indent();
 
             boolean writeCDataBrackets =
@@ -1644,7 +1629,7 @@
         int i,
         char ch,
         int lastDirty,
-        boolean fromTextNode) throws IOException
+        boolean fromTextNode) throws IOException, SAXException
     {
         int startClean = lastDirty + 1;
         // if we have some clean characters accumulated
@@ -1723,54 +1708,40 @@
         int len,
         boolean fromTextNode,
         boolean escLF)
-        throws IOException
+        throws IOException, SAXException
     {
 
         int pos = accumDefaultEntity(writer, ch, i, chars, len, fromTextNode, escLF);
 
         if (i == pos)
         {
+            if (m_highSurrogate != 0) {
+                if (!(Encodings.isLowUTF16Surrogate(ch))) {
+                    throwIOE(m_highSurrogate, ch);
+                }
+                writeCharRef(writer, m_highSurrogate, ch);
+                m_highSurrogate = 0;
+                return ++pos;
+            }
+
             if (Encodings.isHighUTF16Surrogate(ch))
             {
-
-                // Should be the UTF-16 low surrogate of the hig/low pair.
-                char next;
-                // Unicode code point formed from the high/low pair.
-                int codePoint = 0;
-
                 if (i + 1 >= len)
                 {
-                    throw new IOException(
-                        Utils.messages.createMessage(
-                            MsgKey.ER_INVALID_UTF16_SURROGATE,
-                            new Object[] { Integer.toHexString(ch)}));
-                    //"Invalid UTF-16 surrogate detected: "
-
-                    //+Integer.toHexString(ch)+ " ?");
+                    // save for the next read
+                    m_highSurrogate = ch;
+                    pos++;
                 }
                 else
                 {
-                    next = chars[++i];
-
+                    // the next should be the UTF-16 low surrogate of the hig/low pair.
+                    char next = chars[++i];
                     if (!(Encodings.isLowUTF16Surrogate(next)))
-                        throw new IOException(
-                            Utils.messages.createMessage(
-                                MsgKey
-                                    .ER_INVALID_UTF16_SURROGATE,
-                                new Object[] {
-                                    Integer.toHexString(ch)
-                                        + " "
-                                        + Integer.toHexString(next)}));
-                    //"Invalid UTF-16 surrogate detected: "
-
-                    //+Integer.toHexString(ch)+" "+Integer.toHexString(next));
-                    codePoint = Encodings.toCodePoint(ch,next);
+                        throwIOE(ch, next);
+
+                    writeCharRef(writer, ch, next);
+                    pos += 2; // count the two characters that went into writing out this entity
                 }
-
-                writer.write("&#");
-                writer.write(Integer.toString(codePoint));
-                writer.write(';');
-                pos += 2; // count the two characters that went into writing out this entity
             }
             else
             {
@@ -1782,18 +1753,14 @@
                 if (isCharacterInC0orC1Range(ch) ||
                         (XMLVERSION11.equals(getVersion()) && isNELorLSEPCharacter(ch)))
                 {
-                    writer.write("&#");
-                    writer.write(Integer.toString(ch));
-                    writer.write(';');
+                    writeCharRef(writer, ch);
                 }
                 else if ((!escapingNotNeeded(ch) ||
                     (  (fromTextNode && m_charInfo.isSpecialTextChar(ch))
                      || (!fromTextNode && m_charInfo.isSpecialAttrChar(ch))))
-                && m_elemContext.m_currentElemDepth > 0)
+                     && m_elemContext.m_currentElemDepth > 0)
                 {
-                    writer.write("&#");
-                    writer.write(Integer.toString(ch));
-                    writer.write(';');
+                    writeCharRef(writer, ch);
                 }
                 else
                 {
@@ -1807,6 +1774,45 @@
     }
 
     /**
+     * Writes out a character reference.
+     * @param writer the writer
+     * @param c the character
+     * @throws IOException
+     */
+    private void writeCharRef(Writer writer, char c) throws IOException, SAXException {
+        if (m_cdataTagOpen)
+            closeCDATA();
+        writer.write("&#");
+        writer.write(Integer.toString(c));
+        writer.write(';');
+    }
+
+    /**
+     * Writes out a pair of surrogates as a character reference
+     * @param writer the writer
+     * @param high the high surrogate
+     * @param low the low surrogate
+     * @throws IOException
+     */
+    private int writeCharRef(Writer writer, char high, char low) throws IOException, SAXException {
+        if (m_cdataTagOpen)
+            closeCDATA();
+        // Unicode code point formed from the high/low pair.
+        int codePoint = Encodings.toCodePoint(high, low);
+        writer.write("&#");
+        writer.write(Integer.toString(codePoint));
+        writer.write(';');
+        return codePoint;
+    }
+
+    private void throwIOE(char ch, char next) throws IOException {
+        throw new IOException(Utils.messages.createMessage(
+                MsgKey.ER_INVALID_UTF16_SURROGATE,
+                new Object[] {Integer.toHexString(ch) + " "
+                        + Integer.toHexString(next)}));
+    }
+
+    /**
      * Receive notification of the beginning of an element, although this is a
      * SAX method additional namespace or attribute information can occur before
      * or after this call, that is associated with this element.
@@ -2053,7 +2059,7 @@
         Writer writer,
         String string,
         String encoding)
-        throws IOException
+        throws IOException, SAXException
     {
         final int len = string.length();
         if (len > m_attrBuff.length)
--- a/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToTextStream.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToTextStream.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,6 +1,5 @@
 /*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
  */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -34,6 +33,7 @@
  * This class converts SAX or SAX-like calls to a
  * serialized document for xsl:output method of "text".
  * @xsl.usage internal
+ * @LastModified: Sept 2018
  */
 public final class ToTextStream extends ToStream
 {
@@ -295,23 +295,32 @@
             } else if (m_encodingInfo.isInEncoding(c)) {
                 writer.write(c);
                 // one input char processed
-            } else if (Encodings.isHighUTF16Surrogate(c)) {
+            } else if (Encodings.isHighUTF16Surrogate(c) ||
+                       Encodings.isLowUTF16Surrogate(c)) {
                 final int codePoint = writeUTF16Surrogate(c, ch, i, end);
-                if (codePoint != 0) {
-                    // I think we can just emit the message,
-                    // not crash and burn.
-                    final String integralValue = Integer.toString(codePoint);
-                    final String msg = Utils.messages.createMessage(
-                        MsgKey.ER_ILLEGAL_CHARACTER,
-                        new Object[] { integralValue, encoding });
+                if (codePoint >= 0) {
+                    // move the index if the low surrogate is consumed
+                    // as writeUTF16Surrogate has written the pair
+                    if (Encodings.isHighUTF16Surrogate(c)) {
+                        i++;
+                    }
 
-                    //Older behavior was to throw the message,
-                    //but newer gentler behavior is to write a message to System.err
-                    //throw new SAXException(msg);
-                    System.err.println(msg);
+                    // printing to the console is not appropriate, but will leave
+                    // it as is for compatibility.
+                    if (codePoint >0) {
+                        // I think we can just emit the message,
+                        // not crash and burn.
+                        final String integralValue = Integer.toString(codePoint);
+                        final String msg = Utils.messages.createMessage(
+                            MsgKey.ER_ILLEGAL_CHARACTER,
+                            new Object[] { integralValue, encoding });
 
+                        //Older behavior was to throw the message,
+                        //but newer gentler behavior is to write a message to System.err
+                        //throw new SAXException(msg);
+                        System.err.println(msg);
+                    }
                 }
-                i++; // two input chars processed
             } else {
                 // Don't know what to do with this char, it is
                 // not in the encoding and not a high char in
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java	Mon Sep 24 10:59:26 2018 -0700
@@ -772,7 +772,7 @@
                 }
             }
         }
-        result = tree;
+        result = retype(tree, tree.type, pt);
     }
 
     public void visitTypeTest(JCInstanceOf tree) {
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1639,9 +1639,9 @@
         }
         ListBuffer<CompoundAnnotationProxy> proxies = new ListBuffer<>();
         for (CompoundAnnotationProxy proxy : annotations) {
-            if (proxy.type.tsym == syms.proprietaryType.tsym)
+            if (proxy.type.tsym.flatName() == syms.proprietaryType.tsym.flatName())
                 sym.flags_field |= PROPRIETARY;
-            else if (proxy.type.tsym == syms.profileType.tsym) {
+            else if (proxy.type.tsym.flatName() == syms.profileType.tsym.flatName()) {
                 if (profile != Profile.DEFAULT) {
                     for (Pair<Name, Attribute> v : proxy.values) {
                         if (v.fst == names.value && v.snd instanceof Attribute.Constant) {
@@ -2645,8 +2645,6 @@
     }
 
     protected ClassSymbol enterClass(Name name) {
-        if (syms.proprietaryType.tsym.flatName() == name)
-            return (ClassSymbol) syms.proprietaryType.tsym;
         return syms.enterClass(currentModule, name);
     }
 
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/platform/JDKPlatformProvider.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/platform/JDKPlatformProvider.java	Mon Sep 24 10:59:26 2018 -0700
@@ -45,6 +45,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.NoSuchElementException;
 import java.util.Set;
 import java.util.TreeSet;
@@ -61,6 +62,8 @@
 import javax.tools.StandardLocation;
 
 import com.sun.source.util.Plugin;
+import com.sun.tools.javac.code.Source;
+import com.sun.tools.javac.code.Source.Feature;
 import com.sun.tools.javac.file.CacheFSInfo;
 import com.sun.tools.javac.file.JavacFileManager;
 import com.sun.tools.javac.jvm.Target;
@@ -252,52 +255,64 @@
                         ctSym2FileSystem.put(file, fs = FileSystems.newFileSystem(file, null));
                     }
 
-                    List<Path> paths = new ArrayList<>();
-                    Path modules = fs.getPath(ctSymVersion + "-modules");
                     Path root = fs.getRootDirectories().iterator().next();
-                    boolean pathsSet = false;
+                    boolean hasModules =
+                            Feature.MODULES.allowedInSource(Source.lookup(sourceVersion));
+                    Path systemModules = root.resolve(ctSymVersion).resolve("system-modules");
                     Charset utf8 = Charset.forName("UTF-8");
 
-                    try (DirectoryStream<Path> dir = Files.newDirectoryStream(root)) {
-                        for (Path section : dir) {
-                            if (section.getFileName().toString().contains(ctSymVersion) &&
-                                !section.getFileName().toString().contains("-")) {
-                                Path systemModules = section.resolve("system-modules");
-
-                                if (Files.isRegularFile(systemModules)) {
-                                    fm.handleOption("--system", Arrays.asList("none").iterator());
+                    if (!hasModules) {
+                        List<Path> paths = new ArrayList<>();
 
-                                    Path jrtModules =
-                                            FileSystems.getFileSystem(URI.create("jrt:/"))
-                                                       .getPath("modules");
-                                    try (Stream<String> lines =
-                                            Files.lines(systemModules, utf8)) {
-                                        lines.map(line -> jrtModules.resolve(line))
-                                             .filter(mod -> Files.exists(mod))
-                                             .forEach(mod -> setModule(fm, mod));
+                        try (DirectoryStream<Path> dir = Files.newDirectoryStream(root)) {
+                            for (Path section : dir) {
+                                if (section.getFileName().toString().contains(ctSymVersion) &&
+                                    !section.getFileName().toString().contains("-")) {
+                                    try (DirectoryStream<Path> modules = Files.newDirectoryStream(section)) {
+                                        for (Path module : modules) {
+                                            paths.add(module);
+                                        }
                                     }
-                                    pathsSet = true;
-                                } else {
-                                    paths.add(section);
                                 }
                             }
                         }
-                    }
 
-                    if (Files.isDirectory(modules)) {
-                        try (DirectoryStream<Path> dir = Files.newDirectoryStream(modules)) {
-                            fm.handleOption("--system", Arrays.asList("none").iterator());
+                        fm.setLocationFromPaths(StandardLocation.PLATFORM_CLASS_PATH, paths);
+                    } else if (Files.isRegularFile(systemModules)) {
+                        fm.handleOption("--system", Arrays.asList("none").iterator());
 
-                            for (Path module : dir) {
-                                fm.setLocationForModule(StandardLocation.SYSTEM_MODULES,
-                                                        module.getFileName().toString(),
-                                                        Stream.concat(paths.stream(),
-                                                                      Stream.of(module))
-                                  .collect(Collectors.toList()));
+                        Path jrtModules =
+                                FileSystems.getFileSystem(URI.create("jrt:/"))
+                                           .getPath("modules");
+                        try (Stream<String> lines =
+                                Files.lines(systemModules, utf8)) {
+                            lines.map(line -> jrtModules.resolve(line))
+                                 .filter(mod -> Files.exists(mod))
+                                 .forEach(mod -> setModule(fm, mod));
+                        }
+                    } else {
+                        Map<String, List<Path>> module2Paths = new HashMap<>();
+
+                        try (DirectoryStream<Path> dir = Files.newDirectoryStream(root)) {
+                            for (Path section : dir) {
+                                if (section.getFileName().toString().contains(ctSymVersion) &&
+                                    !section.getFileName().toString().contains("-")) {
+                                    try (DirectoryStream<Path> modules = Files.newDirectoryStream(section)) {
+                                        for (Path module : modules) {
+                                            module2Paths.computeIfAbsent(module.getFileName().toString(), dummy -> new ArrayList<>()).add(module);
+                                        }
+                                    }
+                                }
                             }
                         }
-                    } else if (!pathsSet) {
-                        fm.setLocationFromPaths(StandardLocation.PLATFORM_CLASS_PATH, paths);
+
+                        fm.handleOption("--system", Arrays.asList("none").iterator());
+
+                        for (Entry<String, List<Path>> e : module2Paths.entrySet()) {
+                            fm.setLocationForModule(StandardLocation.SYSTEM_MODULES,
+                                                    e.getKey(),
+                                                    e.getValue());
+                        }
                     }
 
                     return fm;
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher.properties	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher.properties	Mon Sep 24 10:59:26 2018 -0700
@@ -82,21 +82,21 @@
     error:\u0020
 
 launcher.err.no.args=\
-    no filename
+    no path for source file
 
 # 0: string
 launcher.err.invalid.filename=\
-    invalid filename: {0}
+    invalid path for source file: {0}
 
 # 0: path
 launcher.err.file.not.found=\
-    file not found: {0}
+    source file not found: {0}
 
 launcher.err.compilation.failed=\
     compilation failed
 
 launcher.err.no.class=\
-    no class declared in file
+    no class declared in source file
 
 launcher.err.main.not.public.static=\
     ''main'' method is not declared ''public static''
@@ -122,7 +122,7 @@
 
 # 0: path, 1: object
 launcher.err.cant.read.file=\
-    error reading file {0}: {1}
+    error reading source file {0}: {1}
 
 # 0: string
 launcher.err.no.value.for.option=\
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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
@@ -38,6 +38,7 @@
 
 import static sun.security.pkcs11.TemplateManager.*;
 import sun.security.pkcs11.wrapper.*;
+
 import static sun.security.pkcs11.wrapper.PKCS11Constants.*;
 
 /**
@@ -61,6 +62,8 @@
     // mechanism id
     private long mechanism;
 
+    private int tlsVersion;
+
     // parameter spec
     @SuppressWarnings("deprecation")
     private TlsKeyMaterialParameterSpec spec;
@@ -96,14 +99,14 @@
         }
 
         TlsKeyMaterialParameterSpec spec = (TlsKeyMaterialParameterSpec)params;
-        int version = (spec.getMajorVersion() << 8) | spec.getMinorVersion();
+        tlsVersion = (spec.getMajorVersion() << 8) | spec.getMinorVersion();
 
-        if ((version == 0x0300 && !supportSSLv3) || (version < 0x0300) ||
-            (version > 0x0302)) {
+        if ((tlsVersion == 0x0300 && !supportSSLv3) ||
+                (tlsVersion < 0x0300) || (tlsVersion > 0x0303)) {
              throw new InvalidAlgorithmParameterException
                     ("Only" + (supportSSLv3? " SSL 3.0,": "") +
-                     " TLS 1.0, and TLS 1.1 are supported (0x" +
-                     Integer.toHexString(version) + ")");
+                     " TLS 1.0, TLS 1.1 and TLS 1.2 are supported (" +
+                     tlsVersion + ")");
         }
         try {
             p11Key = P11SecretKeyFactory.convertKey
@@ -112,8 +115,11 @@
             throw new InvalidAlgorithmParameterException("init() failed", e);
         }
         this.spec = spec;
-        this.mechanism = (version == 0x0300)?
-            CKM_SSL3_KEY_AND_MAC_DERIVE : CKM_TLS_KEY_AND_MAC_DERIVE;
+        if (tlsVersion == 0x0300) {
+            mechanism = CKM_SSL3_KEY_AND_MAC_DERIVE;
+        } else if (tlsVersion == 0x0301 || tlsVersion == 0x0302) {
+            mechanism = CKM_TLS_KEY_AND_MAC_DERIVE;
+        }
     }
 
     protected void engineInit(int keysize, SecureRandom random) {
@@ -141,8 +147,18 @@
 
         CK_SSL3_RANDOM_DATA random = new CK_SSL3_RANDOM_DATA
                             (spec.getClientRandom(), spec.getServerRandom());
-        CK_SSL3_KEY_MAT_PARAMS params = new CK_SSL3_KEY_MAT_PARAMS
-                            (macBits, keyBits, ivBits, isExportable, random);
+        Object params = null;
+        CK_MECHANISM ckMechanism = null;
+        if (tlsVersion < 0x0303) {
+            params = new CK_SSL3_KEY_MAT_PARAMS
+                    (macBits, keyBits, ivBits, isExportable, random);
+            ckMechanism = new CK_MECHANISM(mechanism, (CK_SSL3_KEY_MAT_PARAMS)params);
+        } else if (tlsVersion == 0x0303) {
+            params = new CK_TLS12_KEY_MAT_PARAMS
+                    (macBits, keyBits, ivBits, isExportable, random,
+                    Functions.getHashMechId(spec.getPRFHashAlg()));
+            ckMechanism = new CK_MECHANISM(mechanism, (CK_TLS12_KEY_MAT_PARAMS)params);
+        }
 
         String cipherAlgorithm = spec.getCipherAlgorithm();
         long keyType = P11SecretKeyFactory.getKeyType(cipherAlgorithm);
@@ -173,10 +189,15 @@
             attributes = token.getAttributes
                 (O_GENERATE, CKO_SECRET_KEY, keyType, attributes);
             // the returned keyID is a dummy, ignore
-            long keyID = token.p11.C_DeriveKey(session.id(),
-                new CK_MECHANISM(mechanism, params), p11Key.keyID, attributes);
+            token.p11.C_DeriveKey(session.id(),
+                ckMechanism, p11Key.keyID, attributes);
 
-            CK_SSL3_KEY_MAT_OUT out = params.pReturnedKeyMaterial;
+            CK_SSL3_KEY_MAT_OUT out = null;
+            if (params instanceof CK_SSL3_KEY_MAT_PARAMS) {
+                out = ((CK_SSL3_KEY_MAT_PARAMS)params).pReturnedKeyMaterial;
+            } else if (params instanceof CK_TLS12_KEY_MAT_PARAMS) {
+                out = ((CK_TLS12_KEY_MAT_PARAMS)params).pReturnedKeyMaterial;
+            }
             // Note that the MAC keys do not inherit all attributes from the
             // template, but they do inherit the sensitive/extractable/token
             // flags, which is all P11Key cares about.
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsMasterSecretGenerator.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsMasterSecretGenerator.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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
@@ -29,12 +29,11 @@
 import java.security.spec.AlgorithmParameterSpec;
 
 import javax.crypto.*;
-import javax.crypto.spec.*;
-
 import sun.security.internal.spec.TlsMasterSecretParameterSpec;
 
 import static sun.security.pkcs11.TemplateManager.*;
 import sun.security.pkcs11.wrapper.*;
+
 import static sun.security.pkcs11.wrapper.PKCS11Constants.*;
 
 /**
@@ -57,6 +56,8 @@
     // mechanism id
     private long mechanism;
 
+    private int tlsVersion;
+
     @SuppressWarnings("deprecation")
     private TlsMasterSecretParameterSpec spec;
     private P11Key p11Key;
@@ -91,13 +92,13 @@
         }
 
         TlsMasterSecretParameterSpec spec = (TlsMasterSecretParameterSpec)params;
-        int version = (spec.getMajorVersion() << 8) | spec.getMinorVersion();
-        if ((version == 0x0300 && !supportSSLv3) || (version < 0x0300) ||
-            (version > 0x0302)) {
+        tlsVersion = (spec.getMajorVersion() << 8) | spec.getMinorVersion();
+        if ((tlsVersion == 0x0300 && !supportSSLv3) ||
+                (tlsVersion < 0x0300) || (tlsVersion > 0x0303)) {
              throw new InvalidAlgorithmParameterException
                     ("Only" + (supportSSLv3? " SSL 3.0,": "") +
-                     " TLS 1.0, and TLS 1.1 are supported (0x" +
-                     Integer.toHexString(version) + ")");
+                     " TLS 1.0, TLS 1.1 and TLS 1.2 are supported (" +
+                     tlsVersion + ")");
         }
 
         SecretKey key = spec.getPremasterSecret();
@@ -109,9 +110,19 @@
             throw new InvalidAlgorithmParameterException("init() failed", e);
         }
         this.spec = spec;
-        if (p11Key.getAlgorithm().equals("TlsRsaPremasterSecret")) {
-            mechanism = (version == 0x0300) ? CKM_SSL3_MASTER_KEY_DERIVE
-                                             : CKM_TLS_MASTER_KEY_DERIVE;
+        final boolean isTlsRsaPremasterSecret =
+                p11Key.getAlgorithm().equals("TlsRsaPremasterSecret");
+        if (tlsVersion == 0x0300) {
+            mechanism = isTlsRsaPremasterSecret ?
+                    CKM_SSL3_MASTER_KEY_DERIVE : CKM_SSL3_MASTER_KEY_DERIVE_DH;
+        } else if (tlsVersion == 0x0301 || tlsVersion == 0x0302) {
+            mechanism = isTlsRsaPremasterSecret ?
+                    CKM_TLS_MASTER_KEY_DERIVE : CKM_TLS_MASTER_KEY_DERIVE_DH;
+        } else if (tlsVersion == 0x0303) {
+            mechanism = isTlsRsaPremasterSecret ?
+                    CKM_TLS12_MASTER_KEY_DERIVE : CKM_TLS12_MASTER_KEY_DERIVE_DH;
+        }
+        if (isTlsRsaPremasterSecret) {
             ckVersion = new CK_VERSION(0, 0);
         } else {
             // Note: we use DH for all non-RSA premaster secrets. That includes
@@ -120,8 +131,6 @@
             // TLS PRF (or the SSL equivalent).
             // The only thing special about RSA master secret calculation is
             // that it extracts the version numbers from the premaster secret.
-            mechanism = (version == 0x0300) ? CKM_SSL3_MASTER_KEY_DERIVE_DH
-                                             : CKM_TLS_MASTER_KEY_DERIVE_DH;
             ckVersion = null;
         }
     }
@@ -139,23 +148,31 @@
         byte[] serverRandom = spec.getServerRandom();
         CK_SSL3_RANDOM_DATA random =
                 new CK_SSL3_RANDOM_DATA(clientRandom, serverRandom);
-        CK_SSL3_MASTER_KEY_DERIVE_PARAMS params =
-                new CK_SSL3_MASTER_KEY_DERIVE_PARAMS(random, ckVersion);
-
+        CK_MECHANISM ckMechanism = null;
+        if (tlsVersion < 0x0303) {
+            CK_SSL3_MASTER_KEY_DERIVE_PARAMS params =
+                    new CK_SSL3_MASTER_KEY_DERIVE_PARAMS(random, ckVersion);
+            ckMechanism = new CK_MECHANISM(mechanism, params);
+        } else if (tlsVersion == 0x0303) {
+            CK_TLS12_MASTER_KEY_DERIVE_PARAMS params =
+                    new CK_TLS12_MASTER_KEY_DERIVE_PARAMS(random, ckVersion,
+                            Functions.getHashMechId(spec.getPRFHashAlg()));
+            ckMechanism = new CK_MECHANISM(mechanism, params);
+        }
         Session session = null;
         try {
             session = token.getObjSession();
             CK_ATTRIBUTE[] attributes = token.getAttributes(O_GENERATE,
                 CKO_SECRET_KEY, CKK_GENERIC_SECRET, new CK_ATTRIBUTE[0]);
             long keyID = token.p11.C_DeriveKey(session.id(),
-                new CK_MECHANISM(mechanism, params), p11Key.keyID, attributes);
+                    ckMechanism, p11Key.keyID, attributes);
             int major, minor;
-            if (params.pVersion == null) {
+            if (ckVersion == null) {
                 major = -1;
                 minor = -1;
             } else {
-                major = params.pVersion.major;
-                minor = params.pVersion.minor;
+                major = ckVersion.major;
+                minor = ckVersion.minor;
             }
             SecretKey key = P11Key.masterSecretKey(session, keyID,
                 "TlsMasterSecret", 48 << 3, attributes, major, minor);
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsPrfGenerator.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsPrfGenerator.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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
@@ -126,8 +126,47 @@
         if (spec == null) {
             throw new IllegalStateException("TlsPrfGenerator must be initialized");
         }
+
+        byte[] seed = spec.getSeed();
+
+        // TLS 1.2
+        if (mechanism == CKM_TLS_MAC) {
+            SecretKey k = null;
+            int ulServerOrClient = 0;
+            if (spec.getLabel().equals("server finished")) {
+                ulServerOrClient = 1;
+            }
+            if (spec.getLabel().equals("client finished")) {
+                ulServerOrClient = 2;
+            }
+
+            if (ulServerOrClient != 0) {
+                // Finished message
+                CK_TLS_MAC_PARAMS params = new CK_TLS_MAC_PARAMS(
+                        Functions.getHashMechId(spec.getPRFHashAlg()),
+                        spec.getOutputLength(), ulServerOrClient);
+                Session session = null;
+                try {
+                    session = token.getOpSession();
+                    token.p11.C_SignInit(session.id(),
+                            new CK_MECHANISM(mechanism, params), p11Key.keyID);
+                    token.p11.C_SignUpdate(session.id(), 0, seed, 0, seed.length);
+                    byte[] out = token.p11.C_SignFinal
+                                        (session.id(), spec.getOutputLength());
+                    k = new SecretKeySpec(out, "TlsPrf");
+                } catch (PKCS11Exception e) {
+                    throw new ProviderException("Could not calculate PRF", e);
+                } finally {
+                    token.releaseSession(session);
+                }
+            } else {
+                throw new ProviderException("Only Finished message authentication code"+
+                                            " generation supported for TLS 1.2.");
+            }
+            return k;
+        }
+
         byte[] label = P11Util.getBytesUTF8(spec.getLabel());
-        byte[] seed = spec.getSeed();
 
         if (mechanism == CKM_NSS_TLS_PRF_GENERAL) {
             Session session = null;
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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
@@ -89,15 +89,14 @@
 
         TlsRsaPremasterSecretParameterSpec spec =
             (TlsRsaPremasterSecretParameterSpec) params;
-
-        int version = (spec.getMajorVersion() << 8) | spec.getMinorVersion();
+        int tlsVersion = (spec.getMajorVersion() << 8) | spec.getMinorVersion();
 
-        if ((version == 0x0300 && !supportSSLv3) || (version < 0x0300) ||
-            (version > 0x0302)) {
+        if ((tlsVersion == 0x0300 && !supportSSLv3) ||
+                (tlsVersion < 0x0300) || (tlsVersion > 0x0303)) {
              throw new InvalidAlgorithmParameterException
                     ("Only" + (supportSSLv3? " SSL 3.0,": "") +
-                     " TLS 1.0, and TLS 1.1 are supported (0x" +
-                     Integer.toHexString(version) + ")");
+                     " TLS 1.0, TLS 1.1 and TLS 1.2 are supported (" +
+                     tlsVersion + ")");
         }
         this.spec = spec;
     }
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, 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
@@ -744,38 +744,28 @@
                 s("1.2.840.113549.1.1.13", "OID.1.2.840.113549.1.1.13"),
                 m(CKM_SHA512_RSA_PKCS, CKM_RSA_PKCS, CKM_RSA_X_509));
 
-        /*
-         * TLS 1.2 uses a different hash algorithm than 1.0/1.1 for the
-         * PRF calculations.  As of 2010, there is no PKCS11-level
-         * support for TLS 1.2 PRF calculations, and no known OS's have
-         * an internal variant we could use.  Therefore for TLS 1.2, we
-         * are updating JSSE to request different provider algorithms
-         * (e.g. "SunTls12Prf"), and currently only SunJCE has these
-         * TLS 1.2 algorithms.
-         *
-         * If we reused the names such as "SunTlsPrf", the PKCS11
-         * providers would need be updated to fail correctly when
-         * presented with the wrong version number (via
-         * Provider.Service.supportsParameters()), and we would also
-         * need to add the appropriate supportsParamters() checks into
-         * KeyGenerators (not currently there).
-         *
-         * In the future, if PKCS11 support is added, we will restructure
-         * this.
-         */
         d(KG, "SunTlsRsaPremasterSecret",
                     "sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator",
+                    s("SunTls12RsaPremasterSecret"),
                 m(CKM_SSL3_PRE_MASTER_KEY_GEN, CKM_TLS_PRE_MASTER_KEY_GEN));
         d(KG, "SunTlsMasterSecret",
                     "sun.security.pkcs11.P11TlsMasterSecretGenerator",
                 m(CKM_SSL3_MASTER_KEY_DERIVE, CKM_TLS_MASTER_KEY_DERIVE,
                     CKM_SSL3_MASTER_KEY_DERIVE_DH,
                     CKM_TLS_MASTER_KEY_DERIVE_DH));
+        d(KG, "SunTls12MasterSecret",
+                "sun.security.pkcs11.P11TlsMasterSecretGenerator",
+            m(CKM_TLS12_MASTER_KEY_DERIVE, CKM_TLS12_MASTER_KEY_DERIVE_DH));
         d(KG, "SunTlsKeyMaterial",
                     "sun.security.pkcs11.P11TlsKeyMaterialGenerator",
                 m(CKM_SSL3_KEY_AND_MAC_DERIVE, CKM_TLS_KEY_AND_MAC_DERIVE));
+        d(KG, "SunTls12KeyMaterial",
+                "sun.security.pkcs11.P11TlsKeyMaterialGenerator",
+            m(CKM_TLS12_KEY_AND_MAC_DERIVE));
         d(KG, "SunTlsPrf", "sun.security.pkcs11.P11TlsPrfGenerator",
                 m(CKM_TLS_PRF, CKM_NSS_TLS_PRF_GENERAL));
+        d(KG, "SunTls12Prf", "sun.security.pkcs11.P11TlsPrfGenerator",
+                m(CKM_TLS_MAC));
     }
 
     // background thread that periodically checks for token insertion
@@ -1042,13 +1032,16 @@
                 if (algorithm == "SunTlsRsaPremasterSecret") {
                     return new P11TlsRsaPremasterSecretGenerator(
                         token, algorithm, mechanism);
-                } else if (algorithm == "SunTlsMasterSecret") {
+                } else if (algorithm == "SunTlsMasterSecret"
+                        || algorithm == "SunTls12MasterSecret") {
                     return new P11TlsMasterSecretGenerator(
                         token, algorithm, mechanism);
-                } else if (algorithm == "SunTlsKeyMaterial") {
+                } else if (algorithm == "SunTlsKeyMaterial"
+                        || algorithm == "SunTls12KeyMaterial") {
                     return new P11TlsKeyMaterialGenerator(
                         token, algorithm, mechanism);
-                } else if (algorithm == "SunTlsPrf") {
+                } else if (algorithm == "SunTlsPrf"
+                        || algorithm == "SunTls12Prf") {
                     return new P11TlsPrfGenerator(token, algorithm, mechanism);
                 } else {
                     return new P11KeyGenerator(token, algorithm, mechanism);
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  */
 
 /* Copyright  (c) 2002 Graz University of Technology. All rights reserved.
@@ -112,14 +112,26 @@
         init(mechanism, params);
     }
 
+    public CK_MECHANISM(long mechanism, CK_TLS12_MASTER_KEY_DERIVE_PARAMS params) {
+        init(mechanism, params);
+    }
+
     public CK_MECHANISM(long mechanism, CK_SSL3_KEY_MAT_PARAMS params) {
         init(mechanism, params);
     }
 
+    public CK_MECHANISM(long mechanism, CK_TLS12_KEY_MAT_PARAMS params) {
+        init(mechanism, params);
+    }
+
     public CK_MECHANISM(long mechanism, CK_TLS_PRF_PARAMS params) {
         init(mechanism, params);
     }
 
+    public CK_MECHANISM(long mechanism, CK_TLS_MAC_PARAMS params) {
+        init(mechanism, params);
+    }
+
     public CK_MECHANISM(long mechanism, CK_ECDH1_DERIVE_PARAMS params) {
         init(mechanism, params);
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_TLS12_KEY_MAT_PARAMS.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2018, Red Hat, Inc. and/or its affiliates.
+ *
+ * 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.security.pkcs11.wrapper;
+
+/**
+ * CK_TLS12_KEY_MAT_PARAMS from PKCS#11 v2.40.
+ */
+public class CK_TLS12_KEY_MAT_PARAMS {
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_ULONG ulMacSizeInBits;
+     * </PRE>
+     */
+    public long ulMacSizeInBits;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_ULONG ulKeySizeInBits;
+     * </PRE>
+     */
+    public long ulKeySizeInBits;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_ULONG ulIVSizeInBits;
+     * </PRE>
+     */
+    public long ulIVSizeInBits;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_BBOOL bIsExport;
+     * </PRE>
+     */
+    public boolean bIsExport;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_SSL3_RANDOM_DATA RandomInfo;
+     * </PRE>
+     */
+    public CK_SSL3_RANDOM_DATA RandomInfo;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial;
+     * </PRE>
+     */
+    public CK_SSL3_KEY_MAT_OUT pReturnedKeyMaterial;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_MECHANISM_TYPE prfHashMechanism;
+     * </PRE>
+     */
+    public long prfHashMechanism;
+
+    public CK_TLS12_KEY_MAT_PARAMS(
+            int macSize, int keySize, int ivSize, boolean export,
+            CK_SSL3_RANDOM_DATA random, long prfHashMechanism) {
+        ulMacSizeInBits = macSize;
+        ulKeySizeInBits = keySize;
+        ulIVSizeInBits = ivSize;
+        bIsExport = export;
+        RandomInfo = random;
+        pReturnedKeyMaterial = new CK_SSL3_KEY_MAT_OUT();
+        if (ivSize != 0) {
+            int n = ivSize >> 3;
+            pReturnedKeyMaterial.pIVClient = new byte[n];
+            pReturnedKeyMaterial.pIVServer = new byte[n];
+        }
+        this.prfHashMechanism = prfHashMechanism;
+    }
+
+    /**
+     * Returns the string representation of CK_TLS12_KEY_MAT_PARAMS.
+     *
+     * @return the string representation of CK_TLS12_KEY_MAT_PARAMS
+     */
+    public String toString() {
+        StringBuilder buffer = new StringBuilder();
+
+        buffer.append(Constants.INDENT);
+        buffer.append("ulMacSizeInBits: ");
+        buffer.append(ulMacSizeInBits);
+        buffer.append(Constants.NEWLINE);
+
+        buffer.append(Constants.INDENT);
+        buffer.append("ulKeySizeInBits: ");
+        buffer.append(ulKeySizeInBits);
+        buffer.append(Constants.NEWLINE);
+
+        buffer.append(Constants.INDENT);
+        buffer.append("ulIVSizeInBits: ");
+        buffer.append(ulIVSizeInBits);
+        buffer.append(Constants.NEWLINE);
+
+        buffer.append(Constants.INDENT);
+        buffer.append("bIsExport: ");
+        buffer.append(bIsExport);
+        buffer.append(Constants.NEWLINE);
+
+        buffer.append(Constants.INDENT);
+        buffer.append("RandomInfo: ");
+        buffer.append(RandomInfo);
+        buffer.append(Constants.NEWLINE);
+
+        buffer.append(Constants.INDENT);
+        buffer.append("pReturnedKeyMaterial: ");
+        buffer.append(pReturnedKeyMaterial);
+        buffer.append(Constants.NEWLINE);
+
+        buffer.append(Constants.INDENT);
+        buffer.append("prfHashMechanism: ");
+        buffer.append(prfHashMechanism);
+
+        return buffer.toString();
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_TLS12_MASTER_KEY_DERIVE_PARAMS.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2018, Red Hat, Inc. and/or its affiliates.
+ *
+ * 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.security.pkcs11.wrapper;
+
+/**
+ * CK_TLS12_MASTER_KEY_DERIVE_PARAMS from PKCS#11 v2.40.
+ */
+public class CK_TLS12_MASTER_KEY_DERIVE_PARAMS {
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_SSL3_RANDOM_DATA RandomInfo;
+     * </PRE>
+     */
+    public CK_SSL3_RANDOM_DATA RandomInfo;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_VERSION_PTR pVersion;
+     * </PRE>
+     */
+    public CK_VERSION pVersion;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_MECHANISM_TYPE prfHashMechanism;
+     * </PRE>
+     */
+    public long prfHashMechanism;
+
+    public CK_TLS12_MASTER_KEY_DERIVE_PARAMS(
+            CK_SSL3_RANDOM_DATA random, CK_VERSION version,
+            long prfHashMechanism) {
+        RandomInfo = random;
+        pVersion = version;
+        this.prfHashMechanism = prfHashMechanism;
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_TLS_MAC_PARAMS.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2018, Red Hat, Inc. and/or its affiliates.
+ *
+ * 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.security.pkcs11.wrapper;
+
+/**
+ * CK_TLS_MAC_PARAMS from PKCS#11 v2.40.
+ */
+public class CK_TLS_MAC_PARAMS {
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_MECHANISM_TYPE prfMechanism;
+     * </PRE>
+     */
+    public long prfMechanism;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_ULONG ulMacLength;
+     * </PRE>
+     */
+    public long ulMacLength;
+
+    /**
+     * <B>PKCS#11:</B>
+     * <PRE>
+     *   CK_ULONG ulServerOrClient;
+     * </PRE>
+     */
+    public long ulServerOrClient;
+
+    public CK_TLS_MAC_PARAMS(long prfMechanism,
+            long ulMacLength, long ulServerOrClient) {
+        this.prfMechanism = prfMechanism;
+        this.ulMacLength = ulMacLength;
+        this.ulServerOrClient = ulServerOrClient;
+    }
+
+}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/Functions.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/Functions.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  */
 
 /* Copyright  (c) 2002 Graz University of Technology. All rights reserved.
@@ -73,6 +73,9 @@
     private static final Map<String,Integer> mechIds =
         new HashMap<String,Integer>();
 
+    private static final Map<String, Long> hashMechIds =
+            new HashMap<String, Long>();
+
     // key types (CKK_*)
     private static final Map<Integer,String> keyNames =
         new HashMap<Integer,String>();
@@ -94,7 +97,6 @@
     private static final Map<String,Integer> objectClassIds =
         new HashMap<String,Integer>();
 
-
     /**
      * For converting numbers to their hex presentation.
      */
@@ -444,6 +446,10 @@
         return getId(objectClassIds, name);
     }
 
+    public static long getHashMechId(String name) {
+        return hashMechIds.get(name);
+    }
+
     /**
      * Check the given arrays for equalitiy. This method considers both arrays as
      * equal, if both are <code>null</code> or both have the same length and
@@ -589,6 +595,10 @@
         addMapping(objectClassNames, objectClassIds, id, name);
     }
 
+    private static void addHashMech(long id, String name) {
+        hashMechIds.put(name, id);
+    }
+
     static {
         addMech(CKM_RSA_PKCS_KEY_PAIR_GEN,      "CKM_RSA_PKCS_KEY_PAIR_GEN");
         addMech(CKM_RSA_PKCS,                   "CKM_RSA_PKCS");
@@ -719,6 +729,10 @@
         addMech(CKM_TLS_PRF,                    "CKM_TLS_PRF");
         addMech(CKM_SSL3_MD5_MAC,               "CKM_SSL3_MD5_MAC");
         addMech(CKM_SSL3_SHA1_MAC,              "CKM_SSL3_SHA1_MAC");
+        addMech(CKM_TLS12_MASTER_KEY_DERIVE,    "CKM_TLS12_MASTER_KEY_DERIVE");
+        addMech(CKM_TLS12_KEY_AND_MAC_DERIVE,   "CKM_TLS12_KEY_AND_MAC_DERIVE");
+        addMech(CKM_TLS12_MASTER_KEY_DERIVE_DH, "CKM_TLS12_MASTER_KEY_DERIVE_DH");
+        addMech(CKM_TLS_MAC,                    "CKM_TLS_MAC");
         addMech(CKM_MD5_KEY_DERIVATION,         "CKM_MD5_KEY_DERIVATION");
         addMech(CKM_MD2_KEY_DERIVATION,         "CKM_MD2_KEY_DERIVATION");
         addMech(CKM_SHA1_KEY_DERIVATION,        "CKM_SHA1_KEY_DERIVATION");
@@ -794,6 +808,12 @@
         addMech(PCKM_SECURERANDOM,              "SecureRandom");
         addMech(PCKM_KEYSTORE,                  "KeyStore");
 
+        addHashMech(CKM_SHA_1, "SHA-1");
+        addHashMech(CKM_SHA224, "SHA-224");
+        addHashMech(CKM_SHA256, "SHA-256");
+        addHashMech(CKM_SHA384, "SHA-384");
+        addHashMech(CKM_SHA512, "SHA-512");
+
         addKeyType(CKK_RSA,                     "CKK_RSA");
         addKeyType(CKK_DSA,                     "CKK_DSA");
         addKeyType(CKK_DH,                      "CKK_DH");
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  */
 
 /* Copyright  (c) 2002 Graz University of Technology. All rights reserved.
@@ -625,6 +625,14 @@
     public static final long  CKM_PKCS5_PBKD2                = 0x000003B0L;
 
     public static final long  CKM_PBA_SHA1_WITH_SHA1_HMAC    = 0x000003C0L;
+
+    /* CKM_TLS12_MASTER_KEY_DERIVE, CKM_TLS12_KEY_AND_MAC_DERIVE,
+     * CKM_TLS12_MASTER_KEY_DERIVE_DH and CKM_TLS_MAC are new for v2.40 */
+    public static final long  CKM_TLS12_MASTER_KEY_DERIVE    = 0x000003E0L;
+    public static final long  CKM_TLS12_KEY_AND_MAC_DERIVE   = 0x000003E1L;
+    public static final long  CKM_TLS12_MASTER_KEY_DERIVE_DH = 0x000003E2L;
+    public static final long  CKM_TLS_MAC                    = 0x000003E4L;
+
     public static final long  CKM_KEY_WRAP_LYNKS             = 0x00000400L;
     public static final long  CKM_KEY_WRAP_SET_OAEP          = 0x00000401L;
 
--- a/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  */
 
 /* Copyright  (c) 2002 Graz University of Technology. All rights reserved.
@@ -457,67 +457,113 @@
     return ckAttribute ;
 }
 
-/*
- * converts the Java CK_SSL3_MASTER_KEY_DERIVE_PARAMS object to a
- * CK_SSL3_MASTER_KEY_DERIVE_PARAMS structure
- *
- * @param env - used to call JNI funktions to get the Java classes and objects
- * @param jParam - the Java CK_SSL3_MASTER_KEY_DERIVE_PARAMS object to convert
- * @return - the new CK_SSL3_MASTER_KEY_DERIVE_PARAMS structure
- */
-CK_SSL3_MASTER_KEY_DERIVE_PARAMS jSsl3MasterKeyDeriveParamToCKSsl3MasterKeyDeriveParam(JNIEnv *env, jobject jParam)
-{
-    // XXX don't return structs
-    // XXX prefetch class and field ids
-    jclass jSsl3MasterKeyDeriveParamsClass;
-    CK_SSL3_MASTER_KEY_DERIVE_PARAMS ckParam;
+void masterKeyDeriveParamToCKMasterKeyDeriveParam(JNIEnv *env, jobject jParam,
+        jclass masterKeyDeriveParamClass,
+        CK_VERSION_PTR* cKMasterKeyDeriveParamVersion,
+        CK_SSL3_RANDOM_DATA* cKMasterKeyDeriveParamRandomInfo) {
     jfieldID fieldID;
     jclass jSsl3RandomDataClass;
     jobject jRandomInfo, jRIClientRandom, jRIServerRandom, jVersion;
-    memset(&ckParam, 0, sizeof(CK_SSL3_MASTER_KEY_DERIVE_PARAMS));
 
     /* get RandomInfo */
-    jSsl3MasterKeyDeriveParamsClass = (*env)->FindClass(env, CLASS_SSL3_MASTER_KEY_DERIVE_PARAMS);
-    if (jSsl3MasterKeyDeriveParamsClass == NULL) { return ckParam; }
-    fieldID = (*env)->GetFieldID(env, jSsl3MasterKeyDeriveParamsClass, "RandomInfo", "Lsun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA;");
-    if (fieldID == NULL) { return ckParam; }
+    fieldID = (*env)->GetFieldID(env, masterKeyDeriveParamClass, "RandomInfo",
+            "Lsun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA;");
+    if (fieldID == NULL) { return; }
     jRandomInfo = (*env)->GetObjectField(env, jParam, fieldID);
 
     /* get pClientRandom and ulClientRandomLength out of RandomInfo */
     jSsl3RandomDataClass = (*env)->FindClass(env, CLASS_SSL3_RANDOM_DATA);
-    if (jSsl3RandomDataClass == NULL) { return ckParam; }
+    if (jSsl3RandomDataClass == NULL) { return; }
     fieldID = (*env)->GetFieldID(env, jSsl3RandomDataClass, "pClientRandom", "[B");
-    if (fieldID == NULL) { return ckParam; }
+    if (fieldID == NULL) { return; }
     jRIClientRandom = (*env)->GetObjectField(env, jRandomInfo, fieldID);
 
     /* get pServerRandom and ulServerRandomLength out of RandomInfo */
     fieldID = (*env)->GetFieldID(env, jSsl3RandomDataClass, "pServerRandom", "[B");
-    if (fieldID == NULL) { return ckParam; }
+    if (fieldID == NULL) { return; }
     jRIServerRandom = (*env)->GetObjectField(env, jRandomInfo, fieldID);
 
     /* get pVersion */
-    fieldID = (*env)->GetFieldID(env, jSsl3MasterKeyDeriveParamsClass, "pVersion",  "Lsun/security/pkcs11/wrapper/CK_VERSION;");
-    if (fieldID == NULL) { return ckParam; }
+    fieldID = (*env)->GetFieldID(env, masterKeyDeriveParamClass, "pVersion",
+            "Lsun/security/pkcs11/wrapper/CK_VERSION;");
+    if (fieldID == NULL) { return; }
     jVersion = (*env)->GetObjectField(env, jParam, fieldID);
 
     /* populate java values */
-    ckParam.pVersion = jVersionToCKVersionPtr(env, jVersion);
-    if ((*env)->ExceptionCheck(env)) { return ckParam; }
-    jByteArrayToCKByteArray(env, jRIClientRandom, &(ckParam.RandomInfo.pClientRandom), &(ckParam.RandomInfo.ulClientRandomLen));
+    *cKMasterKeyDeriveParamVersion = jVersionToCKVersionPtr(env, jVersion);
+    if ((*env)->ExceptionCheck(env)) { return; }
+    jByteArrayToCKByteArray(env, jRIClientRandom,
+            &(cKMasterKeyDeriveParamRandomInfo->pClientRandom),
+            &(cKMasterKeyDeriveParamRandomInfo->ulClientRandomLen));
     if ((*env)->ExceptionCheck(env)) {
-        free(ckParam.pVersion);
-        return ckParam;
+        free(*cKMasterKeyDeriveParamVersion);
+        return;
     }
-    jByteArrayToCKByteArray(env, jRIServerRandom, &(ckParam.RandomInfo.pServerRandom), &(ckParam.RandomInfo.ulServerRandomLen));
+    jByteArrayToCKByteArray(env, jRIServerRandom,
+            &(cKMasterKeyDeriveParamRandomInfo->pServerRandom),
+            &(cKMasterKeyDeriveParamRandomInfo->ulServerRandomLen));
     if ((*env)->ExceptionCheck(env)) {
-        free(ckParam.pVersion);
-        free(ckParam.RandomInfo.pClientRandom);
-        return ckParam;
+        free(*cKMasterKeyDeriveParamVersion);
+        free(cKMasterKeyDeriveParamRandomInfo->pClientRandom);
+        return;
     }
-
-    return ckParam ;
 }
 
+/*
+ * converts the Java CK_SSL3_MASTER_KEY_DERIVE_PARAMS object to a
+ * CK_SSL3_MASTER_KEY_DERIVE_PARAMS structure
+ *
+ * @param env - used to call JNI functions to get the Java classes and objects
+ * @param jParam - the Java CK_SSL3_MASTER_KEY_DERIVE_PARAMS object to convert
+ * @return - the new CK_SSL3_MASTER_KEY_DERIVE_PARAMS structure
+ */
+CK_SSL3_MASTER_KEY_DERIVE_PARAMS
+jSsl3MasterKeyDeriveParamToCKSsl3MasterKeyDeriveParam(JNIEnv *env,
+        jobject jParam)
+{
+    CK_SSL3_MASTER_KEY_DERIVE_PARAMS ckParam;
+    jclass jSsl3MasterKeyDeriveParamsClass;
+    memset(&ckParam, 0, sizeof(CK_SSL3_MASTER_KEY_DERIVE_PARAMS));
+    jSsl3MasterKeyDeriveParamsClass =
+            (*env)->FindClass(env, CLASS_SSL3_MASTER_KEY_DERIVE_PARAMS);
+    if (jSsl3MasterKeyDeriveParamsClass == NULL) { return ckParam; }
+    masterKeyDeriveParamToCKMasterKeyDeriveParam(env, jParam,
+            jSsl3MasterKeyDeriveParamsClass,
+            &ckParam.pVersion, &ckParam.RandomInfo);
+    return ckParam;
+}
+
+/*
+ * converts the Java CK_TLS12_MASTER_KEY_DERIVE_PARAMS object to a
+ * CK_TLS12_MASTER_KEY_DERIVE_PARAMS structure
+ *
+ * @param env - used to call JNI functions to get the Java classes and objects
+ * @param jParam - the Java CK_TLS12_MASTER_KEY_DERIVE_PARAMS object to convert
+ * @return - the new CK_TLS12_MASTER_KEY_DERIVE_PARAMS structure
+ */
+CK_TLS12_MASTER_KEY_DERIVE_PARAMS
+jTls12MasterKeyDeriveParamToCKTls12MasterKeyDeriveParam(JNIEnv *env,
+        jobject jParam)
+{
+    CK_TLS12_MASTER_KEY_DERIVE_PARAMS ckParam;
+    jclass jTls12MasterKeyDeriveParamsClass;
+    jfieldID fieldID;
+    memset(&ckParam, 0, sizeof(CK_TLS12_MASTER_KEY_DERIVE_PARAMS));
+    jTls12MasterKeyDeriveParamsClass =
+            (*env)->FindClass(env, CLASS_TLS12_MASTER_KEY_DERIVE_PARAMS);
+    if (jTls12MasterKeyDeriveParamsClass == NULL) { return ckParam; }
+    masterKeyDeriveParamToCKMasterKeyDeriveParam(env, jParam,
+            jTls12MasterKeyDeriveParamsClass, &ckParam.pVersion,
+            &ckParam.RandomInfo);
+    fieldID = (*env)->GetFieldID(env,
+            jTls12MasterKeyDeriveParamsClass, "prfHashMechanism", "J");
+    if (fieldID != NULL) {
+        jlong prfHashMechanism =
+                (*env)->GetLongField(env, jParam, fieldID);
+        ckParam.prfHashMechanism = (CK_MECHANISM_TYPE)prfHashMechanism;
+    }
+    return ckParam;
+}
 
 /*
  * converts the Java CK_TLS_PRF_PARAMS object to a CK_TLS_PRF_PARAMS structure
@@ -576,126 +622,220 @@
 }
 
 /*
- * converts the Java CK_SSL3_KEY_MAT_PARAMS object to a CK_SSL3_KEY_MAT_PARAMS structure
- *
- * @param env - used to call JNI funktions to get the Java classes and objects
- * @param jParam - the Java CK_SSL3_KEY_MAT_PARAMS object to convert
- * @return - the new CK_SSL3_KEY_MAT_PARAMS structure
+ * converts the Java CK_TLS_MAC_PARAMS object to a CK_TLS_MAC_PARAMS structure
  */
-CK_SSL3_KEY_MAT_PARAMS jSsl3KeyMatParamToCKSsl3KeyMatParam(JNIEnv *env, jobject jParam)
+CK_TLS_MAC_PARAMS jTlsMacParamsToCKTlsMacParam(JNIEnv *env, jobject jParam)
 {
-    // XXX don't return structs
-    // XXX prefetch class and field ids
-    jclass jSsl3KeyMatParamsClass, jSsl3RandomDataClass, jSsl3KeyMatOutClass;
-    CK_SSL3_KEY_MAT_PARAMS ckParam;
+    jclass jTlsMacParamsClass;
+    CK_TLS_MAC_PARAMS ckParam;
+    jfieldID fieldID;
+    jlong jPrfMechanism, jUlMacLength, jUlServerOrClient;
+    memset(&ckParam, 0, sizeof(CK_TLS_MAC_PARAMS));
+
+    jTlsMacParamsClass = (*env)->FindClass(env, CLASS_TLS_MAC_PARAMS);
+    if (jTlsMacParamsClass == NULL) { return ckParam; }
+
+    /* get prfMechanism */
+    fieldID = (*env)->GetFieldID(env, jTlsMacParamsClass, "prfMechanism", "J");
+    if (fieldID == NULL) { return ckParam; }
+    jPrfMechanism = (*env)->GetLongField(env, jParam, fieldID);
+
+    /* get ulMacLength */
+    fieldID = (*env)->GetFieldID(env, jTlsMacParamsClass, "ulMacLength", "J");
+    if (fieldID == NULL) { return ckParam; }
+    jUlMacLength = (*env)->GetLongField(env, jParam, fieldID);
+
+    /* get ulServerOrClient */
+    fieldID = (*env)->GetFieldID(env, jTlsMacParamsClass, "ulServerOrClient", "J");
+    if (fieldID == NULL) { return ckParam; }
+    jUlServerOrClient = (*env)->GetLongField(env, jParam, fieldID);
+
+    /* populate java values */
+    ckParam.prfMechanism = jLongToCKULong(jPrfMechanism);
+    ckParam.ulMacLength = jLongToCKULong(jUlMacLength);
+    ckParam.ulServerOrClient = jLongToCKULong(jUlServerOrClient);
+
+    return ckParam;
+}
+
+void keyMatParamToCKKeyMatParam(JNIEnv *env, jobject jParam,
+        jclass jKeyMatParamClass,
+        CK_ULONG* cKKeyMatParamUlMacSizeInBits,
+        CK_ULONG* cKKeyMatParamUlKeySizeInBits,
+        CK_ULONG* cKKeyMatParamUlIVSizeInBits,
+        CK_BBOOL* cKKeyMatParamBIsExport,
+        CK_SSL3_RANDOM_DATA* cKKeyMatParamRandomInfo,
+        CK_SSL3_KEY_MAT_OUT_PTR* cKKeyMatParamPReturnedKeyMaterial)
+{
+    jclass jSsl3RandomDataClass, jSsl3KeyMatOutClass;
     jfieldID fieldID;
     jlong jMacSizeInBits, jKeySizeInBits, jIVSizeInBits;
     jboolean jIsExport;
     jobject jRandomInfo, jRIClientRandom, jRIServerRandom;
     jobject jReturnedKeyMaterial, jRMIvClient, jRMIvServer;
     CK_ULONG ckTemp;
-    memset(&ckParam, 0, sizeof(CK_SSL3_KEY_MAT_PARAMS));
 
     /* get ulMacSizeInBits */
-    jSsl3KeyMatParamsClass = (*env)->FindClass(env, CLASS_SSL3_KEY_MAT_PARAMS);
-    if (jSsl3KeyMatParamsClass == NULL) { return ckParam; }
-    fieldID = (*env)->GetFieldID(env, jSsl3KeyMatParamsClass, "ulMacSizeInBits", "J");
-    if (fieldID == NULL) { return ckParam; }
+    fieldID = (*env)->GetFieldID(env, jKeyMatParamClass, "ulMacSizeInBits", "J");
+    if (fieldID == NULL) { return; }
     jMacSizeInBits = (*env)->GetLongField(env, jParam, fieldID);
 
     /* get ulKeySizeInBits */
-    fieldID = (*env)->GetFieldID(env, jSsl3KeyMatParamsClass, "ulKeySizeInBits", "J");
-    if (fieldID == NULL) { return ckParam; }
+    fieldID = (*env)->GetFieldID(env, jKeyMatParamClass, "ulKeySizeInBits", "J");
+    if (fieldID == NULL) { return; }
     jKeySizeInBits = (*env)->GetLongField(env, jParam, fieldID);
 
     /* get ulIVSizeInBits */
-    fieldID = (*env)->GetFieldID(env, jSsl3KeyMatParamsClass, "ulIVSizeInBits", "J");
-    if (fieldID == NULL) { return ckParam; }
+    fieldID = (*env)->GetFieldID(env, jKeyMatParamClass, "ulIVSizeInBits", "J");
+    if (fieldID == NULL) { return; }
     jIVSizeInBits = (*env)->GetLongField(env, jParam, fieldID);
 
     /* get bIsExport */
-    fieldID = (*env)->GetFieldID(env, jSsl3KeyMatParamsClass, "bIsExport", "Z");
-    if (fieldID == NULL) { return ckParam; }
+    fieldID = (*env)->GetFieldID(env, jKeyMatParamClass, "bIsExport", "Z");
+    if (fieldID == NULL) { return; }
     jIsExport = (*env)->GetBooleanField(env, jParam, fieldID);
 
     /* get RandomInfo */
     jSsl3RandomDataClass = (*env)->FindClass(env, CLASS_SSL3_RANDOM_DATA);
-    if (jSsl3RandomDataClass == NULL) { return ckParam; }
-    fieldID = (*env)->GetFieldID(env, jSsl3KeyMatParamsClass, "RandomInfo",  "Lsun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA;");
-    if (fieldID == NULL) { return ckParam; }
+    if (jSsl3RandomDataClass == NULL) { return; }
+    fieldID = (*env)->GetFieldID(env, jKeyMatParamClass, "RandomInfo",
+            "Lsun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA;");
+    if (fieldID == NULL) { return; }
     jRandomInfo = (*env)->GetObjectField(env, jParam, fieldID);
 
     /* get pClientRandom and ulClientRandomLength out of RandomInfo */
     fieldID = (*env)->GetFieldID(env, jSsl3RandomDataClass, "pClientRandom", "[B");
-    if (fieldID == NULL) { return ckParam; }
+    if (fieldID == NULL) { return; }
     jRIClientRandom = (*env)->GetObjectField(env, jRandomInfo, fieldID);
 
     /* get pServerRandom and ulServerRandomLength out of RandomInfo */
     fieldID = (*env)->GetFieldID(env, jSsl3RandomDataClass, "pServerRandom", "[B");
-    if (fieldID == NULL) { return ckParam; }
+    if (fieldID == NULL) { return; }
     jRIServerRandom = (*env)->GetObjectField(env, jRandomInfo, fieldID);
 
     /* get pReturnedKeyMaterial */
     jSsl3KeyMatOutClass = (*env)->FindClass(env, CLASS_SSL3_KEY_MAT_OUT);
-    if (jSsl3KeyMatOutClass == NULL) { return ckParam; }
-    fieldID = (*env)->GetFieldID(env, jSsl3KeyMatParamsClass, "pReturnedKeyMaterial",  "Lsun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_OUT;");
-    if (fieldID == NULL) { return ckParam; }
+    if (jSsl3KeyMatOutClass == NULL) { return; }
+    fieldID = (*env)->GetFieldID(env, jKeyMatParamClass, "pReturnedKeyMaterial",
+            "Lsun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_OUT;");
+    if (fieldID == NULL) { return; }
     jReturnedKeyMaterial = (*env)->GetObjectField(env, jParam, fieldID);
 
     /* get pIVClient out of pReturnedKeyMaterial */
     fieldID = (*env)->GetFieldID(env, jSsl3KeyMatOutClass, "pIVClient", "[B");
-    if (fieldID == NULL) { return ckParam; }
+    if (fieldID == NULL) { return; }
     jRMIvClient = (*env)->GetObjectField(env, jReturnedKeyMaterial, fieldID);
 
     /* get pIVServer out of pReturnedKeyMaterial */
     fieldID = (*env)->GetFieldID(env, jSsl3KeyMatOutClass, "pIVServer", "[B");
-    if (fieldID == NULL) { return ckParam; }
+    if (fieldID == NULL) { return; }
     jRMIvServer = (*env)->GetObjectField(env, jReturnedKeyMaterial, fieldID);
 
     /* populate java values */
-    ckParam.ulMacSizeInBits = jLongToCKULong(jMacSizeInBits);
-    ckParam.ulKeySizeInBits = jLongToCKULong(jKeySizeInBits);
-    ckParam.ulIVSizeInBits = jLongToCKULong(jIVSizeInBits);
-    ckParam.bIsExport = jBooleanToCKBBool(jIsExport);
-    jByteArrayToCKByteArray(env, jRIClientRandom, &(ckParam.RandomInfo.pClientRandom), &(ckParam.RandomInfo.ulClientRandomLen));
-    if ((*env)->ExceptionCheck(env)) { return ckParam; }
-    jByteArrayToCKByteArray(env, jRIServerRandom, &(ckParam.RandomInfo.pServerRandom), &(ckParam.RandomInfo.ulServerRandomLen));
+    *cKKeyMatParamUlMacSizeInBits = jLongToCKULong(jMacSizeInBits);
+    *cKKeyMatParamUlKeySizeInBits = jLongToCKULong(jKeySizeInBits);
+    *cKKeyMatParamUlIVSizeInBits = jLongToCKULong(jIVSizeInBits);
+    *cKKeyMatParamBIsExport = jBooleanToCKBBool(jIsExport);
+    jByteArrayToCKByteArray(env, jRIClientRandom,
+            &(cKKeyMatParamRandomInfo->pClientRandom),
+            &(cKKeyMatParamRandomInfo->ulClientRandomLen));
+    if ((*env)->ExceptionCheck(env)) { return; }
+    jByteArrayToCKByteArray(env, jRIServerRandom,
+            &(cKKeyMatParamRandomInfo->pServerRandom),
+            &(cKKeyMatParamRandomInfo->ulServerRandomLen));
     if ((*env)->ExceptionCheck(env)) {
-        free(ckParam.RandomInfo.pClientRandom);
-        return ckParam;
+        free(cKKeyMatParamRandomInfo->pClientRandom);
+        return;
     }
     /* allocate memory for pRetrunedKeyMaterial */
-    ckParam.pReturnedKeyMaterial = (CK_SSL3_KEY_MAT_OUT_PTR) malloc(sizeof(CK_SSL3_KEY_MAT_OUT));
-    if (ckParam.pReturnedKeyMaterial == NULL) {
-        free(ckParam.RandomInfo.pClientRandom);
-        free(ckParam.RandomInfo.pServerRandom);
+    *cKKeyMatParamPReturnedKeyMaterial =
+            (CK_SSL3_KEY_MAT_OUT_PTR)malloc(sizeof(CK_SSL3_KEY_MAT_OUT));
+    if (*cKKeyMatParamPReturnedKeyMaterial == NULL) {
+        free(cKKeyMatParamRandomInfo->pClientRandom);
+        free(cKKeyMatParamRandomInfo->pServerRandom);
         throwOutOfMemoryError(env, 0);
-        return ckParam;
+        return;
     }
 
     // the handles are output params only, no need to fetch them from Java
-    ckParam.pReturnedKeyMaterial->hClientMacSecret = 0;
-    ckParam.pReturnedKeyMaterial->hServerMacSecret = 0;
-    ckParam.pReturnedKeyMaterial->hClientKey = 0;
-    ckParam.pReturnedKeyMaterial->hServerKey = 0;
+    (*cKKeyMatParamPReturnedKeyMaterial)->hClientMacSecret = 0;
+    (*cKKeyMatParamPReturnedKeyMaterial)->hServerMacSecret = 0;
+    (*cKKeyMatParamPReturnedKeyMaterial)->hClientKey = 0;
+    (*cKKeyMatParamPReturnedKeyMaterial)->hServerKey = 0;
 
-    jByteArrayToCKByteArray(env, jRMIvClient, &(ckParam.pReturnedKeyMaterial->pIVClient), &ckTemp);
+    jByteArrayToCKByteArray(env, jRMIvClient,
+            &((*cKKeyMatParamPReturnedKeyMaterial)->pIVClient), &ckTemp);
     if ((*env)->ExceptionCheck(env)) {
-        free(ckParam.RandomInfo.pClientRandom);
-        free(ckParam.RandomInfo.pServerRandom);
-        free(ckParam.pReturnedKeyMaterial);
-        return ckParam;
+        free(cKKeyMatParamRandomInfo->pClientRandom);
+        free(cKKeyMatParamRandomInfo->pServerRandom);
+        free((*cKKeyMatParamPReturnedKeyMaterial));
+        return;
     }
-    jByteArrayToCKByteArray(env, jRMIvServer, &(ckParam.pReturnedKeyMaterial->pIVServer), &ckTemp);
+    jByteArrayToCKByteArray(env, jRMIvServer,
+            &((*cKKeyMatParamPReturnedKeyMaterial)->pIVServer), &ckTemp);
     if ((*env)->ExceptionCheck(env)) {
-        free(ckParam.RandomInfo.pClientRandom);
-        free(ckParam.RandomInfo.pServerRandom);
-        free(ckParam.pReturnedKeyMaterial->pIVClient);
-        free(ckParam.pReturnedKeyMaterial);
-        return ckParam;
+        free(cKKeyMatParamRandomInfo->pClientRandom);
+        free(cKKeyMatParamRandomInfo->pServerRandom);
+        free((*cKKeyMatParamPReturnedKeyMaterial)->pIVClient);
+        free((*cKKeyMatParamPReturnedKeyMaterial));
+        return;
     }
 
-    return ckParam ;
+    return;
+}
+/*
+ * converts the Java CK_SSL3_KEY_MAT_PARAMS object to a
+ * CK_SSL3_KEY_MAT_PARAMS structure
+ *
+ * @param env - used to call JNI funktions to get the Java classes and objects
+ * @param jParam - the Java CK_SSL3_KEY_MAT_PARAMS object to convert
+ * @return - the new CK_SSL3_KEY_MAT_PARAMS structure
+ */
+CK_SSL3_KEY_MAT_PARAMS
+jSsl3KeyMatParamToCKSsl3KeyMatParam(JNIEnv *env, jobject jParam)
+{
+    CK_SSL3_KEY_MAT_PARAMS ckParam;
+    jclass jSsl3KeyMatParamsClass;
+    memset(&ckParam, 0, sizeof(CK_SSL3_KEY_MAT_PARAMS));
+    jSsl3KeyMatParamsClass = (*env)->FindClass(env,
+            CLASS_SSL3_KEY_MAT_PARAMS);
+    if (jSsl3KeyMatParamsClass == NULL) { return ckParam; }
+    keyMatParamToCKKeyMatParam(env, jParam, jSsl3KeyMatParamsClass,
+            &ckParam.ulMacSizeInBits, &ckParam.ulKeySizeInBits,
+            &ckParam.ulIVSizeInBits, &ckParam.bIsExport,
+            &ckParam.RandomInfo, &ckParam.pReturnedKeyMaterial);
+    return ckParam;
+}
+
+/*
+ * converts the Java CK_TLS12_KEY_MAT_PARAMS object to a
+ * CK_TLS12_KEY_MAT_PARAMS structure
+ *
+ * @param env - used to call JNI functions to get the Java classes and objects
+ * @param jParam - the Java CK_TLS12_KEY_MAT_PARAMS object to convert
+ * @return - the new CK_TLS12_KEY_MAT_PARAMS structure
+ */
+CK_TLS12_KEY_MAT_PARAMS jTls12KeyMatParamToCKTls12KeyMatParam(JNIEnv *env,
+        jobject jParam)
+{
+    CK_TLS12_KEY_MAT_PARAMS ckParam;
+    jclass jTls12KeyMatParamsClass;
+    jfieldID fieldID;
+    memset(&ckParam, 0, sizeof(CK_TLS12_KEY_MAT_PARAMS));
+    jTls12KeyMatParamsClass = (*env)->FindClass(env,
+            CLASS_TLS12_KEY_MAT_PARAMS);
+    if (jTls12KeyMatParamsClass == NULL) { return ckParam; }
+    keyMatParamToCKKeyMatParam(env, jParam, jTls12KeyMatParamsClass,
+            &ckParam.ulMacSizeInBits, &ckParam.ulKeySizeInBits,
+            &ckParam.ulIVSizeInBits, &ckParam.bIsExport,
+            &ckParam.RandomInfo, &ckParam.pReturnedKeyMaterial);
+    fieldID = (*env)->GetFieldID(env, jTls12KeyMatParamsClass,
+            "prfHashMechanism", "J");
+    if (fieldID != NULL) {
+        jlong prfHashMechanism = (*env)->GetLongField(env, jParam, fieldID);
+        ckParam.prfHashMechanism = (CK_MECHANISM_TYPE)prfHashMechanism;
+    }
+    return ckParam;
 }
 
 /*
@@ -980,8 +1120,11 @@
 void jMechanismParameterToCKMechanismParameterSlow(JNIEnv *env, jobject jParam, CK_VOID_PTR *ckpParamPtr, CK_ULONG *ckpLength)
 {
     /* get all Java mechanism parameter classes */
-    jclass jVersionClass, jSsl3MasterKeyDeriveParamsClass, jSsl3KeyMatParamsClass;
-    jclass jTlsPrfParamsClass, jAesCtrParamsClass, jRsaPkcsOaepParamsClass;
+    jclass jVersionClass, jSsl3MasterKeyDeriveParamsClass;
+    jclass jTls12MasterKeyDeriveParamsClass, jSsl3KeyMatParamsClass;
+    jclass jTls12KeyMatParamsClass;
+    jclass jTlsPrfParamsClass, jTlsMacParamsClass, jAesCtrParamsClass;
+    jclass jRsaPkcsOaepParamsClass;
     jclass jPbeParamsClass, jPkcs5Pbkd2ParamsClass, jRsaPkcsPssParamsClass;
     jclass jEcdh1DeriveParamsClass, jEcdh2DeriveParamsClass;
     jclass jX942Dh1DeriveParamsClass, jX942Dh2DeriveParamsClass;
@@ -1061,6 +1204,62 @@
         return;
     }
 
+    jTls12KeyMatParamsClass = (*env)->FindClass(env, CLASS_TLS12_KEY_MAT_PARAMS);
+    if (jTls12KeyMatParamsClass == NULL) { return; }
+    if ((*env)->IsInstanceOf(env, jParam, jTls12KeyMatParamsClass)) {
+        /*
+         * CK_TLS12_KEY_MAT_PARAMS
+         */
+        CK_TLS12_KEY_MAT_PARAMS_PTR ckpParam;
+
+        ckpParam = (CK_TLS12_KEY_MAT_PARAMS_PTR) malloc(sizeof(CK_TLS12_KEY_MAT_PARAMS));
+        if (ckpParam == NULL) {
+            throwOutOfMemoryError(env, 0);
+            return;
+        }
+
+        /* convert jParameter to CKParameter */
+        *ckpParam = jTls12KeyMatParamToCKTls12KeyMatParam(env, jParam);
+        if ((*env)->ExceptionCheck(env)) {
+            free(ckpParam);
+            return;
+        }
+
+        /* get length and pointer of parameter */
+        *ckpLength = sizeof(CK_TLS12_KEY_MAT_PARAMS);
+        *ckpParamPtr = ckpParam;
+        return;
+    }
+
+    jTls12MasterKeyDeriveParamsClass =
+            (*env)->FindClass(env, CLASS_TLS12_MASTER_KEY_DERIVE_PARAMS);
+    if (jTls12MasterKeyDeriveParamsClass == NULL) { return; }
+    if ((*env)->IsInstanceOf(env, jParam, jTls12MasterKeyDeriveParamsClass)) {
+        /*
+         * CK_TLS12_MASTER_KEY_DERIVE_PARAMS
+         */
+        CK_TLS12_MASTER_KEY_DERIVE_PARAMS_PTR ckpParam;
+
+        ckpParam = (CK_TLS12_MASTER_KEY_DERIVE_PARAMS_PTR)malloc(
+                sizeof(CK_TLS12_MASTER_KEY_DERIVE_PARAMS));
+        if (ckpParam == NULL) {
+            throwOutOfMemoryError(env, 0);
+            return;
+        }
+
+        /* convert jParameter to CKParameter */
+        *ckpParam = jTls12MasterKeyDeriveParamToCKTls12MasterKeyDeriveParam(env, jParam);
+        if ((*env)->ExceptionCheck(env)) {
+            free(ckpParam);
+            return;
+        }
+
+        /* get length and pointer of parameter */
+        *ckpLength = sizeof(CK_TLS12_MASTER_KEY_DERIVE_PARAMS);
+        *ckpParamPtr = ckpParam;
+        return;
+    }
+
     jTlsPrfParamsClass = (*env)->FindClass(env, CLASS_TLS_PRF_PARAMS);
     if (jTlsPrfParamsClass == NULL) { return; }
     if ((*env)->IsInstanceOf(env, jParam, jTlsPrfParamsClass)) {
@@ -1088,6 +1287,30 @@
         return;
     }
 
+    jTlsMacParamsClass = (*env)->FindClass(env, CLASS_TLS_MAC_PARAMS);
+    if (jTlsMacParamsClass == NULL) { return; }
+    if ((*env)->IsInstanceOf(env, jParam, jTlsMacParamsClass)) {
+        CK_TLS_MAC_PARAMS_PTR ckpParam;
+
+        ckpParam = (CK_TLS_MAC_PARAMS_PTR) malloc(sizeof(CK_TLS_MAC_PARAMS));
+        if (ckpParam == NULL) {
+            throwOutOfMemoryError(env, 0);
+            return;
+        }
+
+        /* convert jParameter to CKParameter */
+        *ckpParam = jTlsMacParamsToCKTlsMacParam(env, jParam);
+        if ((*env)->ExceptionCheck(env)) {
+            free(ckpParam);
+            return;
+        }
+
+        /* get length and pointer of parameter */
+        *ckpLength = sizeof(CK_TLS_MAC_PARAMS);
+        *ckpParamPtr = ckpParam;
+        return;
+    }
+
     jAesCtrParamsClass = (*env)->FindClass(env, CLASS_AES_CTR_PARAMS);
     if (jAesCtrParamsClass == NULL) { return; }
     if ((*env)->IsInstanceOf(env, jParam, jAesCtrParamsClass)) {
--- a/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_keymgmt.c	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_keymgmt.c	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  */
 
 /* Copyright  (c) 2002 Graz University of Technology. All rights reserved.
@@ -382,25 +382,38 @@
 
 #ifdef P11_ENABLE_C_DERIVEKEY
 
-void freeMasterKeyDeriveParams(CK_MECHANISM_PTR ckMechanism) {
+static void freeMasterKeyDeriveParams(CK_SSL3_RANDOM_DATA *RandomInfo, CK_VERSION_PTR pVersion) {
+    if (RandomInfo->pClientRandom != NULL) {
+        free(RandomInfo->pClientRandom);
+    }
+    if (RandomInfo->pServerRandom != NULL) {
+        free(RandomInfo->pServerRandom);
+    }
+    if (pVersion != NULL) {
+        free(pVersion);
+    }
+}
+
+void ssl3FreeMasterKeyDeriveParams(CK_MECHANISM_PTR ckMechanism) {
     CK_SSL3_MASTER_KEY_DERIVE_PARAMS *params = (CK_SSL3_MASTER_KEY_DERIVE_PARAMS *) ckMechanism->pParameter;
     if (params == NULL) {
         return;
     }
+    freeMasterKeyDeriveParams(&(params->RandomInfo), params->pVersion);
+}
 
-    if (params->RandomInfo.pClientRandom != NULL) {
-        free(params->RandomInfo.pClientRandom);
+void tls12FreeMasterKeyDeriveParams(CK_MECHANISM_PTR ckMechanism) {
+    CK_TLS12_MASTER_KEY_DERIVE_PARAMS *params =
+            (CK_TLS12_MASTER_KEY_DERIVE_PARAMS *)ckMechanism->pParameter;
+    if (params == NULL) {
+        return;
     }
-    if (params->RandomInfo.pServerRandom != NULL) {
-        free(params->RandomInfo.pServerRandom);
-    }
-    if (params->pVersion != NULL) {
-        free(params->pVersion);
-    }
+    freeMasterKeyDeriveParams(&(params->RandomInfo), params->pVersion);
 }
 
 void freeEcdh1DeriveParams(CK_MECHANISM_PTR ckMechanism) {
-    CK_ECDH1_DERIVE_PARAMS *params = (CK_ECDH1_DERIVE_PARAMS *) ckMechanism->pParameter;
+    CK_ECDH1_DERIVE_PARAMS *params =
+            (CK_ECDH1_DERIVE_PARAMS *)ckMechanism->pParameter;
     if (params == NULL) {
         return;
     }
@@ -525,6 +538,7 @@
     switch (ckMechanism.mechanism) {
     case CKM_SSL3_KEY_AND_MAC_DERIVE:
     case CKM_TLS_KEY_AND_MAC_DERIVE:
+    case CKM_TLS12_KEY_AND_MAC_DERIVE:
     case CKM_TLS_PRF:
         // these mechanism do not return a key handle via phKey
         // set to NULL in case pedantic implementations check for it
@@ -546,17 +560,28 @@
     case CKM_SSL3_MASTER_KEY_DERIVE:
     case CKM_TLS_MASTER_KEY_DERIVE:
         /* we must copy back the client version */
-        copyBackClientVersion(env, &ckMechanism, jMechanism);
-        freeMasterKeyDeriveParams(&ckMechanism);
+        ssl3CopyBackClientVersion(env, &ckMechanism, jMechanism);
+        ssl3FreeMasterKeyDeriveParams(&ckMechanism);
+        break;
+    case CKM_TLS12_MASTER_KEY_DERIVE:
+        tls12CopyBackClientVersion(env, &ckMechanism, jMechanism);
+        tls12FreeMasterKeyDeriveParams(&ckMechanism);
         break;
     case CKM_SSL3_MASTER_KEY_DERIVE_DH:
     case CKM_TLS_MASTER_KEY_DERIVE_DH:
-        freeMasterKeyDeriveParams(&ckMechanism);
+        ssl3FreeMasterKeyDeriveParams(&ckMechanism);
+        break;
+    case CKM_TLS12_MASTER_KEY_DERIVE_DH:
+        tls12FreeMasterKeyDeriveParams(&ckMechanism);
         break;
     case CKM_SSL3_KEY_AND_MAC_DERIVE:
     case CKM_TLS_KEY_AND_MAC_DERIVE:
         /* we must copy back the unwrapped key info to the jMechanism object */
-        copyBackSSLKeyMatParams(env, &ckMechanism, jMechanism);
+        ssl3CopyBackKeyMatParams(env, &ckMechanism, jMechanism);
+        break;
+    case CKM_TLS12_KEY_AND_MAC_DERIVE:
+        /* we must copy back the unwrapped key info to the jMechanism object */
+        tls12CopyBackKeyMatParams(env, &ckMechanism, jMechanism);
         break;
     case CKM_TLS_PRF:
         copyBackTLSPrfParams(env, &ckMechanism, jMechanism);
@@ -577,53 +602,42 @@
     return jKeyHandle ;
 }
 
-/*
- * Copy back the client version information from the native
- * structure to the Java object. This is only used for the
- * CKM_SSL3_MASTER_KEY_DERIVE mechanism when used for deriving a key.
- *
- */
-void copyBackClientVersion(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism)
+static void copyBackClientVersion(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism,
+        CK_VERSION *ckVersion, const char *class_master_key_derive_params)
 {
-  jclass jMechanismClass, jSSL3MasterKeyDeriveParamsClass, jVersionClass;
-  CK_SSL3_MASTER_KEY_DERIVE_PARAMS *ckSSL3MasterKeyDeriveParams;
-  CK_VERSION *ckVersion;
-  jfieldID fieldID;
-  CK_MECHANISM_TYPE ckMechanismType;
-  jlong jMechanismType;
-  jobject jSSL3MasterKeyDeriveParams;
-  jobject jVersion;
+    jclass jMasterKeyDeriveParamsClass, jMechanismClass, jVersionClass;
+    jobject jMasterKeyDeriveParams;
+    jfieldID fieldID;
+    CK_MECHANISM_TYPE ckMechanismType;
+    jlong jMechanismType;
+    jobject jVersion;
 
-  /* get mechanism */
-  jMechanismClass = (*env)->FindClass(env, CLASS_MECHANISM);
-  if (jMechanismClass == NULL) { return; }
-  fieldID = (*env)->GetFieldID(env, jMechanismClass, "mechanism", "J");
-  if (fieldID == NULL) { return; }
-  jMechanismType = (*env)->GetLongField(env, jMechanism, fieldID);
-  ckMechanismType = jLongToCKULong(jMechanismType);
-  if (ckMechanismType != ckMechanism->mechanism) {
-    /* we do not have maching types, this should not occur */
-    return;
-  }
+    /* get mechanism */
+    jMechanismClass = (*env)->FindClass(env, CLASS_MECHANISM);
+    if (jMechanismClass == NULL) { return; }
+    fieldID = (*env)->GetFieldID(env, jMechanismClass, "mechanism", "J");
+    if (fieldID == NULL) { return; }
+    jMechanismType = (*env)->GetLongField(env, jMechanism, fieldID);
+    ckMechanismType = jLongToCKULong(jMechanismType);
+    if (ckMechanismType != ckMechanism->mechanism) {
+        /* we do not have maching types, this should not occur */
+        return;
+    }
 
-  /* get the native CK_SSL3_MASTER_KEY_DERIVE_PARAMS */
-  ckSSL3MasterKeyDeriveParams = (CK_SSL3_MASTER_KEY_DERIVE_PARAMS *) ckMechanism->pParameter;
-  if (ckSSL3MasterKeyDeriveParams != NULL_PTR) {
-    /* get the native CK_VERSION */
-    ckVersion = ckSSL3MasterKeyDeriveParams->pVersion;
     if (ckVersion != NULL_PTR) {
       /* get the Java CK_SSL3_MASTER_KEY_DERIVE_PARAMS (pParameter) */
       fieldID = (*env)->GetFieldID(env, jMechanismClass, "pParameter", "Ljava/lang/Object;");
       if (fieldID == NULL) { return; }
 
-      jSSL3MasterKeyDeriveParams = (*env)->GetObjectField(env, jMechanism, fieldID);
+      jMasterKeyDeriveParams = (*env)->GetObjectField(env, jMechanism, fieldID);
 
       /* get the Java CK_VERSION */
-      jSSL3MasterKeyDeriveParamsClass = (*env)->FindClass(env, CLASS_SSL3_MASTER_KEY_DERIVE_PARAMS);
-      if (jSSL3MasterKeyDeriveParamsClass == NULL) { return; }
-      fieldID = (*env)->GetFieldID(env, jSSL3MasterKeyDeriveParamsClass, "pVersion", "L"CLASS_VERSION";");
+      jMasterKeyDeriveParamsClass = (*env)->FindClass(env, class_master_key_derive_params);
+      if (jMasterKeyDeriveParamsClass == NULL) { return; }
+      fieldID = (*env)->GetFieldID(env, jMasterKeyDeriveParamsClass,
+              "pVersion", "L"CLASS_VERSION";");
       if (fieldID == NULL) { return; }
-      jVersion = (*env)->GetObjectField(env, jSSL3MasterKeyDeriveParams, fieldID);
+      jVersion = (*env)->GetObjectField(env, jMasterKeyDeriveParams, fieldID);
 
       /* now copy back the version from the native structure to the Java structure */
 
@@ -639,92 +653,126 @@
       if (fieldID == NULL) { return; }
       (*env)->SetByteField(env, jVersion, fieldID, ckByteToJByte(ckVersion->minor));
     }
-  }
 }
 
+/*
+ * Copy back the client version information from the native
+ * structure to the Java object. This is only used for
+ * CKM_SSL3_MASTER_KEY_DERIVE and CKM_TLS_MASTER_KEY_DERIVE
+ * mechanisms when used for deriving a key.
+ *
+ */
+void ssl3CopyBackClientVersion(JNIEnv *env, CK_MECHANISM *ckMechanism,
+        jobject jMechanism)
+{
+    CK_SSL3_MASTER_KEY_DERIVE_PARAMS *ckSSL3MasterKeyDeriveParams;
+    ckSSL3MasterKeyDeriveParams =
+            (CK_SSL3_MASTER_KEY_DERIVE_PARAMS *)ckMechanism->pParameter;
+    if (ckSSL3MasterKeyDeriveParams != NULL_PTR) {
+        copyBackClientVersion(env, ckMechanism, jMechanism,
+                ckSSL3MasterKeyDeriveParams->pVersion,
+                CLASS_SSL3_MASTER_KEY_DERIVE_PARAMS);
+    }
+}
 
 /*
- * Copy back the derived keys and initialization vectors from the native
- * structure to the Java object. This is only used for the
- * CKM_SSL3_KEY_AND_MAC_DERIVE mechanism when used for deriving a key.
+ * Copy back the client version information from the native
+ * structure to the Java object. This is only used for
+ * CKM_TLS12_MASTER_KEY_DERIVE mechanism when used for deriving a key.
  *
  */
-void copyBackSSLKeyMatParams(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism)
+void tls12CopyBackClientVersion(JNIEnv *env, CK_MECHANISM *ckMechanism,
+        jobject jMechanism)
 {
-  jclass jMechanismClass, jSSL3KeyMatParamsClass, jSSL3KeyMatOutClass;
-  CK_SSL3_KEY_MAT_PARAMS *ckSSL3KeyMatParam;
-  CK_SSL3_KEY_MAT_OUT *ckSSL3KeyMatOut;
-  jfieldID fieldID;
-  CK_MECHANISM_TYPE ckMechanismType;
-  jlong jMechanismType;
-  CK_BYTE_PTR iv;
-  jobject jSSL3KeyMatParam;
-  jobject jSSL3KeyMatOut;
-  jobject jIV;
-  jint jLength;
-  jbyte* jBytes;
-  int i;
+    CK_TLS12_MASTER_KEY_DERIVE_PARAMS *ckTLS12MasterKeyDeriveParams;
+    ckTLS12MasterKeyDeriveParams =
+            (CK_TLS12_MASTER_KEY_DERIVE_PARAMS *)ckMechanism->pParameter;
+    if (ckTLS12MasterKeyDeriveParams != NULL_PTR) {
+        copyBackClientVersion(env, ckMechanism, jMechanism,
+                ckTLS12MasterKeyDeriveParams->pVersion,
+                CLASS_TLS12_MASTER_KEY_DERIVE_PARAMS);
+    }
+}
 
-  /* get mechanism */
-  jMechanismClass= (*env)->FindClass(env, CLASS_MECHANISM);
-  if (jMechanismClass == NULL) { return; }
-  fieldID = (*env)->GetFieldID(env, jMechanismClass, "mechanism", "J");
-  if (fieldID == NULL) { return; }
-  jMechanismType = (*env)->GetLongField(env, jMechanism, fieldID);
-  ckMechanismType = jLongToCKULong(jMechanismType);
-  if (ckMechanismType != ckMechanism->mechanism) {
-    /* we do not have maching types, this should not occur */
-    return;
-  }
+static void copyBackKeyMatParams(JNIEnv *env, CK_MECHANISM *ckMechanism,
+        jobject jMechanism, CK_SSL3_RANDOM_DATA *RandomInfo,
+        CK_SSL3_KEY_MAT_OUT_PTR ckSSL3KeyMatOut, const char *class_key_mat_params)
+{
+    jclass jMechanismClass, jKeyMatParamsClass, jSSL3KeyMatOutClass;
+    jfieldID fieldID;
+    CK_MECHANISM_TYPE ckMechanismType;
+    jlong jMechanismType;
+    CK_BYTE_PTR iv;
+    jobject jKeyMatParam;
+    jobject jSSL3KeyMatOut;
+    jobject jIV;
+    jint jLength;
+    jbyte* jBytes;
+    int i;
 
-  /* get the native CK_SSL3_KEY_MAT_PARAMS */
-  ckSSL3KeyMatParam = (CK_SSL3_KEY_MAT_PARAMS *) ckMechanism->pParameter;
-  if (ckSSL3KeyMatParam != NULL_PTR) {
-    // free malloc'd data
-    if (ckSSL3KeyMatParam->RandomInfo.pClientRandom != NULL) {
-        free(ckSSL3KeyMatParam->RandomInfo.pClientRandom);
-    }
-    if (ckSSL3KeyMatParam->RandomInfo.pServerRandom != NULL) {
-        free(ckSSL3KeyMatParam->RandomInfo.pServerRandom);
+    /* get mechanism */
+    jMechanismClass= (*env)->FindClass(env, CLASS_MECHANISM);
+    if (jMechanismClass == NULL) { return; }
+    fieldID = (*env)->GetFieldID(env, jMechanismClass, "mechanism", "J");
+    if (fieldID == NULL) { return; }
+    jMechanismType = (*env)->GetLongField(env, jMechanism, fieldID);
+    ckMechanismType = jLongToCKULong(jMechanismType);
+    if (ckMechanismType != ckMechanism->mechanism) {
+        /* we do not have maching types, this should not occur */
+        return;
     }
 
-    /* get the native CK_SSL3_KEY_MAT_OUT */
-    ckSSL3KeyMatOut = ckSSL3KeyMatParam->pReturnedKeyMaterial;
+    // free malloc'd data
+    if (RandomInfo->pClientRandom != NULL) {
+        free(RandomInfo->pClientRandom);
+    }
+    if (RandomInfo->pServerRandom != NULL) {
+        free(RandomInfo->pServerRandom);
+    }
+
     if (ckSSL3KeyMatOut != NULL_PTR) {
-      /* get the Java CK_SSL3_KEY_MAT_PARAMS (pParameter) */
-      fieldID = (*env)->GetFieldID(env, jMechanismClass, "pParameter", "Ljava/lang/Object;");
+      /* get the Java params object (pParameter) */
+      fieldID = (*env)->GetFieldID(env, jMechanismClass, "pParameter",
+              "Ljava/lang/Object;");
       if (fieldID == NULL) { return; }
-      jSSL3KeyMatParam = (*env)->GetObjectField(env, jMechanism, fieldID);
+      jKeyMatParam = (*env)->GetObjectField(env, jMechanism, fieldID);
 
       /* get the Java CK_SSL3_KEY_MAT_OUT */
-      jSSL3KeyMatParamsClass = (*env)->FindClass(env, CLASS_SSL3_KEY_MAT_PARAMS);
-      if (jSSL3KeyMatParamsClass == NULL) { return; }
-      fieldID = (*env)->GetFieldID(env, jSSL3KeyMatParamsClass, "pReturnedKeyMaterial", "L"CLASS_SSL3_KEY_MAT_OUT";");
+      jKeyMatParamsClass = (*env)->FindClass(env, class_key_mat_params);
+      if (jKeyMatParamsClass == NULL) { return; }
+      fieldID = (*env)->GetFieldID(env, jKeyMatParamsClass,
+              "pReturnedKeyMaterial", "L"CLASS_SSL3_KEY_MAT_OUT";");
       if (fieldID == NULL) { return; }
-      jSSL3KeyMatOut = (*env)->GetObjectField(env, jSSL3KeyMatParam, fieldID);
+      jSSL3KeyMatOut = (*env)->GetObjectField(env, jKeyMatParam, fieldID);
 
       /* now copy back all the key handles and the initialization vectors */
       /* copy back client MAC secret handle */
       jSSL3KeyMatOutClass = (*env)->FindClass(env, CLASS_SSL3_KEY_MAT_OUT);
       if (jSSL3KeyMatOutClass == NULL) { return; }
-      fieldID = (*env)->GetFieldID(env, jSSL3KeyMatOutClass, "hClientMacSecret", "J");
+      fieldID = (*env)->GetFieldID(env, jSSL3KeyMatOutClass,
+              "hClientMacSecret", "J");
       if (fieldID == NULL) { return; }
-      (*env)->SetLongField(env, jSSL3KeyMatOut, fieldID, ckULongToJLong(ckSSL3KeyMatOut->hClientMacSecret));
+      (*env)->SetLongField(env, jSSL3KeyMatOut, fieldID,
+              ckULongToJLong(ckSSL3KeyMatOut->hClientMacSecret));
 
       /* copy back server MAC secret handle */
-      fieldID = (*env)->GetFieldID(env, jSSL3KeyMatOutClass, "hServerMacSecret", "J");
+      fieldID = (*env)->GetFieldID(env, jSSL3KeyMatOutClass,
+              "hServerMacSecret", "J");
       if (fieldID == NULL) { return; }
-      (*env)->SetLongField(env, jSSL3KeyMatOut, fieldID, ckULongToJLong(ckSSL3KeyMatOut->hServerMacSecret));
+      (*env)->SetLongField(env, jSSL3KeyMatOut, fieldID,
+              ckULongToJLong(ckSSL3KeyMatOut->hServerMacSecret));
 
       /* copy back client secret key handle */
       fieldID = (*env)->GetFieldID(env, jSSL3KeyMatOutClass, "hClientKey", "J");
       if (fieldID == NULL) { return; }
-      (*env)->SetLongField(env, jSSL3KeyMatOut, fieldID, ckULongToJLong(ckSSL3KeyMatOut->hClientKey));
+      (*env)->SetLongField(env, jSSL3KeyMatOut, fieldID,
+              ckULongToJLong(ckSSL3KeyMatOut->hClientKey));
 
       /* copy back server secret key handle */
       fieldID = (*env)->GetFieldID(env, jSSL3KeyMatOutClass, "hServerKey", "J");
       if (fieldID == NULL) { return; }
-      (*env)->SetLongField(env, jSSL3KeyMatOut, fieldID, ckULongToJLong(ckSSL3KeyMatOut->hServerKey));
+      (*env)->SetLongField(env, jSSL3KeyMatOut, fieldID,
+              ckULongToJLong(ckSSL3KeyMatOut->hServerKey));
 
       /* copy back the client IV */
       fieldID = (*env)->GetFieldID(env, jSSL3KeyMatOutClass, "pIVClient", "[B");
@@ -767,7 +815,45 @@
       free(ckSSL3KeyMatOut->pIVServer);
       free(ckSSL3KeyMatOut);
     }
-  }
+}
+
+/*
+ * Copy back the derived keys and initialization vectors from the native
+ * structure to the Java object. This is only used for
+ * CKM_SSL3_KEY_AND_MAC_DERIVE and CKM_TLS_KEY_AND_MAC_DERIVE mechanisms
+ * when used for deriving a key.
+ *
+ */
+void ssl3CopyBackKeyMatParams(JNIEnv *env, CK_MECHANISM *ckMechanism,
+        jobject jMechanism)
+{
+    CK_SSL3_KEY_MAT_PARAMS *ckSSL3KeyMatParam;
+    ckSSL3KeyMatParam = (CK_SSL3_KEY_MAT_PARAMS *)ckMechanism->pParameter;
+    if (ckSSL3KeyMatParam != NULL_PTR) {
+        copyBackKeyMatParams(env, ckMechanism, jMechanism,
+                &(ckSSL3KeyMatParam->RandomInfo),
+                ckSSL3KeyMatParam->pReturnedKeyMaterial,
+                CLASS_SSL3_KEY_MAT_PARAMS);
+    }
+}
+
+/*
+ * Copy back the derived keys and initialization vectors from the native
+ * structure to the Java object. This is only used for
+ * CKM_TLS12_KEY_AND_MAC_DERIVE mechanism when used for deriving a key.
+ *
+ */
+void tls12CopyBackKeyMatParams(JNIEnv *env, CK_MECHANISM *ckMechanism,
+        jobject jMechanism)
+{
+    CK_TLS12_KEY_MAT_PARAMS *ckTLS12KeyMatParam;
+    ckTLS12KeyMatParam = (CK_TLS12_KEY_MAT_PARAMS *) ckMechanism->pParameter;
+    if (ckTLS12KeyMatParam != NULL_PTR) {
+        copyBackKeyMatParams(env, ckMechanism, jMechanism,
+                &(ckTLS12KeyMatParam->RandomInfo),
+                ckTLS12KeyMatParam->pReturnedKeyMaterial,
+                CLASS_TLS12_KEY_MAT_PARAMS);
+    }
 }
 
 #endif
--- a/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11t.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11t.h	Mon Sep 24 10:59:26 2018 -0700
@@ -807,6 +807,12 @@
 #define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE  0x000003D4
 #define CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE  0x000003D5
 
+/* new for v2.40 */
+#define CKM_TLS12_MASTER_KEY_DERIVE         0x000003E0
+#define CKM_TLS12_KEY_AND_MAC_DERIVE        0x000003E1
+#define CKM_TLS12_MASTER_KEY_DERIVE_DH      0x000003E2
+#define CKM_TLS_MAC                         0x000003E4
+
 #define CKM_KEY_WRAP_LYNKS             0x00000400
 #define CKM_KEY_WRAP_SET_OAEP          0x00000401
 
@@ -1682,4 +1688,34 @@
 
 typedef CK_PKCS5_PBKD2_PARAMS CK_PTR CK_PKCS5_PBKD2_PARAMS_PTR;
 
+/* new for v2.40 */
+
+typedef struct CK_TLS12_MASTER_KEY_DERIVE_PARAMS {
+  CK_SSL3_RANDOM_DATA       RandomInfo;
+  CK_VERSION_PTR            pVersion;
+  CK_MECHANISM_TYPE         prfHashMechanism;
+} CK_TLS12_MASTER_KEY_DERIVE_PARAMS;
+
+typedef CK_TLS12_MASTER_KEY_DERIVE_PARAMS CK_PTR CK_TLS12_MASTER_KEY_DERIVE_PARAMS_PTR;
+
+typedef struct CK_TLS12_KEY_MAT_PARAMS {
+  CK_ULONG ulMacSizeInBits;
+  CK_ULONG ulKeySizeInBits;
+  CK_ULONG ulIVSizeInBits;
+  CK_BBOOL bIsExport;
+  CK_SSL3_RANDOM_DATA RandomInfo;
+  CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial;
+  CK_MECHANISM_TYPE prfHashMechanism;
+} CK_TLS12_KEY_MAT_PARAMS;
+
+typedef CK_TLS12_KEY_MAT_PARAMS CK_PTR CK_TLS12_KEY_MAT_PARAMS_PTR;
+
+typedef struct CK_TLS_MAC_PARAMS {
+  CK_MECHANISM_TYPE prfMechanism;
+  CK_ULONG ulMacLength;
+  CK_ULONG ulServerOrClient;
+} CK_TLS_MAC_PARAMS;
+
+typedef CK_TLS_MAC_PARAMS CK_PTR CK_TLS_MAC_PARAMS_PTR;
+
 #endif
--- a/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  */
 
 /* Copyright  (c) 2002 Graz University of Technology. All rights reserved.
@@ -276,10 +276,13 @@
 #define CLASS_SSL3_RANDOM_DATA "sun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA"
 // CLASS_SSL3_RANDOM_DATA is used by CLASS_SSL3_MASTER_KEY_DERIVE_PARAMS
 #define CLASS_SSL3_KEY_MAT_OUT "sun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_OUT"
-// CLASS_SSL3_KEY_MAT_OUT is used by CLASS_SSL3_KEY_MAT_PARAMS
+// CLASS_SSL3_KEY_MAT_OUT is used by CLASS_SSL3_KEY_MAT_PARAMS and CK_TLS12_KEY_MAT_PARAMS
 #define CLASS_SSL3_MASTER_KEY_DERIVE_PARAMS "sun/security/pkcs11/wrapper/CK_SSL3_MASTER_KEY_DERIVE_PARAMS"
+#define CLASS_TLS12_MASTER_KEY_DERIVE_PARAMS "sun/security/pkcs11/wrapper/CK_TLS12_MASTER_KEY_DERIVE_PARAMS"
 #define CLASS_SSL3_KEY_MAT_PARAMS "sun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_PARAMS"
+#define CLASS_TLS12_KEY_MAT_PARAMS "sun/security/pkcs11/wrapper/CK_TLS12_KEY_MAT_PARAMS"
 #define CLASS_TLS_PRF_PARAMS "sun/security/pkcs11/wrapper/CK_TLS_PRF_PARAMS"
+#define CLASS_TLS_MAC_PARAMS "sun/security/pkcs11/wrapper/CK_TLS_MAC_PARAMS"
 #define CLASS_AES_CTR_PARAMS "sun/security/pkcs11/wrapper/CK_AES_CTR_PARAMS"
 
 /* function to convert a PKCS#11 return value other than CK_OK into a Java Exception
@@ -369,9 +372,11 @@
 CK_KEY_WRAP_SET_OAEP_PARAMS jKeyWrapSetOaepParamToCKKeyWrapSetOaepParam(JNIEnv *env, jobject jParam);
 void copyBackSetUnwrappedKey(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism);
 CK_SSL3_MASTER_KEY_DERIVE_PARAMS jSsl3MasterKeyDeriveParamToCKSsl3MasterKeyDeriveParam(JNIEnv *env, jobject jParam);
-void copyBackClientVersion(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism);
+void ssl3CopyBackClientVersion(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism);
+void tls12CopyBackClientVersion(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism);
 CK_SSL3_KEY_MAT_PARAMS jSsl3KeyMatParamToCKSsl3KeyMatParam(JNIEnv *env, jobject jParam);
-void copyBackSSLKeyMatParams(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism);
+void ssl3CopyBackKeyMatParams(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism);
+void tls12CopyBackKeyMatParams(JNIEnv *env, CK_MECHANISM *ckMechanism, jobject jMechanism);
 CK_KEY_DERIVATION_STRING_DATA jKeyDerivationStringDataToCKKeyDerivationStringData(JNIEnv *env, jobject jParam);
 CK_RSA_PKCS_PSS_PARAMS jRsaPkcsPssParamToCKRsaPkcsPssParam(JNIEnv *env, jobject jParam);
 CK_ECDH1_DERIVE_PARAMS jEcdh1DeriveParamToCKEcdh1DeriveParam(JNIEnv *env, jobject jParam);
--- a/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c	Mon Sep 24 10:59:26 2018 -0700
@@ -795,7 +795,11 @@
       if (exec_php->p_filesz > BUF_SIZE) {
         goto err;
       }
-      pread(ph->core->exec_fd, interp_name, exec_php->p_filesz, exec_php->p_offset);
+      if (pread(ph->core->exec_fd, interp_name,
+                exec_php->p_filesz, exec_php->p_offset) != exec_php->p_filesz) {
+        print_debug("Unable to read in the ELF interpreter\n");
+        goto err;
+      }
       interp_name[exec_php->p_filesz] = '\0';
       print_debug("ELF interpreter %s\n", interp_name);
       // read interpreter segments as well
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java	Mon Sep 24 10:59:26 2018 -0700
@@ -33,6 +33,7 @@
 import javax.lang.model.element.ModuleElement;
 import javax.lang.model.element.PackageElement;
 
+import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
@@ -81,30 +82,30 @@
     /**
      * Adds the navigation bar header to the documentation tree.
      *
-     * @param body the document tree to which the navigation bar header will be added
+     * @param header the document tree to which the navigation bar header will be added
      */
-    protected abstract void addNavigationBarHeader(Content body);
+    protected abstract void addNavigationBarHeader(Content header);
 
     /**
      * Adds the navigation bar footer to the documentation tree.
      *
-     * @param body the document tree to which the navigation bar footer will be added
+     * @param footer the document tree to which the navigation bar footer will be added
      */
-    protected abstract void addNavigationBarFooter(Content body);
+    protected abstract void addNavigationBarFooter(Content footer);
 
     /**
      * Adds the overview header to the documentation tree.
      *
-     * @param body the document tree to which the overview header will be added
+     * @param main the document tree to which the overview header will be added
      */
-    protected abstract void addOverviewHeader(Content body);
+    protected abstract void addOverviewHeader(Content main);
 
     /**
      * Adds the modules list to the documentation tree.
      *
-     * @param body the document tree to which the modules list will be added
+     * @param main the document tree to which the modules list will be added
      */
-    protected abstract void addModulesList(Content body);
+    protected abstract void addModulesList(Content main);
 
     /**
      * Adds the module packages list to the documentation tree.
@@ -112,11 +113,11 @@
      * @param modules the set of modules
      * @param text caption for the table
      * @param tableSummary summary for the table
-     * @param body the document tree to which the modules list will be added
+     * @param main the document tree to which the modules list will be added
      * @param mdle the module being documented
      */
     protected abstract void addModulePackagesList(Map<ModuleElement, Set<PackageElement>> modules, String text,
-            String tableSummary, Content body, ModuleElement mdle);
+            String tableSummary, Content main, ModuleElement mdle);
 
     /**
      * Generate and prints the contents in the module index file. Call appropriate
@@ -130,11 +131,17 @@
     protected void buildModuleIndexFile(String title, boolean includeScript) throws DocFileIOException {
         String windowOverview = configuration.getText(title);
         Content body = getBody(includeScript, getWindowTitle(windowOverview));
-        addNavigationBarHeader(body);
-        addOverviewHeader(body);
-        addIndex(body);
-        addOverview(body);
-        addNavigationBarFooter(body);
+        Content header = createTagIfAllowed(HtmlTag.HEADER, HtmlTree::HEADER, ContentBuilder::new);
+        addNavigationBarHeader(header);
+        Content main = createTagIfAllowed(HtmlTag.MAIN, HtmlTree::MAIN, ContentBuilder::new);
+        addOverviewHeader(main);
+        addIndex(header, main);
+        addOverview(main);
+        Content footer = createTagIfAllowed(HtmlTag.FOOTER, HtmlTree::FOOTER, ContentBuilder::new);
+        addNavigationBarFooter(footer);
+        body.addContent(header);
+        body.addContent(main);
+        body.addContent(footer);
         printHtmlDocument(configuration.metakeywords.getOverviewMetaKeywords(title,
                 configuration.doctitle), includeScript, body);
     }
@@ -153,11 +160,17 @@
             boolean includeScript, ModuleElement mdle) throws DocFileIOException {
         String windowOverview = configuration.getText(title);
         Content body = getBody(includeScript, getWindowTitle(windowOverview));
-        addNavigationBarHeader(body);
-        addOverviewHeader(body);
-        addModulePackagesIndex(body, mdle);
-        addOverview(body);
-        addNavigationBarFooter(body);
+        Content header = createTagIfAllowed(HtmlTag.HEADER, HtmlTree::HEADER, ContentBuilder::new);
+        addNavigationBarHeader(header);
+        Content main = createTagIfAllowed(HtmlTag.MAIN, HtmlTree::MAIN, ContentBuilder::new);
+        addOverviewHeader(main);
+        addModulePackagesIndex(header, main, mdle);
+        addOverview(main);
+        Content footer = createTagIfAllowed(HtmlTag.FOOTER, HtmlTree::FOOTER, ContentBuilder::new);
+        addNavigationBarFooter(footer);
+        body.addContent(header);
+        body.addContent(main);
+        body.addContent(footer);
         printHtmlDocument(configuration.metakeywords.getOverviewMetaKeywords(title,
                 configuration.doctitle), includeScript, body);
     }
@@ -165,33 +178,35 @@
     /**
      * Default to no overview, override to add overview.
      *
-     * @param body the document tree to which the overview will be added
+     * @param main the document tree to which the overview will be added
      */
-    protected void addOverview(Content body) { }
+    protected void addOverview(Content main) { }
 
     /**
      * Adds the frame or non-frame module index to the documentation tree.
      *
-     * @param body the document tree to which the index will be added
+     * @param header the document tree to which the navigational links will be added
+     * @param main the document tree to which the modules list will be added
      */
-    protected void addIndex(Content body) {
+    protected void addIndex(Content header, Content main) {
         addIndexContents(configuration.modules, "doclet.Module_Summary",
                 configuration.getText("doclet.Member_Table_Summary",
                 configuration.getText("doclet.Module_Summary"),
-                configuration.getText("doclet.modules")), body);
+                configuration.getText("doclet.modules")), header, main);
     }
 
     /**
      * Adds the frame or non-frame module packages index to the documentation tree.
      *
-     * @param body the document tree to which the index will be added
+     * @param header the document tree to which the navigational links will be added
+     * @param main the document tree to which the module packages list will be added
      * @param mdle the module being documented
      */
-    protected void addModulePackagesIndex(Content body, ModuleElement mdle) {
+    protected void addModulePackagesIndex(Content header, Content main, ModuleElement mdle) {
         addModulePackagesIndexContents("doclet.Module_Summary",
                 configuration.getText("doclet.Member_Table_Summary",
                 configuration.getText("doclet.Module_Summary"),
-                configuration.getText("doclet.modules")), body, mdle);
+                configuration.getText("doclet.modules")), header, main, mdle);
     }
 
     /**
@@ -201,20 +216,19 @@
      * @param modules the modules to be documented
      * @param text string which will be used as the heading
      * @param tableSummary summary for the table
-     * @param body the document tree to which the index contents will be added
+     * @param header the document tree to which the navgational links will be added
+     * @param main the document tree to which the modules list will be added
      */
     protected void addIndexContents(Collection<ModuleElement> modules, String text,
-            String tableSummary, Content body) {
-        HtmlTree htmlTree = (configuration.allowTag(HtmlTag.NAV))
-                ? HtmlTree.NAV()
-                : new HtmlTree(HtmlTag.DIV);
+            String tableSummary, Content header, Content main) {
+        HtmlTree htmlTree = (HtmlTree)createTagIfAllowed(HtmlTag.NAV, HtmlTree::NAV, () -> new HtmlTree(HtmlTag.DIV));
         htmlTree.setStyle(HtmlStyle.indexNav);
         HtmlTree ul = new HtmlTree(HtmlTag.UL);
         addAllClassesLink(ul);
         addAllPackagesLink(ul);
         htmlTree.addContent(ul);
-        body.addContent(htmlTree);
-        addModulesList(body);
+        header.addContent(htmlTree);
+        addModulesList(main);
     }
 
     /**
@@ -223,22 +237,21 @@
      *
      * @param text string which will be used as the heading
      * @param tableSummary summary for the table
-     * @param body the document tree to which the index contents will be added
+     * @param header the document tree to which the navigational links will be added
+     * @param main the document tree to which the module packages list will be added
      * @param mdle the module being documented
      */
     protected void addModulePackagesIndexContents(String text,
-            String tableSummary, Content body, ModuleElement mdle) {
-        HtmlTree htmlTree = (configuration.allowTag(HtmlTag.NAV))
-                ? HtmlTree.NAV()
-                : new HtmlTree(HtmlTag.DIV);
+            String tableSummary, Content header, Content main, ModuleElement mdle) {
+        HtmlTree htmlTree = (HtmlTree)createTagIfAllowed(HtmlTag.NAV, HtmlTree::NAV, () -> new HtmlTree(HtmlTag.DIV));
         htmlTree.setStyle(HtmlStyle.indexNav);
         HtmlTree ul = new HtmlTree(HtmlTag.UL);
         addAllClassesLink(ul);
         addAllPackagesLink(ul);
         addAllModulesLink(ul);
         htmlTree.addContent(ul);
-        body.addContent(htmlTree);
-        addModulePackagesList(modules, text, tableSummary, body, mdle);
+        header.addContent(htmlTree);
+        addModulePackagesList(modules, text, tableSummary, main, mdle);
     }
 
     /**
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.java	Mon Sep 24 10:59:26 2018 -0700
@@ -29,6 +29,7 @@
 
 import javax.lang.model.element.PackageElement;
 
+import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
@@ -78,9 +79,9 @@
     /**
      * Adds the navigation bar header to the documentation tree.
      *
-     * @param body the document tree to which the navigation bar header will be added
+     * @param header the document tree to which the navigation bar header will be added
      */
-    protected abstract void addNavigationBarHeader(Content body);
+    protected abstract void addNavigationBarHeader(Content header);
 
     /**
      * Adds the navigation bar footer to the documentation tree.
@@ -92,16 +93,16 @@
     /**
      * Adds the overview header to the documentation tree.
      *
-     * @param body the document tree to which the overview header will be added
+     * @param footer the document tree to which the overview header will be added
      */
-    protected abstract void addOverviewHeader(Content body);
+    protected abstract void addOverviewHeader(Content footer);
 
     /**
      * Adds the packages list to the documentation tree.
      *
-     * @param body the document tree to which the packages list will be added
+     * @param main the document tree to which the packages list will be added
      */
-    protected abstract void addPackagesList(Content body);
+    protected abstract void addPackagesList(Content main);
 
     /**
      * Generate and prints the contents in the package index file. Call appropriate
@@ -115,11 +116,17 @@
     protected void buildPackageIndexFile(String title, boolean includeScript) throws DocFileIOException {
         String windowOverview = configuration.getText(title);
         Content body = getBody(includeScript, getWindowTitle(windowOverview));
-        addNavigationBarHeader(body);
-        addOverviewHeader(body);
-        addIndex(body);
-        addOverview(body);
-        addNavigationBarFooter(body);
+        Content header = createTagIfAllowed(HtmlTag.HEADER, HtmlTree::HEADER, ContentBuilder::new);
+        addNavigationBarHeader(header);
+        Content main = createTagIfAllowed(HtmlTag.MAIN, HtmlTree::MAIN, ContentBuilder::new);
+        addOverviewHeader(main);
+        addIndex(header, main);
+        addOverview(main);
+        Content footer = createTagIfAllowed(HtmlTag.FOOTER, HtmlTree::FOOTER, ContentBuilder::new);
+        addNavigationBarFooter(footer);
+        body.addContent(header);
+        body.addContent(main);
+        body.addContent(footer);
         printHtmlDocument(configuration.metakeywords.getOverviewMetaKeywords(title,
                 configuration.doctitle), includeScript, body);
     }
@@ -127,30 +134,30 @@
     /**
      * Default to no overview, override to add overview.
      *
-     * @param body the document tree to which the overview will be added
+     * @param main the document tree to which the overview will be added
      */
-    protected void addOverview(Content body) { }
+    protected void addOverview(Content main) { }
 
     /**
      * Adds the frame or non-frame package index to the documentation tree.
      *
-     * @param body the document tree to which the index will be added
+     * @param header the document tree to which the navigation links will be added
+     * @param main the document tree to which the packages list will be added
      */
-    protected void addIndex(Content body) {
-        addIndexContents(body);
+    protected void addIndex(Content header, Content main) {
+        addIndexContents(header, main);
     }
 
     /**
      * Adds package index contents. Call appropriate methods from
      * the sub-classes. Adds it to the body HtmlTree
      *
-     * @param body the document tree to which the index contents will be added
+     * @param header the document tree to which navigation links will be added
+     * @param main the document tree to which the packages list will be added
      */
-    protected void addIndexContents(Content body) {
+    protected void addIndexContents(Content header, Content main) {
         if (!packages.isEmpty()) {
-            HtmlTree htmlTree = (configuration.allowTag(HtmlTag.NAV))
-                    ? HtmlTree.NAV()
-                    : new HtmlTree(HtmlTag.DIV);
+            HtmlTree htmlTree = (HtmlTree)createTagIfAllowed(HtmlTag.NAV, HtmlTree::NAV, () -> new HtmlTree(HtmlTag.DIV));
             htmlTree.setStyle(HtmlStyle.indexNav);
             HtmlTree ul = new HtmlTree(HtmlTag.UL);
             addAllClassesLink(ul);
@@ -158,8 +165,8 @@
                 addAllModulesLink(ul);
             }
             htmlTree.addContent(ul);
-            body.addContent(htmlTree);
-            addPackagesList(body);
+            header.addContent(htmlTree);
+            addPackagesList(main);
         }
     }
 
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java	Mon Sep 24 10:59:26 2018 -0700
@@ -29,6 +29,7 @@
 import javax.lang.model.element.Element;
 import javax.lang.model.element.TypeElement;
 
+import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
@@ -111,15 +112,15 @@
     protected void buildAllClassesFile(boolean wantFrames) throws DocFileIOException {
         String label = configuration.getText("doclet.All_Classes");
         Content body = getBody(false, getWindowTitle(label));
+        Content htmlTree = createTagIfAllowed(HtmlTag.MAIN, HtmlTree::MAIN, ContentBuilder::new);
         Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING,
                 HtmlStyle.bar, contents.allClassesLabel);
-        body.addContent(heading);
+        htmlTree.addContent(heading);
         Content ul = new HtmlTree(HtmlTag.UL);
         // Generate the class links and add it to the tdFont tree.
         addAllClasses(ul, wantFrames);
-        HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
-                ? HtmlTree.MAIN(HtmlStyle.indexContainer, ul)
-                : HtmlTree.DIV(HtmlStyle.indexContainer, ul);
+        HtmlTree div = HtmlTree.DIV(HtmlStyle.indexContainer, ul);
+        htmlTree.addContent(div);
         body.addContent(htmlTree);
         printHtmlDocument(null, false, body);
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java	Mon Sep 24 10:59:26 2018 -0700
@@ -29,6 +29,7 @@
 import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
 
 import java.util.*;
+import java.util.function.Supplier;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -2105,4 +2106,20 @@
     Script getMainBodyScript() {
         return mainBodyScript;
     }
+
+    /**
+     * Creates the HTML tag if the tag is supported by this specific HTML version
+     * otherwise return the Content instance provided by Supplier ifNotSupported.
+     * @param tag the HTML tag
+     * @param ifSupported create this instance if HTML tag is supported
+     * @param ifNotSupported create this instance if HTML tag is not supported
+     * @return
+     */
+    protected Content createTagIfAllowed(HtmlTag tag, Supplier<Content> ifSupported, Supplier<Content> ifNotSupported) {
+        if (configuration.allowTag(tag)) {
+            return ifSupported.get();
+        } else {
+            return ifNotSupported.get();
+        }
+    }
 }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexFrameWriter.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexFrameWriter.java	Mon Sep 24 10:59:26 2018 -0700
@@ -83,19 +83,17 @@
     /**
      * {@inheritDoc}
      */
-    protected void addModulesList(Content body) {
+    protected void addModulesList(Content main) {
         Content heading = HtmlTree.HEADING(HtmlConstants.MODULE_HEADING, true,
                 contents.modulesLabel);
-        HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
-                ? HtmlTree.MAIN(HtmlStyle.indexContainer, heading)
-                : HtmlTree.DIV(HtmlStyle.indexContainer, heading);
+        HtmlTree htmlTree = HtmlTree.DIV(HtmlStyle.indexContainer, heading);
         HtmlTree ul = new HtmlTree(HtmlTag.UL);
         ul.setTitle(contents.modulesLabel);
         for (ModuleElement mdle: configuration.modules) {
             ul.addContent(getModuleLink(mdle));
         }
         htmlTree.addContent(ul);
-        body.addContent(htmlTree);
+        main.addContent(htmlTree);
     }
 
     /**
@@ -126,7 +124,7 @@
     /**
      * {@inheritDoc}
      */
-    protected void addNavigationBarHeader(Content body) {
+    protected void addNavigationBarHeader(Content header) {
         Content headerContent;
         if (configuration.packagesheader.length() > 0) {
             headerContent = new RawHtml(replaceDocRootDir(configuration.packagesheader));
@@ -135,7 +133,7 @@
         }
         Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, true,
                 HtmlStyle.bar, headerContent);
-        body.addContent(heading);
+        header.addContent(heading);
     }
 
     /**
@@ -173,12 +171,12 @@
     /**
      * {@inheritDoc}
      */
-    protected void addNavigationBarFooter(Content body) {
+    protected void addNavigationBarFooter(Content footer) {
         Content p = HtmlTree.P(Contents.SPACE);
-        body.addContent(p);
+        footer.addContent(p);
     }
 
     protected void addModulePackagesList(Map<ModuleElement, Set<PackageElement>> modules, String text,
-            String tableSummary, Content body, ModuleElement mdle) {
+            String tableSummary, Content main, ModuleElement mdle) {
     }
 }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java	Mon Sep 24 10:59:26 2018 -0700
@@ -57,11 +57,6 @@
 public class ModuleIndexWriter extends AbstractModuleIndexWriter {
 
     /**
-     * HTML tree for main tag.
-     */
-    private final HtmlTree htmlTree = HtmlTree.MAIN();
-
-    /**
      * Construct the ModuleIndexWriter.
      * @param configuration the configuration object
      * @param filename the name of the generated file
@@ -85,22 +80,22 @@
     /**
      * Add the module index.
      *
-     * @param body the documentation tree to which the index will be added
+     * @param header the documentation tree to which the navigational links will be added
+     * @param main the documentation tree to which the modules list will be added
      */
     @Override
-    protected void addIndex(Content body) {
-        addIndexContents(body);
+    protected void addIndex(Content header, Content main) {
+        addIndexContents(header, main);
     }
 
     /**
      * Adds module index contents.
      *
-     * @param body the document tree to which the index contents will be added
+     * @param header the document tree to which the navigational links will be added
+     * @param main the document tree to which the modules list will be added
      */
-    protected void addIndexContents(Content body) {
-        HtmlTree htmltree = (configuration.allowTag(HtmlTag.NAV))
-                ? HtmlTree.NAV()
-                : new HtmlTree(HtmlTag.DIV);
+    protected void addIndexContents(Content header, Content main) {
+        HtmlTree htmltree = (HtmlTree)createTagIfAllowed(HtmlTag.NAV, HtmlTree::NAV, () -> new HtmlTree(HtmlTag.DIV));
         htmltree.setStyle(HtmlStyle.indexNav);
         HtmlTree ul = new HtmlTree(HtmlTag.UL);
         addAllClassesLink(ul);
@@ -108,17 +103,17 @@
             addAllModulesLink(ul);
         }
         htmltree.addContent(ul);
-        body.addContent(htmltree);
-        addModulesList(body);
+        header.addContent(htmltree);
+        addModulesList(main);
     }
 
     /**
      * Add the list of modules.
      *
-     * @param body the content tree to which the module list will be added
+     * @param main the content tree to which the module list will be added
      */
     @Override
-    protected void addModulesList(Content body) {
+    protected void addModulesList(Content main) {
         Map<String, SortedSet<ModuleElement>> groupModuleMap
                 = configuration.group.groupModules(configuration.modules);
 
@@ -154,11 +149,7 @@
             }
 
             Content div = HtmlTree.DIV(HtmlStyle.contentContainer, table.toContent());
-            if (configuration.allowTag(HtmlTag.MAIN)) {
-                htmlTree.addContent(div);
-            } else {
-                body.addContent(div);
-            }
+            main.addContent(div);
 
             if (table.needsScript()) {
                 mainBodyScript.append(table.getScript());
@@ -171,20 +162,16 @@
      * summary at the top of the page and generate a link to the description,
      * which is added at the end of this page.
      *
-     * @param body the documentation tree to which the overview header will be added
+     * @param main the documentation tree to which the overview header will be added
      */
     @Override
-    protected void addOverviewHeader(Content body) {
-        addConfigurationTitle(body);
+    protected void addOverviewHeader(Content main) {
+        addConfigurationTitle(main);
         if (!utils.getFullBody(configuration.overviewElement).isEmpty()) {
             HtmlTree div = new HtmlTree(HtmlTag.DIV);
             div.setStyle(HtmlStyle.contentContainer);
             addOverviewComment(div);
-            if (configuration.allowTag(HtmlTag.MAIN)) {
-                htmlTree.addContent(div);
-            } else {
-                body.addContent(div);
-            }
+            main.addContent(div);
         }
     }
 
@@ -202,58 +189,34 @@
     }
 
     /**
-     * For HTML 5, add the htmlTree to the body. For HTML 4, do nothing.
-     *
-     * @param body the documentation tree to which the overview will be added
-     */
-    @Override
-    protected void addOverview(Content body) {
-        if (configuration.allowTag(HtmlTag.MAIN)) {
-            body.addContent(htmlTree);
-        }
-    }
-
-    /**
      * Adds the top text (from the -top option), the upper
      * navigation bar, and then the title (from the"-title"
      * option), at the top of page.
      *
-     * @param body the documentation tree to which the navigation bar header will be added
+     * @param header the documentation tree to which the navigation bar header will be added
      */
     @Override
-    protected void addNavigationBarHeader(Content body) {
-        Content tree = (configuration.allowTag(HtmlTag.HEADER))
-                ? HtmlTree.HEADER()
-                : body;
-        addTop(tree);
+    protected void addNavigationBarHeader(Content header) {
+        addTop(header);
         navBar.setUserHeader(getUserHeaderFooter(true));
-        tree.addContent(navBar.getContent(true));
-        if (configuration.allowTag(HtmlTag.HEADER)) {
-            body.addContent(tree);
-        }
+        header.addContent(navBar.getContent(true));
     }
 
     /**
      * Adds the lower navigation bar and the bottom text
      * (from the -bottom option) at the bottom of page.
      *
-     * @param body the documentation tree to which the navigation bar footer will be added
+     * @param footer the documentation tree to which the navigation bar footer will be added
      */
     @Override
-    protected void addNavigationBarFooter(Content body) {
-        Content htmltree = (configuration.allowTag(HtmlTag.FOOTER))
-                ? HtmlTree.FOOTER()
-                : body;
+    protected void addNavigationBarFooter(Content footer) {
         navBar.setUserFooter(getUserHeaderFooter(false));
-        htmltree.addContent(navBar.getContent(false));
-        addBottom(htmltree);
-        if (configuration.allowTag(HtmlTag.FOOTER)) {
-            body.addContent(htmltree);
-        }
+        footer.addContent(navBar.getContent(false));
+        addBottom(footer);
     }
 
     @Override
     protected void addModulePackagesList(Map<ModuleElement, Set<PackageElement>> modules, String text,
-            String tableSummary, Content body, ModuleElement mdle) {
+            String tableSummary, Content main, ModuleElement mdle) {
     }
 }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModulePackageIndexFrameWriter.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModulePackageIndexFrameWriter.java	Mon Sep 24 10:59:26 2018 -0700
@@ -84,15 +84,13 @@
      * {@inheritDoc}
      */
     protected void addModulePackagesList(Map<ModuleElement, Set<PackageElement>> modules, String text,
-            String tableSummary, Content body, ModuleElement mdle) {
+            String tableSummary, Content main, ModuleElement mdle) {
         Content profNameContent = new StringContent(mdle.getQualifiedName().toString());
         Content heading = HtmlTree.HEADING(HtmlConstants.PACKAGE_HEADING, true,
                 getTargetModuleLink("classFrame", profNameContent, mdle));
         heading.addContent(Contents.SPACE);
         heading.addContent(contents.packagesLabel);
-        HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
-                ? HtmlTree.MAIN(HtmlStyle.indexContainer, heading)
-                : HtmlTree.DIV(HtmlStyle.indexContainer, heading);
+        HtmlTree htmlTree = HtmlTree.DIV(HtmlStyle.indexContainer, heading);
         HtmlTree ul = new HtmlTree(HtmlTag.UL);
         ul.setTitle(contents.packagesLabel);
         List<PackageElement> packages = new ArrayList<>(modules.get(mdle));
@@ -102,7 +100,7 @@
             }
         }
         htmlTree.addContent(ul);
-        body.addContent(htmlTree);
+        main.addContent(htmlTree);
     }
 
     /**
@@ -157,7 +155,7 @@
     /**
      * {@inheritDoc}
      */
-    protected void addNavigationBarHeader(Content body) {
+    protected void addNavigationBarHeader(Content header) {
         Content headerContent;
         if (configuration.packagesheader.length() > 0) {
             headerContent = new RawHtml(replaceDocRootDir(configuration.packagesheader));
@@ -166,7 +164,7 @@
         }
         Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, true,
                 HtmlStyle.bar, headerContent);
-        body.addContent(heading);
+        header.addContent(heading);
     }
 
     /**
@@ -232,8 +230,8 @@
     /**
      * {@inheritDoc}
      */
-    protected void addNavigationBarFooter(Content body) {
+    protected void addNavigationBarFooter(Content footer) {
         Content p = HtmlTree.P(Contents.SPACE);
-        body.addContent(p);
+        footer.addContent(p);
     }
 }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexFrameWriter.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexFrameWriter.java	Mon Sep 24 10:59:26 2018 -0700
@@ -77,12 +77,10 @@
      * {@inheritDoc}
      */
     @Override
-    protected void addPackagesList(Content body) {
+    protected void addPackagesList(Content main) {
         Content heading = HtmlTree.HEADING(HtmlConstants.PACKAGE_HEADING, true,
                 contents.packagesLabel);
-        HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
-                ? HtmlTree.MAIN(HtmlStyle.indexContainer, heading)
-                : HtmlTree.DIV(HtmlStyle.indexContainer, heading);
+        HtmlTree htmlTree = HtmlTree.DIV(HtmlStyle.indexContainer, heading);
         HtmlTree ul = new HtmlTree(HtmlTag.UL);
         ul.setTitle(contents.packagesLabel);
         for (PackageElement aPackage : packages) {
@@ -94,7 +92,7 @@
             }
         }
         htmlTree.addContent(ul);
-        body.addContent(htmlTree);
+        main.addContent(htmlTree);
     }
 
     /**
@@ -124,7 +122,7 @@
      * {@inheritDoc}
      */
     @Override
-    protected void addNavigationBarHeader(Content body) {
+    protected void addNavigationBarHeader(Content header) {
         Content headerContent;
         if (configuration.packagesheader.length() > 0) {
             headerContent = new RawHtml(replaceDocRootDir(configuration.packagesheader));
@@ -133,7 +131,7 @@
         }
         Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, true,
                 HtmlStyle.bar, headerContent);
-        body.addContent(heading);
+        header.addContent(heading);
     }
 
     /**
@@ -175,8 +173,8 @@
      * {@inheritDoc}
      */
     @Override
-    protected void addNavigationBarFooter(Content body) {
+    protected void addNavigationBarFooter(Content footer) {
         Content p = HtmlTree.P(Contents.SPACE);
-        body.addContent(p);
+        footer.addContent(p);
     }
 }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java	Mon Sep 24 10:59:26 2018 -0700
@@ -57,11 +57,6 @@
 public class PackageIndexWriter extends AbstractPackageIndexWriter {
 
     /**
-     * HTML tree for main tag.
-     */
-    private final HtmlTree htmlTree = HtmlTree.MAIN();
-
-    /**
      * Construct the PackageIndexWriter. Also constructs the grouping
      * information as provided on the command line by "-group" option. Stores
      * the order of groups specified by the user.
@@ -90,18 +85,19 @@
      * Depending upon the grouping information and their titles, add
      * separate table indices for each package group.
      *
-     * @param body the documentation tree to which the index will be added
+     * @param header the documentation tree to which the navigational links will be added
+     * @param main the documentation tree to which the packages list will be added
      */
     @Override
-    protected void addIndex(Content body) {
-        addIndexContents(body);
+    protected void addIndex(Content header, Content main) {
+        addIndexContents(header, main);
     }
 
     /**
      * {@inheritDoc}
      */
     @Override
-    protected void addPackagesList(Content body) {
+    protected void addPackagesList(Content main) {
         Map<String, SortedSet<PackageElement>> groupPackageMap
                 = configuration.group.groupPackages(packages);
 
@@ -136,11 +132,7 @@
             }
 
             Content div = HtmlTree.DIV(HtmlStyle.contentContainer, table.toContent());
-            if (configuration.allowTag(HtmlTag.MAIN)) {
-                htmlTree.addContent(div);
-            } else {
-                body.addContent(div);
-            }
+            main.addContent(div);
 
             if (table.needsScript()) {
                 getMainBodyScript().append(table.getScript());
@@ -153,20 +145,16 @@
      * summary at the top of the page and generate a link to the description,
      * which is added at the end of this page.
      *
-     * @param body the documentation tree to which the overview header will be added
+     * @param main the documentation tree to which the overview header will be added
      */
     @Override
-    protected void addOverviewHeader(Content body) {
-        addConfigurationTitle(body);
+    protected void addOverviewHeader(Content main) {
+        addConfigurationTitle(main);
         if (!utils.getFullBody(configuration.overviewElement).isEmpty()) {
             HtmlTree div = new HtmlTree(HtmlTag.DIV);
             div.setStyle(HtmlStyle.contentContainer);
             addOverviewComment(div);
-            if (configuration.allowTag(HtmlTag.MAIN)) {
-                htmlTree.addContent(div);
-            } else {
-                body.addContent(div);
-            }
+            main.addContent(div);
         }
     }
 
@@ -184,53 +172,29 @@
     }
 
     /**
-     * For HTML 5, add the htmlTree to the body. For HTML 4, do nothing.
-     *
-     * @param body the documentation tree to which the overview will be added
-     */
-    @Override
-    protected void addOverview(Content body) {
-        if (configuration.allowTag(HtmlTag.MAIN)) {
-            body.addContent(htmlTree);
-        }
-    }
-
-    /**
      * Adds the top text (from the -top option), the upper
      * navigation bar, and then the title (from the"-title"
      * option), at the top of page.
      *
-     * @param body the documentation tree to which the navigation bar header will be added
+     * @param header the documentation tree to which the navigation bar header will be added
      */
     @Override
-    protected void addNavigationBarHeader(Content body) {
-        Content tree = (configuration.allowTag(HtmlTag.HEADER))
-                ? HtmlTree.HEADER()
-                : body;
-        addTop(tree);
+    protected void addNavigationBarHeader(Content header) {
+        addTop(header);
         navBar.setUserHeader(getUserHeaderFooter(true));
-        tree.addContent(navBar.getContent(true));
-        if (configuration.allowTag(HtmlTag.HEADER)) {
-            body.addContent(tree);
-        }
+        header.addContent(navBar.getContent(true));
     }
 
     /**
      * Adds the lower navigation bar and the bottom text
      * (from the -bottom option) at the bottom of page.
      *
-     * @param body the documentation tree to which the navigation bar footer will be added
+     * @param footer the documentation tree to which the navigation bar footer will be added
      */
     @Override
-    protected void addNavigationBarFooter(Content body) {
-        Content tree = (configuration.allowTag(HtmlTag.FOOTER))
-                ? HtmlTree.FOOTER()
-                : body;
+    protected void addNavigationBarFooter(Content footer) {
         navBar.setUserFooter(getUserHeaderFooter(false));
-        tree.addContent(navBar.getContent(false));
-        addBottom(tree);
-        if (configuration.allowTag(HtmlTag.FOOTER)) {
-            body.addContent(tree);
-        }
+        footer.addContent(navBar.getContent(false));
+        addBottom(footer);
     }
 }
--- a/src/jdk.unsupported/share/classes/sun/misc/Unsafe.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.unsupported/share/classes/sun/misc/Unsafe.java	Mon Sep 24 10:59:26 2018 -0700
@@ -33,6 +33,7 @@
 import sun.nio.ch.DirectBuffer;
 
 import java.lang.reflect.Field;
+import java.util.Set;
 
 
 /**
@@ -56,7 +57,7 @@
 public final class Unsafe {
 
     static {
-        Reflection.registerMethodsToFilter(Unsafe.class, "getUnsafe");
+        Reflection.registerMethodsToFilter(Unsafe.class, Set.of("getUnsafe"));
     }
 
     private Unsafe() {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ByteArrayChannel.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,252 @@
+/*
+ * Copyright (c) 2018, 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.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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 jdk.nio.zipfs;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.NonWritableChannelException;
+import java.nio.channels.SeekableByteChannel;
+import java.util.Arrays;
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
+public class ByteArrayChannel implements SeekableByteChannel {
+
+    private final ReadWriteLock rwlock = new ReentrantReadWriteLock();
+    private byte buf[];
+
+    /*
+     * The current position of this channel.
+     */
+    private int pos;
+
+    /*
+     * The index that is one greater than the last valid byte in the channel.
+     */
+    private int last;
+
+    private boolean closed;
+    private boolean readonly;
+
+    /*
+     * Creates a {@code ByteArrayChannel} with size {@code sz}.
+     */
+    ByteArrayChannel(int sz, boolean readonly) {
+        this.buf = new byte[sz];
+        this.pos = this.last = 0;
+        this.readonly = readonly;
+    }
+
+    /*
+     * Creates a ByteArrayChannel with its 'pos' at 0 and its 'last' at buf's end.
+     * Note: no defensive copy of the 'buf', used directly.
+     */
+    ByteArrayChannel(byte[] buf, boolean readonly) {
+        this.buf = buf;
+        this.pos = 0;
+        this.last = buf.length;
+        this.readonly = readonly;
+    }
+
+    @Override
+    public boolean isOpen() {
+        return !closed;
+    }
+
+    @Override
+    public long position() throws IOException {
+        beginRead();
+        try {
+            ensureOpen();
+            return pos;
+        } finally {
+            endRead();
+        }
+    }
+
+    @Override
+    public SeekableByteChannel position(long pos) throws IOException {
+        beginWrite();
+        try {
+            ensureOpen();
+            if (pos < 0 || pos >= Integer.MAX_VALUE)
+                throw new IllegalArgumentException("Illegal position " + pos);
+            this.pos = Math.min((int)pos, last);
+            return this;
+        } finally {
+            endWrite();
+        }
+    }
+
+    @Override
+    public int read(ByteBuffer dst) throws IOException {
+        beginWrite();
+        try {
+            ensureOpen();
+            if (pos == last)
+                return -1;
+            int n = Math.min(dst.remaining(), last - pos);
+            dst.put(buf, pos, n);
+            pos += n;
+            return n;
+        } finally {
+            endWrite();
+        }
+    }
+
+    @Override
+    public SeekableByteChannel truncate(long size) throws IOException {
+        if (readonly)
+            throw new NonWritableChannelException();
+        ensureOpen();
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public int write(ByteBuffer src) throws IOException {
+        if (readonly)
+            throw new NonWritableChannelException();
+        beginWrite();
+        try {
+            ensureOpen();
+            int n = src.remaining();
+            ensureCapacity(pos + n);
+            src.get(buf, pos, n);
+            pos += n;
+            if (pos > last) {
+                last = pos;
+            }
+            return n;
+        } finally {
+            endWrite();
+        }
+    }
+
+    @Override
+    public long size() throws IOException {
+        beginRead();
+        try {
+            ensureOpen();
+            return last;
+        } finally {
+            endRead();
+        }
+    }
+
+    @Override
+    public void close() throws IOException {
+        if (closed)
+            return;
+        beginWrite();
+        try {
+            closed = true;
+            buf = null;
+            pos = 0;
+            last = 0;
+        } finally {
+            endWrite();
+        }
+    }
+
+    /**
+     * Creates a newly allocated byte array. Its size is the current
+     * size of this channel and the valid contents of the buffer
+     * have been copied into it.
+     *
+     * @return the current contents of this channel, as a byte array.
+     */
+    public byte[] toByteArray() {
+        beginRead();
+        try {
+            // avoid copy if last == bytes.length?
+            return Arrays.copyOf(buf, last);
+        } finally {
+            endRead();
+        }
+    }
+
+    private void ensureOpen() throws IOException {
+        if (closed)
+            throw new ClosedChannelException();
+    }
+
+    private final void beginWrite() {
+        rwlock.writeLock().lock();
+    }
+
+    private final void endWrite() {
+        rwlock.writeLock().unlock();
+    }
+
+    private final void beginRead() {
+        rwlock.readLock().lock();
+    }
+
+    private final void endRead() {
+        rwlock.readLock().unlock();
+    }
+
+    private void ensureCapacity(int minCapacity) {
+        // overflow-conscious code
+        if (minCapacity - buf.length > 0) {
+            grow(minCapacity);
+        }
+    }
+
+    /**
+     * The maximum size of array to allocate.
+     * Some VMs reserve some header words in an array.
+     * Attempts to allocate larger arrays may result in
+     * OutOfMemoryError: Requested array size exceeds VM limit
+     */
+    private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;
+
+    /**
+     * Increases the capacity to ensure that it can hold at least the
+     * number of elements specified by the minimum capacity argument.
+     *
+     * @param minCapacity the desired minimum capacity
+     */
+    private void grow(int minCapacity) {
+        // overflow-conscious code
+        int oldCapacity = buf.length;
+        int newCapacity = oldCapacity << 1;
+        if (newCapacity - minCapacity < 0)
+            newCapacity = minCapacity;
+        if (newCapacity - MAX_ARRAY_SIZE > 0)
+            newCapacity = hugeCapacity(minCapacity);
+        buf = Arrays.copyOf(buf, newCapacity);
+    }
+
+    private static int hugeCapacity(int minCapacity) {
+        if (minCapacity < 0) // overflow
+            throw new OutOfMemoryError();
+        return (minCapacity > MAX_ARRAY_SIZE) ?
+            Integer.MAX_VALUE :
+            MAX_ARRAY_SIZE;
+    }
+}
--- a/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java	Mon Sep 24 10:59:26 2018 -0700
@@ -30,6 +30,7 @@
 import java.io.ByteArrayOutputStream;
 import java.io.EOFException;
 import java.io.File;
+import java.io.FilterOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -70,33 +71,34 @@
     private final ZipFileSystemProvider provider;
     private final Path zfpath;
     final ZipCoder zc;
+    private final ZipPath rootdir;
+    private boolean readOnly = false;    // readonly file system
+
+    // configurable by env map
     private final boolean noExtt;        // see readExtra()
-    private final ZipPath rootdir;
-    // configurable by env map
     private final boolean useTempFile;   // use a temp file for newOS, default
                                          // is to use BAOS for better performance
-    private boolean readOnly = false;    // readonly file system
     private static final boolean isWindows = AccessController.doPrivileged(
             (PrivilegedAction<Boolean>) () -> System.getProperty("os.name")
                                                     .startsWith("Windows"));
     private final boolean forceEnd64;
+    private final int defaultMethod;     // METHOD_STORED if "noCompression=true"
+                                         // METHOD_DEFLATED otherwise
 
     ZipFileSystem(ZipFileSystemProvider provider,
                   Path zfpath,
                   Map<String, ?> env)  throws IOException
     {
-        // create a new zip if not exists
-        boolean createNew = "true".equals(env.get("create"));
         // default encoding for name/comment
         String nameEncoding = env.containsKey("encoding") ?
                               (String)env.get("encoding") : "UTF-8";
         this.noExtt = "false".equals(env.get("zipinfo-time"));
-        this.useTempFile  = TRUE.equals(env.get("useTempFile"));
-        this.forceEnd64 = "true".equals(env.get("forceZIP64End"));
-        this.provider = provider;
-        this.zfpath = zfpath;
+        this.useTempFile  = isTrue(env, "useTempFile");
+        this.forceEnd64 = isTrue(env, "forceZIP64End");
+        this.defaultMethod = isTrue(env, "noCompression") ? METHOD_STORED: METHOD_DEFLATED;
         if (Files.notExists(zfpath)) {
-            if (createNew) {
+            // create a new zip if not exists
+            if (isTrue(env, "create")) {
                 try (OutputStream os = Files.newOutputStream(zfpath, CREATE_NEW, WRITE)) {
                     new END().write(os, 0, forceEnd64);
                 }
@@ -122,6 +124,13 @@
             }
             throw x;
         }
+        this.provider = provider;
+        this.zfpath = zfpath;
+    }
+
+    // returns true if there is a name=true/"true" setting in env
+    private static boolean isTrue(Map<String, ?> env, String name) {
+        return "true".equals(env.get(name)) || TRUE.equals(env.get(name));
     }
 
     @Override
@@ -254,22 +263,23 @@
         try {
             if (!isOpen)
                 return;
-            isOpen = false;             // set closed
+            isOpen = false;          // set closed
         } finally {
             endWrite();
         }
-        if (!streams.isEmpty()) {       // unlock and close all remaining streams
+        if (!streams.isEmpty()) {    // unlock and close all remaining streams
             Set<InputStream> copy = new HashSet<>(streams);
             for (InputStream is: copy)
                 is.close();
         }
-        beginWrite();                   // lock and sync
+        beginWrite();                // lock and sync
         try {
             AccessController.doPrivileged((PrivilegedExceptionAction<Void>) () -> {
                 sync(); return null;
             });
-            ch.close();                          // close the ch just in case no update
-        } catch (PrivilegedActionException e) {  // and sync dose not close the ch
+            ch.close();              // close the ch just in case no update
+                                     // and sync didn't close the ch
+        } catch (PrivilegedActionException e) {
             throw (IOException)e.getException();
         } finally {
             endWrite();
@@ -316,8 +326,8 @@
                 IndexNode inode = getInode(path);
                 if (inode == null)
                     return null;
-                e = new Entry(inode.name, inode.isdir);  // pseudo directory
-                e.method = METHOD_STORED;                // STORED for dir
+                // pseudo directory, uses METHOD_STORED
+                e = new Entry(inode.name, inode.isdir, METHOD_STORED);
                 e.mtime = e.atime = e.ctime = zfsDefaultTimeStamp;
             }
         } finally {
@@ -425,8 +435,7 @@
             if (dir.length == 0 || exists(dir))  // root dir, or exiting dir
                 throw new FileAlreadyExistsException(getString(dir));
             checkParents(dir);
-            Entry e = new Entry(dir, Entry.NEW, true);
-            e.method = METHOD_STORED;            // STORED for dir
+            Entry e = new Entry(dir, Entry.NEW, true, METHOD_STORED);
             update(e);
         } finally {
             endWrite();
@@ -467,7 +476,7 @@
                 checkParents(dst);
             }
             Entry u = new Entry(eSrc, Entry.COPY);  // copy eSrc entry
-            u.name(dst);                              // change name
+            u.name(dst);                            // change name
             if (eSrc.type == Entry.NEW || eSrc.type == Entry.FILECH)
             {
                 u.type = eSrc.type;    // make it the same type
@@ -527,7 +536,7 @@
                 if (hasAppend) {
                     InputStream is = getInputStream(e);
                     OutputStream os = getOutputStream(new Entry(e, Entry.NEW));
-                    copyStream(is, os);
+                    is.transferTo(os);
                     is.close();
                     return os;
                 }
@@ -536,7 +545,7 @@
                 if (!hasCreate && !hasCreateNew)
                     throw new NoSuchFileException(getString(path));
                 checkParents(path);
-                return getOutputStream(new Entry(path, Entry.NEW, false));
+                return getOutputStream(new Entry(path, Entry.NEW, false, defaultMethod));
             }
         } finally {
             endRead();
@@ -572,6 +581,41 @@
             throw new IllegalArgumentException("APPEND + TRUNCATE_EXISTING not allowed");
     }
 
+
+    // Returns an output SeekableByteChannel for either
+    // (1) writing the contents of a new entry, if the entry doesn't exit, or
+    // (2) updating/replacing the contents of an existing entry.
+    // Note: The content is not compressed.
+    private class EntryOutputChannel extends ByteArrayChannel {
+        Entry e;
+
+        EntryOutputChannel(Entry e) throws IOException {
+            super(e.size > 0? (int)e.size : 8192, false);
+            this.e = e;
+            if (e.mtime == -1)
+                e.mtime = System.currentTimeMillis();
+            if (e.method == -1)
+                e.method = defaultMethod;
+            // store size, compressed size, and crc-32 in datadescriptor
+            e.flag = FLAG_DATADESCR;
+            if (zc.isUTF8())
+                e.flag |= FLAG_USE_UTF8;
+        }
+
+        @Override
+        public void close() throws IOException {
+            e.bytes = toByteArray();
+            e.size = e.bytes.length;
+            e.crc = -1;
+            super.close();
+            update(e);
+        }
+    }
+
+    private int getCompressMethod(FileAttribute<?>... attrs) {
+         return defaultMethod;
+    }
+
     // Returns a Writable/ReadByteChannel for now. Might consdier to use
     // newFileChannel() instead, which dump the entry data into a regular
     // file on the default file system and create a FileChannel on top of
@@ -585,57 +629,36 @@
         if (options.contains(StandardOpenOption.WRITE) ||
             options.contains(StandardOpenOption.APPEND)) {
             checkWritable();
-            beginRead();
+            beginRead();    // only need a readlock, the "update()" will obtain
+                            // thewritelock when the channel is closed
             try {
-                final WritableByteChannel wbc = Channels.newChannel(
-                    newOutputStream(path, options.toArray(new OpenOption[0])));
-                long leftover = 0;
-                if (options.contains(StandardOpenOption.APPEND)) {
-                    Entry e = getEntry(path);
-                    if (e != null && e.size >= 0)
-                        leftover = e.size;
-                }
-                final long offset = leftover;
-                return new SeekableByteChannel() {
-                    long written = offset;
-                    public boolean isOpen() {
-                        return wbc.isOpen();
-                    }
-
-                    public long position() throws IOException {
-                        return written;
-                    }
-
-                    public SeekableByteChannel position(long pos)
-                        throws IOException
-                    {
-                        throw new UnsupportedOperationException();
+                ensureOpen();
+                Entry e = getEntry(path);
+                if (e != null) {
+                    if (e.isDir() || options.contains(CREATE_NEW))
+                        throw new FileAlreadyExistsException(getString(path));
+                    SeekableByteChannel sbc =
+                            new EntryOutputChannel(new Entry(e, Entry.NEW));
+                    if (options.contains(APPEND)) {
+                        try (InputStream is = getInputStream(e)) {  // copyover
+                            byte[] buf = new byte[8192];
+                            ByteBuffer bb = ByteBuffer.wrap(buf);
+                            int n;
+                            while ((n = is.read(buf)) != -1) {
+                                bb.position(0);
+                                bb.limit(n);
+                                sbc.write(bb);
+                            }
+                        }
                     }
-
-                    public int read(ByteBuffer dst) throws IOException {
-                        throw new UnsupportedOperationException();
-                    }
-
-                    public SeekableByteChannel truncate(long size)
-                        throws IOException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
+                    return sbc;
+                }
+                if (!options.contains(CREATE) && !options.contains(CREATE_NEW))
+                    throw new NoSuchFileException(getString(path));
+                checkParents(path);
+                return new EntryOutputChannel(
+                    new Entry(path, Entry.NEW, false, getCompressMethod(attrs)));
 
-                    public int write(ByteBuffer src) throws IOException {
-                        int n = wbc.write(src);
-                        written += n;
-                        return n;
-                    }
-
-                    public long size() throws IOException {
-                        return written;
-                    }
-
-                    public void close() throws IOException {
-                        wbc.close();
-                    }
-                };
             } finally {
                 endRead();
             }
@@ -646,51 +669,10 @@
                 Entry e = getEntry(path);
                 if (e == null || e.isDir())
                     throw new NoSuchFileException(getString(path));
-                final ReadableByteChannel rbc =
-                    Channels.newChannel(getInputStream(e));
-                final long size = e.size;
-                return new SeekableByteChannel() {
-                    long read = 0;
-                    public boolean isOpen() {
-                        return rbc.isOpen();
-                    }
-
-                    public long position() throws IOException {
-                        return read;
-                    }
-
-                    public SeekableByteChannel position(long pos)
-                        throws IOException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-
-                    public int read(ByteBuffer dst) throws IOException {
-                        int n = rbc.read(dst);
-                        if (n > 0) {
-                            read += n;
-                        }
-                        return n;
-                    }
-
-                    public SeekableByteChannel truncate(long size)
-                        throws IOException
-                    {
-                        throw new NonWritableChannelException();
-                    }
-
-                    public int write (ByteBuffer src) throws IOException {
-                        throw new NonWritableChannelException();
-                    }
-
-                    public long size() throws IOException {
-                        return size;
-                    }
-
-                    public void close() throws IOException {
-                        rbc.close();
-                    }
-                };
+                try (InputStream is = getInputStream(e)) {
+                    // TBD: if (e.size < NNNNN);
+                    return new ByteArrayChannel(is.readAllBytes(), true);
+                }
             } finally {
                 endRead();
             }
@@ -743,7 +725,7 @@
             final Entry u = isFCH ? e : new Entry(path, tmpfile, Entry.FILECH);
             if (forWrite) {
                 u.flag = FLAG_DATADESCR;
-                u.method = METHOD_DEFLATED;
+                u.method = getCompressMethod(attrs);
             }
             // is there a better way to hook into the FileChannel's close method?
             return new FileChannel() {
@@ -846,10 +828,6 @@
     private Set<InputStream> streams =
         Collections.synchronizedSet(new HashSet<InputStream>());
 
-    // the ex-channel and ex-path that need to close when their outstanding
-    // input streams are all closed by the obtainers.
-    private Set<ExChannelCloser> exChClosers = new HashSet<>();
-
     private Set<Path> tmppaths = Collections.synchronizedSet(new HashSet<Path>());
     private Path getTempPathForEntry(byte[] path) throws IOException {
         Path tmpPath = createTempFileInSameDirectoryAs(zfpath);
@@ -1087,8 +1065,9 @@
             if (pos + CENHDR + nlen > limit) {
                 zerror("invalid CEN header (bad header size)");
             }
-            IndexNode inode = new IndexNode(cen, nlen, pos);
+            IndexNode inode = new IndexNode(cen, pos, nlen);
             inodes.put(inode, inode);
+
             // skip ext and comment
             pos += (CENHDR + nlen + elen + clen);
         }
@@ -1205,19 +1184,37 @@
         return written;
     }
 
+    private long writeEntry(Entry e, OutputStream os, byte[] buf)
+        throws IOException {
+
+        if (e.bytes == null && e.file == null)    // dir, 0-length data
+            return 0;
+
+        long written = 0;
+        try (OutputStream os2 = e.method == METHOD_STORED ?
+            new EntryOutputStreamCRC32(e, os) : new EntryOutputStreamDef(e, os)) {
+            if (e.bytes != null) {                 // in-memory
+                os2.write(e.bytes, 0, e.bytes.length);
+            } else if (e.file != null) {           // tmp file
+                if (e.type == Entry.NEW || e.type == Entry.FILECH) {
+                    try (InputStream is = Files.newInputStream(e.file)) {
+                        is.transferTo(os2);
+                    }
+                }
+                Files.delete(e.file);
+                tmppaths.remove(e.file);
+            }
+        }
+        written += e.csize;
+        if ((e.flag & FLAG_DATADESCR) != 0) {
+            written += e.writeEXT(os);
+        }
+        return written;
+    }
+
     // sync the zip file system, if there is any udpate
     private void sync() throws IOException {
-        // System.out.printf("->sync(%s) starting....!%n", toString());
-        // check ex-closer
-        if (!exChClosers.isEmpty()) {
-            for (ExChannelCloser ecc : exChClosers) {
-                if (ecc.streams.isEmpty()) {
-                    ecc.ch.close();
-                    Files.delete(ecc.path);
-                    exChClosers.remove(ecc);
-                }
-            }
-        }
+
         if (!hasUpdate)
             return;
         Path tmpFile = createTempFileInSameDirectoryAs(zfpath);
@@ -1243,34 +1240,7 @@
                         } else {                          // NEW, FILECH or CEN
                             e.locoff = written;
                             written += e.writeLOC(os);    // write loc header
-                            if (e.bytes != null) {        // in-memory, deflated
-                                os.write(e.bytes);        // already
-                                written += e.bytes.length;
-                            } else if (e.file != null) {  // tmp file
-                                try (InputStream is = Files.newInputStream(e.file)) {
-                                    int n;
-                                    if (e.type == Entry.NEW) {  // deflated already
-                                        while ((n = is.read(buf)) != -1) {
-                                            os.write(buf, 0, n);
-                                            written += n;
-                                        }
-                                    } else if (e.type == Entry.FILECH) {
-                                        // the data are not deflated, use ZEOS
-                                        try (OutputStream os2 = new EntryOutputStream(e, os)) {
-                                            while ((n = is.read(buf)) != -1) {
-                                                os2.write(buf, 0, n);
-                                            }
-                                        }
-                                        written += e.csize;
-                                        if ((e.flag & FLAG_DATADESCR) != 0)
-                                            written += e.writeEXT(os);
-                                    }
-                                }
-                                Files.delete(e.file);
-                                tmppaths.remove(e.file);
-                            } else {
-                                // dir, 0-length data
-                            }
+                            written += writeEntry(e, os, buf);
                         }
                         elist.add(e);
                     } catch (IOException x) {
@@ -1303,27 +1273,9 @@
             end.cenlen = written - end.cenoff;
             end.write(os, written, forceEnd64);
         }
-        if (!streams.isEmpty()) {
-            //
-            // TBD: ExChannelCloser should not be necessary if we only
-            // sync when being closed, all streams should have been
-            // closed already. Keep the logic here for now.
-            //
-            // There are outstanding input streams open on existing "ch",
-            // so, don't close the "cha" and delete the "file for now, let
-            // the "ex-channel-closer" to handle them
-            ExChannelCloser ecc = new ExChannelCloser(
-                                      createTempFileInSameDirectoryAs(zfpath),
-                                      ch,
-                                      streams);
-            Files.move(zfpath, ecc.path, REPLACE_EXISTING);
-            exChClosers.add(ecc);
-            streams = Collections.synchronizedSet(new HashSet<InputStream>());
-        } else {
-            ch.close();
-            Files.delete(zfpath);
-        }
 
+        ch.close();
+        Files.delete(zfpath);
         Files.move(tmpFile, zfpath, REPLACE_EXISTING);
         hasUpdate = false;    // clear
     }
@@ -1361,16 +1313,6 @@
         }
     }
 
-    private static void copyStream(InputStream is, OutputStream os)
-        throws IOException
-    {
-        byte[] copyBuf = new byte[8192];
-        int n;
-        while ((n = is.read(copyBuf)) != -1) {
-            os.write(copyBuf, 0, n);
-        }
-    }
-
     // Returns an out stream for either
     // (1) writing the contents of a new entry, if the entry exits, or
     // (2) updating/replacing the contents of the specified existing entry.
@@ -1379,9 +1321,9 @@
         if (e.mtime == -1)
             e.mtime = System.currentTimeMillis();
         if (e.method == -1)
-            e.method = METHOD_DEFLATED;  // TBD:  use default method
-        // store size, compressed size, and crc-32 in LOC header
-        e.flag = 0;
+            e.method = defaultMethod;
+        // store size, compressed size, and crc-32 in datadescr
+        e.flag = FLAG_DATADESCR;
         if (zc.isUTF8())
             e.flag |= FLAG_USE_UTF8;
         OutputStream os;
@@ -1394,16 +1336,130 @@
         return new EntryOutputStream(e, os);
     }
 
+    private class EntryOutputStream extends FilterOutputStream {
+        private Entry e;
+        private long written;
+        private boolean isClosed;
+
+        EntryOutputStream(Entry e, OutputStream os) throws IOException {
+            super(os);
+            this.e =  Objects.requireNonNull(e, "Zip entry is null");
+            // this.written = 0;
+        }
+
+        @Override
+        public synchronized void write(int b) throws IOException {
+            out.write(b);
+            written += 1;
+        }
+
+        @Override
+        public synchronized void write(byte b[], int off, int len)
+                throws IOException {
+            out.write(b, off, len);
+            written += len;
+        }
+
+        @Override
+        public synchronized void close() throws IOException {
+            if (isClosed) {
+                return;
+            }
+            isClosed = true;
+            e.size = written;
+            if (out instanceof ByteArrayOutputStream)
+                e.bytes = ((ByteArrayOutputStream)out).toByteArray();
+            super.close();
+            update(e);
+        }
+    }
+
+    // Wrapper output stream class to write out a "stored" entry.
+    // (1) this class does not close the underlying out stream when
+    //     being closed.
+    // (2) no need to be "synchronized", only used by sync()
+    private class EntryOutputStreamCRC32 extends FilterOutputStream {
+        private Entry e;
+        private CRC32 crc;
+        private long written;
+        private boolean isClosed;
+
+        EntryOutputStreamCRC32(Entry e, OutputStream os) throws IOException {
+            super(os);
+            this.e =  Objects.requireNonNull(e, "Zip entry is null");
+            this.crc = new CRC32();
+        }
+
+        @Override
+        public void write(int b) throws IOException {
+            out.write(b);
+            crc.update(b);
+            written += 1;
+        }
+
+        @Override
+        public void write(byte b[], int off, int len)
+                throws IOException {
+            out.write(b, off, len);
+            crc.update(b, off, len);
+            written += len;
+        }
+
+        @Override
+        public void close() throws IOException {
+            if (isClosed)
+                return;
+            isClosed = true;
+            e.size = e.csize = written;
+            e.crc = crc.getValue();
+        }
+    }
+
+    // Wrapper output stream class to write out a "deflated" entry.
+    // (1) this class does not close the underlying out stream when
+    //     being closed.
+    // (2) no need to be "synchronized", only used by sync()
+    private class EntryOutputStreamDef extends DeflaterOutputStream {
+        private CRC32 crc;
+        private Entry e;
+        private boolean isClosed;
+
+        EntryOutputStreamDef(Entry e, OutputStream os) throws IOException {
+            super(os, getDeflater());
+            this.e =  Objects.requireNonNull(e, "Zip entry is null");
+            this.crc = new CRC32();
+        }
+
+        @Override
+        public void write(byte b[], int off, int len)
+                throws IOException {
+            super.write(b, off, len);
+            crc.update(b, off, len);
+        }
+
+        @Override
+        public void close() throws IOException {
+            if (isClosed)
+                return;
+            isClosed = true;
+            finish();
+            e.size  = def.getBytesRead();
+            e.csize = def.getBytesWritten();
+            e.crc = crc.getValue();
+        }
+    }
+
     private InputStream getInputStream(Entry e)
         throws IOException
     {
         InputStream eis = null;
 
         if (e.type == Entry.NEW) {
+            // now bytes & file is uncompressed.
             if (e.bytes != null)
-                eis = new ByteArrayInputStream(e.bytes);
+                return new ByteArrayInputStream(e.bytes);
             else if (e.file != null)
-                eis = Files.newInputStream(e.file);
+                return Files.newInputStream(e.file);
             else
                 throw new ZipException("update entry data is missing");
         } else if (e.type == Entry.FILECH) {
@@ -1569,87 +1625,6 @@
         }
     }
 
-    class EntryOutputStream extends DeflaterOutputStream
-    {
-        private CRC32 crc;
-        private Entry e;
-        private long written;
-        private boolean isClosed = false;
-
-        EntryOutputStream(Entry e, OutputStream os)
-            throws IOException
-        {
-            super(os, getDeflater());
-            if (e == null)
-                throw new NullPointerException("Zip entry is null");
-            this.e = e;
-            crc = new CRC32();
-        }
-
-        @Override
-        public synchronized void write(byte b[], int off, int len)
-            throws IOException
-        {
-            if (e.type != Entry.FILECH)    // only from sync
-                ensureOpen();
-            if (isClosed) {
-                throw new IOException("Stream closed");
-            }
-            if (off < 0 || len < 0 || off > b.length - len) {
-                throw new IndexOutOfBoundsException();
-            } else if (len == 0) {
-                return;
-            }
-            switch (e.method) {
-            case METHOD_DEFLATED:
-                super.write(b, off, len);
-                break;
-            case METHOD_STORED:
-                written += len;
-                out.write(b, off, len);
-                break;
-            default:
-                throw new ZipException("invalid compression method");
-            }
-            crc.update(b, off, len);
-        }
-
-        @Override
-        public synchronized void close() throws IOException {
-            if (isClosed) {
-                return;
-            }
-            isClosed = true;
-            // TBD ensureOpen();
-            switch (e.method) {
-            case METHOD_DEFLATED:
-                finish();
-                e.size  = def.getBytesRead();
-                e.csize = def.getBytesWritten();
-                e.crc = crc.getValue();
-                break;
-            case METHOD_STORED:
-                // we already know that both e.size and e.csize are the same
-                e.size = e.csize = written;
-                e.crc = crc.getValue();
-                break;
-            default:
-                throw new ZipException("invalid compression method");
-            }
-            //crc.reset();
-            if (out instanceof ByteArrayOutputStream)
-                e.bytes = ((ByteArrayOutputStream)out).toByteArray();
-
-            if (e.type == Entry.FILECH) {
-                releaseDeflater(def);
-                return;
-            }
-            super.close();
-            releaseDeflater(def);
-            update(e);
-        }
-    }
-
     static void zerror(String msg) throws ZipException {
         throw new ZipException(msg);
     }
@@ -1806,7 +1781,7 @@
         }
 
         // constructor for cenInit() (1) remove tailing '/' (2) pad leading '/'
-        IndexNode(byte[] cen, int nlen, int pos) {
+        IndexNode(byte[] cen, int pos, int nlen) {
             int noff = pos + CENHDR;
             if (cen[noff + nlen - 1] == '/') {
                 isdir = true;
@@ -1902,18 +1877,18 @@
 
         Entry() {}
 
-        Entry(byte[] name, boolean isdir) {
+        Entry(byte[] name, boolean isdir, int method) {
             name(name);
             this.isdir = isdir;
             this.mtime  = this.ctime = this.atime = System.currentTimeMillis();
             this.crc    = 0;
             this.size   = 0;
             this.csize  = 0;
-            this.method = METHOD_DEFLATED;
+            this.method = method;
         }
 
-        Entry(byte[] name, int type, boolean isdir) {
-            this(name, isdir);
+        Entry(byte[] name, int type, boolean isdir, int method) {
+            this(name, isdir, method);
             this.type = type;
         }
 
@@ -1941,9 +1916,8 @@
         }
 
         Entry (byte[] name, Path file, int type) {
-            this(name, type, false);
+            this(name, type, false, METHOD_STORED);
             this.file = file;
-            this.method = METHOD_STORED;
         }
 
         int version() throws ZipException {
@@ -2422,6 +2396,7 @@
         public String toString() {
             StringBuilder sb = new StringBuilder(1024);
             Formatter fm = new Formatter(sb);
+            fm.format("    name            : %s%n", new String(name));
             fm.format("    creationTime    : %tc%n", creationTime().toMillis());
             fm.format("    lastAccessTime  : %tc%n", lastAccessTime().toMillis());
             fm.format("    lastModifiedTime: %tc%n", lastModifiedTime().toMillis());
@@ -2439,20 +2414,6 @@
         }
     }
 
-    private static class ExChannelCloser  {
-        Path path;
-        SeekableByteChannel ch;
-        Set<InputStream> streams;
-        ExChannelCloser(Path path,
-                        SeekableByteChannel ch,
-                        Set<InputStream> streams)
-        {
-            this.path = path;
-            this.ch = ch;
-            this.streams = streams;
-        }
-    }
-
     // ZIP directory has two issues:
     // (1) ZIP spec does not require the ZIP file to include
     //     directory entry
--- a/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystemProvider.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystemProvider.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2018, 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
@@ -124,9 +124,6 @@
     public FileSystem newFileSystem(Path path, Map<String, ?> env)
         throws IOException
     {
-        if (path.getFileSystem() != FileSystems.getDefault()) {
-            throw new UnsupportedOperationException();
-        }
         ensureFile(path);
          try {
              ZipFileSystem zipfs;
--- a/test/hotspot/jtreg/compiler/aot/AotCompiler.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/compiler/aot/AotCompiler.java	Mon Sep 24 10:59:26 2018 -0700
@@ -100,6 +100,7 @@
         }
         List<String> args = new ArrayList<>();
         args.add("--compile-with-assertions");
+        args.add("--info");
         args.add("--output");
         args.add(libName);
         if (file != null) {
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/AllocateCompileIdTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/AllocateCompileIdTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -33,7 +33,8 @@
  *          jdk.internal.vm.ci/jdk.vm.ci.hotspot
  *          jdk.internal.vm.ci/jdk.vm.ci.code
  *
- * @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper sun.hotspot.WhiteBox
+ * @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
+ *        sun.hotspot.WhiteBox sun.hotspot.parser.DiagnosticCommand
  * @run driver ClassFileInstaller sun.hotspot.WhiteBox
  *                                sun.hotspot.parser.DiagnosticCommand
  *                                sun.hotspot.WhiteBox$WhiteBoxPermission
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -49,6 +49,8 @@
 import static org.junit.Assert.assertTrue;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
@@ -762,6 +764,13 @@
         if (f.getDeclaringClass().equals(metaAccess.lookupJavaType(Class.class)) && f.getName().equals("classLoader")) {
             return true;
         }
+        if (f.getDeclaringClass().equals(metaAccess.lookupJavaType(ClassLoader.class)) ||
+            f.getDeclaringClass().equals(metaAccess.lookupJavaType(AccessibleObject.class)) ||
+            f.getDeclaringClass().equals(metaAccess.lookupJavaType(Constructor.class)) ||
+            f.getDeclaringClass().equals(metaAccess.lookupJavaType(Field.class)) ||
+            f.getDeclaringClass().equals(metaAccess.lookupJavaType(Method.class))) {
+            return true;
+        }
         return false;
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/loopstripmining/StripMinedLoopReorgOffsets.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2018, Red Hat, Inc. 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 8210390
+ * @summary C2 still crashes with "assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node"
+ *
+ * @run main/othervm -Xcomp StripMinedLoopReorgOffsets
+ *
+ */
+
+public class StripMinedLoopReorgOffsets {
+
+    public static final int N = 400;
+
+    public static long instanceCount=-4622920139809038929L;
+
+    public void mainTest(String[] strArr1) {
+
+        int i1=-211, i20=54720, i21=205, i22=2184, i23=58, i24=-50110, iArr3[]=new int[N];
+
+        for (i20 = 16; 331 > i20; ++i20) {
+            i1 = i20;
+            i21 += i1;
+            iArr3[i20] <<= (int)StripMinedLoopReorgOffsets.instanceCount;
+            for (i22 = 4; i22 < 80; i22++) {
+                i21 = i23;
+                i24 = 1;
+                while (++i24 < 2) {
+                    try {
+                        iArr3[i22] = (i23 / i1);
+                    } catch (ArithmeticException a_e) {}
+                }
+            }
+        }
+
+        System.out.println("i1 i20 = " + i1 + "," + i20);
+        System.out.println("i21 i22 i23 = " + i21 + "," + i22 + "," + i23);
+        System.out.println("i24 = " + i24);
+    }
+    public static void main(String[] strArr) {
+        StripMinedLoopReorgOffsets _instance = new StripMinedLoopReorgOffsets();
+        for (int i = 0; i < 10; i++ ) {
+            _instance.mainTest(strArr);
+        }
+    }
+}
--- a/test/hotspot/jtreg/gc/stress/TestStressIHOPMultiThread.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/gc/stress/TestStressIHOPMultiThread.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
@@ -181,7 +181,13 @@
         public void run() {
             System.out.println("Start the thread " + threadId);
             while (TestStressIHOPMultiThread.this.isRunning()) {
-                allocate(amountOfGarbage);
+                try {
+                    allocate(amountOfGarbage);
+                } catch (OutOfMemoryError e) {
+                    free();
+                    System.out.println("OutOfMemoryError occurred in thread " + threadId);
+                    break;
+                }
                 free();
             }
         }
--- a/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddReads.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddReads.java	Mon Sep 24 10:59:26 2018 -0700
@@ -25,7 +25,7 @@
 /**
  * @test
  * @requires vm.cds
- * @library /test/jdk/lib/testlibrary /test/lib /test/hotspot/jtreg/runtime/appcds
+ * @library /test/lib /test/hotspot/jtreg/runtime/appcds
  * @modules jdk.compiler
  *          jdk.jartool/sun.tools.jar
  *          jdk.jlink
@@ -39,7 +39,7 @@
 import java.nio.file.Paths;
 
 import jdk.test.lib.process.OutputAnalyzer;
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 public class AddReads {
 
--- a/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ExportModule.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ExportModule.java	Mon Sep 24 10:59:26 2018 -0700
@@ -25,7 +25,7 @@
 /**
  * @test
  * @requires vm.cds
- * @library /test/jdk/lib/testlibrary /test/lib /test/hotspot/jtreg/runtime/appcds
+ * @library /test/lib /test/hotspot/jtreg/runtime/appcds
  * @modules jdk.compiler
  *          jdk.jartool/sun.tools.jar
  *          jdk.jlink
@@ -40,7 +40,7 @@
 
 import jdk.test.lib.compiler.CompilerUtils;
 import jdk.test.lib.process.OutputAnalyzer;
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 public class ExportModule {
 
--- a/test/hotspot/jtreg/runtime/execstack/TestCheckJDK.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/runtime/execstack/TestCheckJDK.java	Mon Sep 24 10:59:26 2018 -0700
@@ -48,7 +48,8 @@
 
     static void checkExecStack(Path file) {
         String filename = file.toString();
-        if (filename.endsWith(".so")) {
+        Path parent = file.getParent();
+        if (parent.endsWith("bin") || filename.endsWith(".so")) {
             if (!WB.checkLibSpecifiesNoexecstack(filename)) {
                 System.out.println("Library does not have the noexecstack bit set: " + filename);
                 testPassed = false;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/jsig/Testjsig.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2016, 2018, 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 Testjsig.java
+ * @bug 8017498
+ * @bug 8020791
+ * @bug 8021296
+ * @bug 8022301
+ * @bug 8025519
+ * @summary sigaction(sig) results in process hang/timed-out if sig is much greater than SIGRTMAX
+ * @requires (os.family == "linux")
+ * @library /test/lib
+ * @compile TestJNI.java
+ * @run driver Testjsig
+ */
+
+import jdk.test.lib.process.ProcessTools;
+import jdk.test.lib.process.OutputAnalyzer;
+
+public class Testjsig {
+
+    public static void main(String[] args) throws Throwable {
+
+        // Get the JDK, library and class path properties
+        String libpath = System.getProperty("java.library.path");
+
+        // Create a new java process for the TestJNI Java/JNI test
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+            "-Djava.library.path=" + libpath + ":.",
+            "TestJNI",
+            "100");
+
+        // Start the process and check the output
+        OutputAnalyzer output = new OutputAnalyzer(pb.start());
+        output.shouldContain("old handler");
+    }
+}
--- a/test/hotspot/jtreg/vmTestbase/gc/gctests/mallocWithGC1/libmallocWithGC1.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/mallocWithGC1/libmallocWithGC1.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdlib.h>
 #include <time.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT void JNICALL Java_gc_gctests_mallocWithGC1_mallocWithGC1_getMallocLock01
 (JNIEnv *env, jobject obj) {
@@ -43,6 +41,4 @@
         }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/gc/gctests/mallocWithGC2/libmallocWithGC2.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/mallocWithGC2/libmallocWithGC2.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdlib.h>
 #include <time.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT void JNICALL Java_gc_gctests_mallocWithGC2_mallocWithGC2_getMallocLock02
 (JNIEnv *env, jobject obj) {
@@ -43,6 +41,4 @@
         }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/gc/gctests/mallocWithGC3/libmallocWithGC3.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/mallocWithGC3/libmallocWithGC3.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdlib.h>
 #include <time.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT void JNICALL
 Java_gc_gctests_mallocWithGC3_mallocWithGC3_getMallocLock03
@@ -44,6 +42,4 @@
         }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC01/libnativeGC01.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC01/libnativeGC01.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <jni.h>
 #include <stdio.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * A C function that takes a reference to java Object( a circular Linked list)
@@ -66,6 +64,4 @@
         return elementCount;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC02/libnativeGC02.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC02/libnativeGC02.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -23,9 +23,7 @@
 #include <jni.h>
 #include <stdio.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* A C function that takes a reference to java Object( a circular Linked list)
     and utilizes this reference to do a java method callback to determine the
@@ -76,6 +74,4 @@
         return elementCount;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC03/libnativeGC03.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC03/libnativeGC03.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -22,9 +22,7 @@
  */
 #include <jni.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT void JNICALL
 Java_gc_gctests_nativeGC03_nativeGC03_nativeMethod03
@@ -57,6 +55,4 @@
 
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC05/libnativeGC05.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC05/libnativeGC05.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -23,9 +23,7 @@
 #include <jni.h>
 #include <stdio.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT void JNICALL
 Java_gc_gctests_nativeGC05_nativeGC05_kickOffRefillers
@@ -91,6 +89,4 @@
         }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <jni.h>
 #include <aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define AGENT_NAME "VMNativeAgent00"
 
@@ -65,6 +63,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent01.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent01.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <jni.h>
 #include <aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define AGENT_NAME "VMNativeAgent01"
 
@@ -68,6 +66,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent02.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent02.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <jni.h>
 #include <aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define AGENT_NAME "VMNativeAgent02"
 
@@ -70,6 +68,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent03.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent03.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <jni.h>
 #include <aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define AGENT_NAME "VMNativeAgent03"
 
@@ -59,6 +57,4 @@
     return ON_ATTACH_EXIT_CODE;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine09/agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine09/agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <jni.h>
 #include <aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Test checks following spec clause: "Agent_OnAttach function is invoked even if the agent library was loaded
@@ -68,6 +66,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdb/unwatch/unwatch002/unwatch002.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdb/unwatch/unwatch002/unwatch002.java	Mon Sep 24 10:59:26 2018 -0700
@@ -91,6 +91,7 @@
     static final String DEBUGGEE_CLASS2    = DEBUGGEE_CLASS + "$CheckedFields";
     static final String FIRST_BREAK        = DEBUGGEE_CLASS + ".main";
     static final String LAST_BREAK         = DEBUGGEE_CLASS + ".breakHere";
+    static final String expectedPrompt     = "main[1]";
 
     static String[] checkedFields  = { "FS1" };
     static String[] checkedFields2 = { "FT1", "FV1" };
@@ -113,7 +114,7 @@
 
 //        jdb.contToExit((checkedFields.length *2)  + (checkedFields2.length *2) + 2);
         for (int i = 0; i < (checkedFields.length *2 + checkedFields2.length*2 + 2); i++) {
-            reply = jdb.receiveReplyFor(JdbCommand.cont);
+            reply = jdb.receiveReplyForWithMessageWait(JdbCommand.cont, expectedPrompt);
         }
 
         unwatchFields (DEBUGGEE_CLASS, checkedFields);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps001/addcaps001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps001/addcaps001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -348,6 +346,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps002/addcaps002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps002/addcaps002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -372,6 +370,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps003/addcaps003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps003/addcaps003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -221,6 +219,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Agent_OnLoad/agentonload001/agentonload001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Agent_OnLoad/agentonload001/agentonload001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -88,6 +86,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Agent_OnLoad/agentonload002/agentonload002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Agent_OnLoad/agentonload002/agentonload002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -69,6 +67,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Agent_OnLoad/agentonload003/agentonload003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Agent_OnLoad/agentonload003/agentonload003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -69,6 +67,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Agent_OnUnload/agentonunload001/agentonunload001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Agent_OnUnload/agentonunload001/agentonunload001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -83,6 +81,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -241,6 +239,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -130,6 +128,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -148,6 +146,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -160,6 +158,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Agent tries to get all potential capabilities
@@ -91,6 +89,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define LOADED_CLASS_NAME "Lnsk/jvmti/AttachOnDemand/attach014/ClassToLoad;"
 
@@ -122,6 +120,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -114,6 +112,4 @@
 
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -114,6 +112,4 @@
 
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Target.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Target.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define LOADED_CLASS_NAME "nsk/jvmti/AttachOnDemand/attach015/ClassToLoad2"
 
@@ -42,6 +40,4 @@
     return NSK_CPP_STUB2(FindClass, jni, LOADED_CLASS_NAME) ? JNI_TRUE : JNI_FALSE;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -194,6 +192,4 @@
 
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -166,6 +164,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define OBJECTS_FOR_ALLOCATION_TEST_CLASS_NAME "Lnsk/jvmti/AttachOnDemand/attach022/ClassForAllocationEventsTest;"
 
@@ -232,6 +230,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -147,6 +145,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -137,6 +135,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -178,6 +176,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -169,6 +167,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -190,6 +188,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Expected agent work scenario:
@@ -154,6 +152,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Agent receives expected number of ClassLoad events and finishes work
@@ -134,6 +132,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Agent receives expected number of ClassPrepare events and finishes work
@@ -145,6 +143,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Agent receives expected number of ThreadStart/ThreadEnd events and finishes work
@@ -166,6 +164,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Agent receives expected number of VMObjectAlloc events and finishes work
@@ -161,6 +159,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * In this test the same agent library is attached 3 times, but with
@@ -141,6 +139,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach050/attach050Agent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach050/attach050Agent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 
 #define ON_UNLOAD_MARKER "attach050.on_unload"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * This agent gets JVMTI environment and calls nsk_aod_agentLoaded and
@@ -94,6 +92,4 @@
     fflush(stdout);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/sharedAgents/simpleAgent00.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/sharedAgents/simpleAgent00.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <aod.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Simple agent, doesn't perform any specific checks,
@@ -77,6 +75,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Breakpoint/breakpoint001/breakpoint001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Breakpoint/breakpoint001/breakpoint001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -303,6 +301,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk001/classfloadhk001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk001/classfloadhk001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,9 +33,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -108,6 +106,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk002/classfloadhk002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk002/classfloadhk002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -350,6 +348,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk003/classfloadhk003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk003/classfloadhk003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -412,6 +410,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk004/classfloadhk004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk004/classfloadhk004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -303,6 +301,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk005/classfloadhk005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk005/classfloadhk005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -365,6 +363,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk006/classfloadhk006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk006/classfloadhk006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -429,6 +427,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk007/classfloadhk007.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk007/classfloadhk007.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -455,6 +453,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk008/classfloadhk008.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk008/classfloadhk008.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -391,6 +389,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk009/classfloadhk009.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk009/classfloadhk009.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -391,6 +389,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassLoad/classload001/classload001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassLoad/classload001/classload001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,9 +33,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -206,6 +204,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/CompiledMethodLoad/compmethload001/compmethload001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/CompiledMethodLoad/compmethload001/compmethload001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -156,6 +154,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/CompiledMethodUnload/compmethunload001/compmethunload001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/CompiledMethodUnload/compmethunload001/compmethunload001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -204,6 +202,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DataDumpRequest/datadumpreq001/datadumpreq001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DataDumpRequest/datadumpreq001/datadumpreq001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -32,9 +32,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -133,6 +131,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DisposeEnvironment/disposeenv001/disposeenv001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DisposeEnvironment/disposeenv001/disposeenv001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -67,6 +65,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DisposeEnvironment/disposeenv002/disposeenv002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DisposeEnvironment/disposeenv002/disposeenv002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -117,6 +115,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DynamicCodeGenerated/dyncodgen001/dyncodgen001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DynamicCodeGenerated/dyncodgen001/dyncodgen001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -138,6 +136,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn001/ForceEarlyReturn001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn001/ForceEarlyReturn001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "JVMTITools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -272,6 +270,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceGarbageCollection/forcegc001/forcegc001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceGarbageCollection/forcegc001/forcegc001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -94,6 +92,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceGarbageCollection/forcegc002/forcegc002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceGarbageCollection/forcegc002/forcegc002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -138,6 +136,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionFinish/gcfinish001/gcfinish001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionFinish/gcfinish001/gcfinish001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -243,6 +241,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart001/gcstart001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart001/gcstart001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -155,6 +153,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart002/gcstart002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart002/gcstart002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -244,6 +242,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GenerateEvents/genevents001/genevents001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GenerateEvents/genevents001/genevents001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -220,6 +218,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/InterruptThread/intrpthrd001/intrpthrd001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/InterruptThread/intrpthrd001/intrpthrd001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -184,6 +182,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IsMethodObsolete/isobsolete001/isobsolete001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IsMethodObsolete/isobsolete001/isobsolete001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -410,6 +408,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap001/iterheap001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap001/iterheap001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -567,6 +565,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap002/iterheap002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap002/iterheap002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -575,6 +573,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap003/iterheap003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap003/iterheap003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -576,6 +574,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap004/iterheap004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap004/iterheap004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static JNIEnv *jni = NULL;
 static jvmtiEnv *jvmti = NULL;
@@ -279,6 +277,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap005/iterheap005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap005/iterheap005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -189,6 +187,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap006/iterheap006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap006/iterheap006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -150,6 +148,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap007/iterheap007.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap007/iterheap007.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -179,6 +177,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls001/iterinstcls001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls001/iterinstcls001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -586,6 +584,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls002/iterinstcls002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls002/iterinstcls002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -594,6 +592,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls003/iterinstcls003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls003/iterinstcls003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -595,6 +593,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls004/iterinstcls004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls004/iterinstcls004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -215,6 +213,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls005/iterinstcls005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls005/iterinstcls005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -198,6 +196,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls006/iterinstcls006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls006/iterinstcls006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -160,6 +158,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls007/iterinstcls007.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls007/iterinstcls007.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -190,6 +188,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj001/iterobjreachobj001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj001/iterobjreachobj001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -545,6 +543,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj002/iterobjreachobj002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj002/iterobjreachobj002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -237,6 +235,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj003/iterobjreachobj003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj003/iterobjreachobj003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -219,6 +217,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj004/iterobjreachobj004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj004/iterobjreachobj004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -189,6 +187,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj005/iterobjreachobj005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj005/iterobjreachobj005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -221,6 +219,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj001/iterreachobj001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj001/iterreachobj001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -738,6 +736,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj002/iterreachobj002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj002/iterreachobj002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static JNIEnv *jni = NULL;
 static jvmtiEnv *jvmti = NULL;
@@ -513,6 +511,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj003/iterreachobj003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj003/iterreachobj003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -349,6 +347,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj004/iterreachobj004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj004/iterreachobj004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -269,6 +267,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj005/iterreachobj005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj005/iterreachobj005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -346,6 +344,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/abort/Abort.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/abort/Abort.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,9 +29,7 @@
 #include "jvmti_tools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static int timeout = 0;
 
@@ -159,6 +157,4 @@
   return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/callbacks/Callbacks.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/callbacks/Callbacks.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,9 +29,7 @@
 #include "jvmti_tools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATIC_FIELD 0x0008
 
@@ -639,6 +637,4 @@
   return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/concrete-klass-filter/ConcreteKlassFilter.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/concrete-klass-filter/ConcreteKlassFilter.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,9 +29,7 @@
 #include "jvmti_tools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define TEST_OBJECT_TAG 0x8000
 #define EXPECTED_NON_PRIMITIVES_COUNT 1
@@ -313,6 +311,4 @@
   return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,9 +29,7 @@
 #include "jvmti_tools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATIC_FIELD 0x0008
 
@@ -607,6 +605,4 @@
   return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/non-concrete-klass-filter/NonConcreteKlassFilter.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/non-concrete-klass-filter/NonConcreteKlassFilter.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,9 +29,7 @@
 #include "jvmti_tools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 //expected values
 #define EXPECTED_PRIMITIVES 2
@@ -242,6 +240,4 @@
   return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorContendedEnter/mcontenter001/mcontenter001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorContendedEnter/mcontenter001/mcontenter001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -265,6 +263,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorContendedEntered/mcontentered001/mcontentered001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorContendedEntered/mcontentered001/mcontentered001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -293,6 +291,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorWait/monitorwait001/monitorwait001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorWait/monitorwait001/monitorwait001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -268,6 +266,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorWaited/monitorwaited001/monitorwaited001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorWaited/monitorwaited001/monitorwaited001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -269,6 +267,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/NativeMethodBind/nativemethbind001/nativemethbind001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/NativeMethodBind/nativemethbind001/nativemethbind001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -255,6 +253,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/NativeMethodBind/nativemethbind002/nativemethbind002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/NativeMethodBind/nativemethbind002/nativemethbind002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -186,6 +184,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/NativeMethodBind/nativemethbind003/nativemethbind003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/NativeMethodBind/nativemethbind003/nativemethbind003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -249,6 +247,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/NativeMethodBind/nativemethbind004/nativemethbind004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/NativeMethodBind/nativemethbind004/nativemethbind004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -219,6 +217,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ObjectFree/objfree001/objfree001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ObjectFree/objfree001/objfree001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -32,9 +32,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -299,6 +297,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ObjectFree/objfree002/objfree002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ObjectFree/objfree002/objfree002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -32,9 +32,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -327,6 +325,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe005/popframe005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe005/popframe005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <jvmti_tools.h>
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 // Deallocate memory region allocated by VM
 #define DEALLOCATE(p) \
@@ -391,6 +389,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/TestDescription.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/TestDescription.java	Mon Sep 24 10:59:26 2018 -0700
@@ -32,6 +32,7 @@
  *          /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @run main/othervm/native
+ *      -Xlog:redefine+class+iklass+purge=trace,redefine+class+iklass+add=trace
  *      -agentlib:stressRedefine
  *      nsk.jvmti.RedefineClasses.StressRedefine
  *      ./bin
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass028/redefclass028.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass028/redefclass028.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,9 +33,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -289,6 +287,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029/redefclass029.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029/redefclass029.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,9 +33,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -288,6 +286,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass030/redefclass030.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass030/redefclass030.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,9 +33,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -289,6 +287,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RelinquishCapabilities/relcaps001/relcaps001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RelinquishCapabilities/relcaps001/relcaps001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -392,6 +390,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RelinquishCapabilities/relcaps002/relcaps002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RelinquishCapabilities/relcaps002/relcaps002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -381,6 +379,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jvmtiEnv* gJvmti = NULL;
 static volatile jboolean gGotEvent = JNI_FALSE;
@@ -102,6 +100,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThread/resumethrd001/resumethrd001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThread/resumethrd001/resumethrd001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -155,6 +153,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThread/resumethrd002/resumethrd002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThread/resumethrd002/resumethrd002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -194,6 +192,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThreadList/resumethrdlst001/resumethrdlst001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThreadList/resumethrdlst001/resumethrdlst001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -290,6 +288,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThreadList/resumethrdlst002/resumethrdlst002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThreadList/resumethrdlst002/resumethrdlst002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -351,6 +349,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform002/retransform002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform002/retransform002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <jvmti_tools.h>
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jvmtiEnv *jvmti = NULL;
 
@@ -168,8 +166,6 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
 
 /* ============================================================================= */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform003/retransform003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform003/retransform003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,9 +29,7 @@
 #include <jvmti_tools.h>
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -284,8 +282,6 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
 
 /* ============================================================================= */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform004/retransform004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform004/retransform004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,9 +29,7 @@
 #include <jvmti_tools.h>
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -181,8 +179,6 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
 
 /* ============================================================================= */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEnvironmentLocalStorage/setenvstor001/setenvstor001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEnvironmentLocalStorage/setenvstor001/setenvstor001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -252,6 +250,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEnvironmentLocalStorage/setenvstor002/setenvstor002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEnvironmentLocalStorage/setenvstor002/setenvstor002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -247,6 +245,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEnvironmentLocalStorage/setenvstor003/setenvstor003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEnvironmentLocalStorage/setenvstor003/setenvstor003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -250,6 +248,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEventCallbacks/setevntcallb001/setevntcallb001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEventCallbacks/setevntcallb001/setevntcallb001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -205,6 +203,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEventCallbacks/setevntcallb002/setevntcallb002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEventCallbacks/setevntcallb002/setevntcallb002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -208,6 +206,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEventCallbacks/setevntcallb003/setevntcallb003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetEventCallbacks/setevntcallb003/setevntcallb003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -213,6 +211,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetExtensionEventCallback/setextevent001/setextevent001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetExtensionEventCallback/setextevent001/setextevent001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -164,6 +162,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetNativeMethodPrefix/SetNativeMethodPrefix001/SetNativeMethodPrefix001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetNativeMethodPrefix/SetNativeMethodPrefix001/SetNativeMethodPrefix001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FOO 1
 #define WRAPPED_FOO 2
@@ -367,6 +365,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetNativeMethodPrefix/SetNativeMethodPrefix002/SetNativeMethodPrefix002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetNativeMethodPrefix/SetNativeMethodPrefix002/SetNativeMethodPrefix002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -148,6 +146,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetNativeMethodPrefix/SetNativeMethodPrefix002/SetNativeMethodPrefix002Main.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetNativeMethodPrefix/SetNativeMethodPrefix002/SetNativeMethodPrefix002Main.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,9 +29,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -49,6 +47,4 @@
     return FOO;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetSystemProperty/setsysprop002/setsysprop002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetSystemProperty/setsysprop002/setsysprop002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -204,6 +202,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetSystemProperty/setsysprop003/setsysprop003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetSystemProperty/setsysprop003/setsysprop003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -104,6 +102,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetTag/settag001/settag001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetTag/settag001/settag001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -222,6 +220,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetThreadLocalStorage/setthrdstor001/setthrdstor001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetThreadLocalStorage/setthrdstor001/setthrdstor001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -175,6 +173,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetThreadLocalStorage/setthrdstor002/setthrdstor002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetThreadLocalStorage/setthrdstor002/setthrdstor002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -161,6 +159,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetThreadLocalStorage/setthrdstor003/setthrdstor003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetThreadLocalStorage/setthrdstor003/setthrdstor003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -259,6 +257,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag001/setvrbflag001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag001/setvrbflag001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -227,6 +225,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag002/setvrbflag002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag002/setvrbflag002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -98,6 +96,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep001/singlestep001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep001/singlestep001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -300,6 +298,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep002/singlestep002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep002/singlestep002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -32,9 +32,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -137,6 +135,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep003/singlestep003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep003/singlestep003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -308,6 +306,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/StopThread/stopthrd007/stopthrd007.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/StopThread/stopthrd007/stopthrd007.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -205,6 +203,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd001/suspendthrd001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd001/suspendthrd001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -155,6 +153,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd002/suspendthrd002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd002/suspendthrd002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -196,6 +194,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/suspendthrd003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/suspendthrd003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -196,6 +194,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst001/suspendthrdlst001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst001/suspendthrdlst001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -282,6 +280,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst002/suspendthrdlst002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst002/suspendthrdlst002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -327,6 +325,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -170,6 +168,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadStart/threadstart002/threadstart002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadStart/threadstart002/threadstart002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "agent_common.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -542,6 +540,4 @@
     return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMObjectAlloc/vmobjalloc001/vmobjalloc001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMObjectAlloc/vmobjalloc001/vmobjalloc001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -158,6 +156,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP01/ap01t001/ap01t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP01/ap01t001/ap01t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -32,9 +32,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -371,6 +369,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP02/ap02t001/ap02t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP02/ap02t001/ap02t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -256,6 +254,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP03/ap03t001/ap03t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP03/ap03t001/ap03t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define EXP_OBJ_NUMBER 1
 
@@ -271,6 +269,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t001/ap04t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t001/ap04t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define OBJ_MAX_COUNT 100000
 
@@ -530,6 +528,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t002/ap04t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t002/ap04t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define OBJ_MAX_COUNT 100000
 
@@ -514,6 +512,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t003/ap04t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t003/ap04t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define OBJ_MAX_COUNT 100000
 
@@ -704,6 +702,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t001/ap05t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t001/ap05t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define EXP_OBJ_NUMBER 1
 
@@ -233,6 +231,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t002/ap05t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t002/ap05t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define EXP_OBJ_NUMBER 1
 
@@ -236,6 +234,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP06/ap06t001/ap06t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP06/ap06t001/ap06t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define EXP_OBJ_NUMBER 1
 
@@ -254,6 +252,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t001/ap07t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t001/ap07t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define EXP_OBJ_NUMBER 1
 
@@ -211,6 +209,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t002/ap07t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t002/ap07t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define EXP_OBJ_NUMBER 1
 
@@ -189,6 +187,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP09/ap09t001/ap09t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP09/ap09t001/ap09t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define EXP_OBJ_NUMBER 1
 
@@ -246,6 +244,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ap10t001/ap10t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ap10t001/ap10t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -322,6 +320,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP11/ap11t001/ap11t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP11/ap11t001/ap11t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -262,6 +260,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/ap12t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/ap12t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -32,9 +32,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -169,6 +167,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t001/bi01t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t001/bi01t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* scaffold objects */
 static jvmtiEnv *jvmti = NULL;
@@ -292,6 +290,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t002/bi01t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t002/bi01t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* scaffold objects */
 static jvmtiEnv *jvmti = NULL;
@@ -306,6 +304,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI02/bi02t001/bi02t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI02/bi02t001/bi02t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -202,6 +200,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI02/bi02t002/bi02t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI02/bi02t002/bi02t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -184,6 +182,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI03/bi03t001/bi03t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI03/bi03t001/bi03t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -202,6 +200,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI03/bi03t002/bi03t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI03/bi03t002/bi03t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -184,6 +182,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/bi04t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/bi04t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* scaffold objects */
 static jlong timeout = 0;
@@ -181,6 +179,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t001/cm01t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t001/cm01t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_tag_objects
 #define CAPABILITY_STR "can_tag_objects"
@@ -663,6 +661,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t002/cm01t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t002/cm01t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_bytecodes
 #define CAPABILITY_STR "can_get_bytecodes"
@@ -658,6 +656,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t003/cm01t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t003/cm01t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_synthetic_attribute
 #define CAPABILITY_STR "can_get_synthetic_attribute"
@@ -658,6 +656,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t004/cm01t004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t004/cm01t004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_owned_monitor_info
 #define CAPABILITY_STR "can_get_owned_monitor_info"
@@ -656,6 +654,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t005/cm01t005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t005/cm01t005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_current_contended_monitor
 #define CAPABILITY_STR "can_get_current_contended_monitor"
@@ -656,6 +654,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t006/cm01t006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t006/cm01t006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_monitor_info
 #define CAPABILITY_STR "can_get_monitor_info"
@@ -656,6 +654,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t007/cm01t007.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t007/cm01t007.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_pop_frame
 #define CAPABILITY_STR "can_pop_frame"
@@ -676,6 +674,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t008/cm01t008.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t008/cm01t008.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_redefine_classes
 #define CAPABILITY_STR "can_redefine_classes"
@@ -700,6 +698,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t009/cm01t009.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t009/cm01t009.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_signal_thread
 #define CAPABILITY_STR "can_signal_thread"
@@ -656,6 +654,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t010/cm01t010.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t010/cm01t010.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_source_file_name
 #define CAPABILITY_STR "can_get_source_file_name"
@@ -657,6 +655,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t011/cm01t011.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t011/cm01t011.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_access_local_variables
 #define CAPABILITY_STR "can_access_local_variables"
@@ -696,6 +694,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t012/cm01t012.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t012/cm01t012.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_suspend
 #define CAPABILITY_STR "can_suspend"
@@ -658,6 +656,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t013/cm01t013.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t013/cm01t013.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_line_numbers
 #define CAPABILITY_STR "can_get_line_numbers"
@@ -657,6 +655,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t014/cm01t014.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t014/cm01t014.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_bytecodes
 #define CAPABILITY_STR "can_get_bytecodes"
@@ -722,6 +720,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t015/cm01t015.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t015/cm01t015.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_synthetic_attribute
 #define CAPABILITY_STR "can_get_synthetic_attribute"
@@ -727,6 +725,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t016/cm01t016.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t016/cm01t016.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_monitor_info
 #define CAPABILITY_STR "can_get_monitor_info"
@@ -721,6 +719,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t017/cm01t017.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t017/cm01t017.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_signal_thread
 #define CAPABILITY_STR "can_signal_thread"
@@ -726,6 +724,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t018/cm01t018.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t018/cm01t018.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_suspend
 #define CAPABILITY_STR "can_suspend"
@@ -737,6 +735,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t019/cm01t019.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t019/cm01t019.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_source_debug_extension
 #define CAPABILITY_STR "can_get_source_debug_extension"
@@ -657,6 +655,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t020/cm01t020.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t020/cm01t020.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_current_thread_cpu_time
 #define CAPABILITY_STR "can_get_current_thread_cpu_time"
@@ -658,6 +656,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t021/cm01t021.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t021/cm01t021.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CAPABILITY can_get_thread_cpu_time
 #define CAPABILITY_STR "can_get_thread_cpu_time"
@@ -658,6 +656,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM02/cm02t001/cm02t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM02/cm02t001/cm02t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* The test adds all capabilities suitable for profiling at OnLoad phase:
  *
@@ -776,6 +774,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/cm03t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/cm03t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* The test adds all capabilities suitable for debugging at OnLoad phase:
  *
@@ -963,6 +961,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC01/tc01t001/tc01t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC01/tc01t001/tc01t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -293,6 +291,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/tc02t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/tc02t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -386,6 +384,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC03/tc03t001/tc03t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC03/tc03t001/tc03t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 typedef struct {
     jthread thread;
@@ -275,6 +273,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC03/tc03t002/tc03t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC03/tc03t002/tc03t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 typedef struct {
     jthread thread;
@@ -275,6 +273,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC04/tc04t001/tc04t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC04/tc04t001/tc04t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -359,6 +357,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC05/tc05t001/tc05t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC05/tc05t001/tc05t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -364,6 +362,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t001/em01t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t001/em01t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -479,6 +477,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t002/em01t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t002/em01t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -577,6 +575,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t001/em02t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t001/em02t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -807,6 +805,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t002/em02t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t002/em02t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -555,6 +553,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t003/em02t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t003/em02t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -604,6 +602,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t004/em02t004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t004/em02t004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -610,6 +608,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t005/em02t005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t005/em02t005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -587,6 +585,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t006/em02t006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t006/em02t006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -530,6 +528,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t007/em02t007.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t007/em02t007.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -575,6 +573,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t008/em02t008.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t008/em02t008.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -589,6 +587,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t009/em02t009.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t009/em02t009.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -595,6 +593,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t010/em02t010.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t010/em02t010.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -571,6 +569,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t011/em02t011.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t011/em02t011.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -546,6 +544,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t012/em02t012.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t012/em02t012.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -550,6 +548,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "nsk_list.h"
 #include "nsk_mutex.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -252,6 +250,4 @@
     }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM05/em05t001/em05t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM05/em05t001/em05t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -353,6 +351,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM05/em05t002/em05t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM05/em05t002/em05t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -421,6 +419,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM06/em06t001/em06t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM06/em06t001/em06t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -273,6 +271,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t001/em07t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t001/em07t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -390,6 +388,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t002/em07t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t002/em07t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "JVMTITools.h"
 #include "nsk_list.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -298,6 +296,4 @@
 /* ============================================================================= */
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static JNIEnv *jni = NULL;
 static jvmtiEnv* jvmti = NULL;
@@ -277,6 +275,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF01/gf01t001/gf01t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF01/gf01t001/gf01t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,9 +33,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -207,6 +205,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF04/gf04t001/gf04t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF04/gf04t001/gf04t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -217,6 +215,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/gf08t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/gf08t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -85,6 +83,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t002/gf08t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t002/gf08t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -85,6 +83,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t003/gf08t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t003/gf08t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -85,6 +83,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,9 +33,7 @@
 #include "jvmti_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS103/hs103t002/MyThread"
 #define SEARCH_NAME "nsk/jvmti/scenarios/hotswap/HS103/hs103t002/MyThread"
@@ -178,6 +176,4 @@
   return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t001/hs104t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t001/hs104t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "JVMTITools.h"
 
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS104/hs104t001/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS104/hs104t001/MyClass;"
@@ -108,6 +106,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "JVMTITools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define DIR_NAME "newclass"
 #define PATH_FORMAT "%s%02d/%s"
@@ -94,6 +92,4 @@
     }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t001/hs201t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t001/hs201t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -732,6 +730,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/hs201t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/hs201t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -732,6 +730,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t003/hs201t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t003/hs201t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -32,9 +32,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED  0
 #define STATUS_FAILED  2
@@ -353,6 +351,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t001/hs202t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t001/hs202t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -36,9 +36,7 @@
         4. Pop a currently executed frame.
 
 */
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS202/hs203t001/MyObject"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS202/hs203t001/MyObject;"
 #define METHOD_NAME "leaveMonitor"
@@ -227,6 +225,4 @@
     return retvalue;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t002/hs202t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t002/hs202t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 /*
 hs202t002:
 */
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS202/hs202t002/MyThread"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS202/hs202t002/MyThread;"
@@ -200,6 +198,4 @@
     return suspended == thread_suspend_status;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t001/hs203t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t001/hs203t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -39,9 +39,7 @@
         4. Pop a currently executed frame. Stepping should be continued
         on invoke instruction.
 */
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS203/hs203t001/MyThread"
 
@@ -234,6 +232,4 @@
     return retvalue;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t002/hs203t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t002/hs203t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -43,9 +43,7 @@
    method b().
 */
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS203/hs203t002/MyThread"
 #define SEARCH_NAME "nsk/jvmti/scenarios/hotswap/HS203/hs203t002/MyThread"
@@ -252,6 +250,4 @@
     return retvalue;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -37,9 +37,7 @@
    frame within FieldAccess/FieldModification callback.
 
 */
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define DIR_NAME "newclass"
 #define PATH_FORMAT "%s%02d/%s"
 
@@ -227,6 +225,4 @@
     return retvalue;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/hs203t004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/hs203t004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "JVMTITools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS203/hs203t004/MyThread"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS203/hs203t004/MyThread;"
 #define METHOD_NAME "doTask2"
@@ -257,6 +255,4 @@
     return retvalue;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "jvmti_tools.h"
 
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 static JNIEnv* jni = NULL;
 static jvmtiEnv *jvmti = NULL;
 static jlong timeout = 0;
@@ -305,6 +303,4 @@
     }
     return NSK_TRUE;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -34,9 +34,7 @@
  *3. Upon reaching the breakpoint, redefine the class and pop
  *a currently executed frame of the static initializer.
 */
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS204/hs204t002/MyThread"
 
 #define SEARCH_NAME "nsk/jvmti/scenarios/hotswap/HS204/hs204t002/MyThread"
@@ -166,6 +164,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.h	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 
 #ifndef _Included_hs204t002
 #define _Included_hs204t002
-#ifdef __cplusplus
 extern "C" {
-#endif
 /*
  * Class:     hs204t002
  * Method:    setBreakPoint
@@ -37,7 +35,5 @@
 JNIEXPORT void JNICALL Java_hs204t002_setBreakPoint
   (JNIEnv *, jclass, jclass);
 
-#ifdef __cplusplus
 }
 #endif
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "jni_tools.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS204/hs204t003/MyThread"
 #define CLASS_NAME  "Lnsk/jvmti/scenarios/hotswap/HS204/hs204t003/MyThread;"
@@ -252,6 +250,4 @@
     }
     return retvalue;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t004/hs204t004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t004/hs204t004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -34,9 +34,7 @@
 3. Upon accessing the field by the initializer, redefine the class and pop a currently executed
  frame of the initializer within incoming FieldAccess callback.
 */
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define METHOD_NAME "loadClass"
 #define SIGNATURE "(Ljava/lang/String;)Ljava/lang/Class;"
@@ -200,6 +198,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t001/hs301t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t001/hs301t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 #include "jni_tools.h"
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS301/hs301t001/MyClass"
 #define DIR_NAME "newclass"
@@ -104,6 +102,4 @@
     return ret;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t002/hs301t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t002/hs301t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #include "jvmti_tools.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS301/hs301t002/MyClass"
 #define DIR_NAME "newclass"
 #define PATH_FORMAT "%s%02d/%s"
@@ -102,6 +100,4 @@
     return ret;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t003/hs301t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t003/hs301t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS301/hs301t003/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS301/hs301t003/MyClass;"
 
@@ -106,6 +104,4 @@
     }
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t004/hs301t004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t004/hs301t004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS301/hs301t004/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS301/hs301t004/MyClass;"
 
@@ -108,6 +106,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t005/hs301t005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t005/hs301t005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jvmti_tools.h"
 
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS301/hs301t005/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS301/hs301t005/MyClass;"
 
@@ -99,6 +97,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t001/hs302t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t001/hs302t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t001/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t001/MyClass;"
@@ -99,6 +97,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t002/hs302t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t002/hs302t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t002/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t002/MyClass;"
@@ -106,6 +104,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t003/hs302t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t003/hs302t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t003/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t003/MyClass;"
@@ -105,6 +103,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t004/hs302t004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t004/hs302t004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t004r/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t004r/MyClass;"
 
@@ -98,6 +96,4 @@
     }
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t005/hs302t005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t005/hs302t005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jvmti_tools.h"
 
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t005r/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t005r/MyClass;"
@@ -102,6 +100,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t006/hs302t006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t006/hs302t006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t006r/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t006r/MyClass;"
@@ -100,6 +98,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t007/hs302t007.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t007/hs302t007.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include "agent_common.h"
 #include <string.h>
 #include "jvmti_tools.h"
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t007r/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t007r/MyClass;"
 void JNICALL callbackClassPrepare(jvmtiEnv *jvmti_env,
@@ -96,6 +94,4 @@
     }
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t008/hs302t008.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t008/hs302t008.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t008r/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t008r/MyClass;"
@@ -99,6 +97,4 @@
     }
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t009/hs302t009.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t009/hs302t009.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t009r/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t009r/MyClass;"
 
@@ -100,6 +98,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t010/hs302t010.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t010/hs302t010.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t010r/MyClass"
 #define PATH_FORMAT "%s%02d/%s"
@@ -98,6 +96,4 @@
     }
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t011/hs302t011.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t011/hs302t011.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t011r/MyClass"
 #define CLASS_NAME "Lnsk/jvmti/scenarios/hotswap/HS302/hs302t011r/MyClass;"
@@ -99,6 +97,4 @@
     }
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t012/hs302t012.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t012/hs302t012.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <string.h>
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FILE_NAME "nsk/jvmti/scenarios/hotswap/HS302/hs302t012r/MyClass"
 #define DIR_NAME "newclass"
@@ -102,6 +100,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI01/ji01t001/ji01t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI01/ji01t001/ji01t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,9 +33,7 @@
 #include "jvmti_tools.h"
 #include "nsk_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ====================================================================== */
 
@@ -455,6 +453,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA01/ma01t001/ma01t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA01/ma01t001/ma01t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -114,6 +112,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA01/ma01t001/ma01t001a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA01/ma01t001/ma01t001a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -114,6 +112,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA02/ma02t001/ma02t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA02/ma02t001/ma02t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -151,6 +149,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA02/ma02t001/ma02t001a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA02/ma02t001/ma02t001a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -151,6 +149,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA03/ma03t001/ma03t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA03/ma03t001/ma03t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -162,6 +160,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA03/ma03t001/ma03t001a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA03/ma03t001/ma03t001a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -151,6 +149,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t001/ma04t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t001/ma04t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #define STATUS_FAILED 2
 #define SAMPLE_TAG ((jlong) 111111)
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -240,6 +238,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t001/ma04t001a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t001/ma04t001a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #define STATUS_FAILED 2
 #define SAMPLE_TAG ((jlong) 222222)
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -240,6 +238,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t002/ma04t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t002/ma04t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #define STATUS_FAILED 2
 #define SAMPLE_TAG ((jlong) 111111)
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -348,6 +346,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t002/ma04t002a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t002/ma04t002a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #define STATUS_FAILED 2
 #define SAMPLE_TAG ((jlong) 222222)
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -348,6 +346,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t003/ma04t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t003/ma04t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #define STATUS_FAILED 2
 #define SAMPLE_TAG ((jlong) 111111)
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -197,6 +195,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t003/ma04t003a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t003/ma04t003a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,9 +31,7 @@
 #define STATUS_FAILED 2
 #define SAMPLE_TAG ((jlong) 222222)
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -197,6 +195,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -287,6 +285,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -307,6 +305,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA06/ma06t001/ma06t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA06/ma06t001/ma06t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -245,6 +243,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA06/ma06t001/ma06t001a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA06/ma06t001/ma06t001a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -245,6 +243,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA07/ma07t001/ma07t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA07/ma07t001/ma07t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -185,6 +183,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA07/ma07t001/ma07t001a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA07/ma07t001/ma07t001a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -186,6 +184,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA08/ma08t001/ma08t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA08/ma08t001/ma08t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -214,6 +212,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA08/ma08t001/ma08t001a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA08/ma08t001/ma08t001a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -261,6 +259,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t001/ma10t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t001/ma10t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -195,6 +193,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t001/ma10t001a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t001/ma10t001a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -173,6 +171,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t002/ma10t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t002/ma10t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -201,6 +199,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t002/ma10t002a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t002/ma10t002a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -138,6 +136,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t003/ma10t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t003/ma10t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -202,6 +200,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t003/ma10t003a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t003/ma10t003a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -139,6 +137,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t004/ma10t004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t004/ma10t004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -207,6 +205,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t004/ma10t004a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t004/ma10t004a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -144,6 +142,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t005/ma10t005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t005/ma10t005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -135,6 +133,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t005/ma10t005a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t005/ma10t005a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -131,6 +129,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t006/ma10t006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t006/ma10t006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -172,6 +170,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t006/ma10t006a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t006/ma10t006a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -162,6 +160,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t007/ma10t007.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t007/ma10t007.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -139,6 +137,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t007/ma10t007a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t007/ma10t007a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -132,6 +130,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t008/ma10t008.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t008/ma10t008.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -222,6 +220,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t008/ma10t008a.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t008/ma10t008a.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #define PASSED 0
 #define STATUS_FAILED 2
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -208,6 +206,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP01/sp01t001/sp01t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP01/sp01t001/sp01t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 
 /* ============================================================================= */
@@ -277,6 +275,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP01/sp01t002/sp01t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP01/sp01t002/sp01t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -465,6 +463,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP01/sp01t003/sp01t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP01/sp01t003/sp01t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -478,6 +476,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t001/sp02t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t001/sp02t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -388,6 +386,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t002/sp02t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t002/sp02t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -452,6 +450,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t003/sp02t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t003/sp02t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -469,6 +467,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP03/sp03t001/sp03t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP03/sp03t001/sp03t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -481,6 +479,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP03/sp03t002/sp03t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP03/sp03t002/sp03t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -484,6 +482,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP04/sp04t001/sp04t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP04/sp04t001/sp04t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -481,6 +479,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP04/sp04t002/sp04t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP04/sp04t002/sp04t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -481,6 +479,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t002/sp05t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t002/sp05t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -420,6 +418,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t003/sp05t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t003/sp05t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -532,6 +530,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP06/sp06t001/sp06t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP06/sp06t001/sp06t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -518,6 +516,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP06/sp06t002/sp06t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP06/sp06t002/sp06t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -547,6 +545,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP06/sp06t003/sp06t003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP06/sp06t003/sp06t003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -564,6 +562,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP07/sp07t001/sp07t001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP07/sp07t001/sp07t001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define MAX_DEPTH 1024
 
@@ -370,6 +368,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP07/sp07t002/sp07t002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP07/sp07t002/sp07t002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "agent_common.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define MAX_DEPTH 1024
 
@@ -336,6 +334,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -880,6 +878,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -773,6 +771,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -1108,6 +1106,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "jvmti_FollowRefObjects.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -265,6 +263,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jvmti_tools.h"
 #include "jvmti_FollowRefObjects.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jlong g_timeout = 0;
 
@@ -165,6 +163,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "jvmti_FollowRefObjects.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -270,6 +268,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretfp/earlyretfp.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretfp/earlyretfp.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,21 +27,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -326,8 +313,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong error code from a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -396,29 +382,25 @@
         return;
     }
 
-    midRun = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "run", "()V");
+    midRun = env->GetMethodID(cls, "run", "()V");
     if (midRun == NULL) {
         printf("Cannot find Method ID for method run\n");
         RETURN_FAILED;
     }
 
-    midCheckPoint = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "checkPoint", "()V");
+    midCheckPoint = env->GetMethodID(cls, "checkPoint", "()V");
     if (midCheckPoint == NULL) {
         printf("Cannot find Method ID for method checkPoint\n");
         RETURN_FAILED;
     }
 
-    midCountDownFloat = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownFloat", "(I)F");
+    midCountDownFloat = env->GetMethodID(cls, "countDownFloat", "(I)F");
     if (midCountDownFloat == NULL) {
         printf("Cannot find Method ID for method countDownFloat\n");
         RETURN_FAILED;
     }
 
-    midCountDownDouble = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownDouble", "(I)D");
+    midCountDownDouble = env->GetMethodID(cls, "countDownDouble", "(I)D");
     if (midCountDownDouble == NULL) {
         printf("Cannot find Method ID for method countDownDouble\n");
         RETURN_FAILED;
@@ -473,6 +455,4 @@
     return errCode;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretint/earlyretint.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretint/earlyretint.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,21 +27,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -332,8 +319,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong error code from a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -401,50 +387,43 @@
         return;
     }
 
-    midRun = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "run", "()V");
+    midRun = env->GetMethodID(cls, "run", "()V");
     if (midRun == NULL) {
         printf("Cannot find Method ID for method run\n");
         RETURN_FAILED;
     }
 
-    midCheckPoint = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "checkPoint", "()V");
+    midCheckPoint = env->GetMethodID(cls, "checkPoint", "()V");
     if (midCheckPoint == NULL) {
         printf("Cannot find Method ID for method checkPoint\n");
         RETURN_FAILED;
     }
 
-    midCountDownInt = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownInt", "(I)I");
+    midCountDownInt = env->GetMethodID(cls, "countDownInt", "(I)I");
     if (midCheckPoint == NULL) {
         printf("Cannot find Method ID for method countDownInt\n");
         RETURN_FAILED;
     }
 
-    midCountDownShort = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownShort", "(I)S");
+    midCountDownShort = env->GetMethodID(cls, "countDownShort", "(I)S");
     if (midCountDownShort == NULL) {
         printf("Cannot find Method ID for method countDownShort\n");
         RETURN_FAILED;
     }
 
-    midCountDownChar = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownChar", "(I)C");
+    midCountDownChar = env->GetMethodID(cls, "countDownChar", "(I)C");
     if (midCountDownChar == NULL) {
         printf("Cannot find Method ID for method countDownChar\n");
         RETURN_FAILED;
     }
 
-    midCountDownByte = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownByte", "(I)B");
+    midCountDownByte = env->GetMethodID(cls, "countDownByte", "(I)B");
     if (midCountDownByte == NULL) {
         printf("Cannot find Method ID for method countDownByte\n");
         RETURN_FAILED;
     }
 
-    midCountDownBoolean = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownBoolean", "(I)Z");
+    midCountDownBoolean = env->GetMethodID(cls, "countDownBoolean", "(I)Z");
     if (midCountDownBoolean == NULL) {
         printf("Cannot find Method ID for method countDownBoolean\n");
         RETURN_FAILED;
@@ -488,6 +467,4 @@
     return errCode;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretlong/earlyretlong.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretlong/earlyretlong.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,21 +28,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -313,8 +300,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong error code from a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -383,22 +369,19 @@
         return;
     }
 
-    midRun = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "run", "()V");
+    midRun = env->GetMethodID(cls, "run", "()V");
     if (midRun == NULL) {
         printf("Cannot find Method ID for method run\n");
         RETURN_FAILED;
     }
 
-    midCheckPoint = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "checkPoint", "()V");
+    midCheckPoint = env->GetMethodID(cls, "checkPoint", "()V");
     if (midCheckPoint == NULL) {
         printf("Cannot find Method ID for method checkPoint\n");
         RETURN_FAILED;
     }
 
-    midCountDownLong = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownLong", "(I)J");
+    midCountDownLong = env->GetMethodID(cls, "countDownLong", "(I)J");
     if (midCountDownLong == NULL) {
         printf("Cannot find Method ID for method countDownLong\n");
         RETURN_FAILED;
@@ -444,6 +427,4 @@
     return errCode;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretobj/earlyretobj.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretobj/earlyretobj.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,21 +28,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -277,7 +264,7 @@
         return;
     }
     if (method == midCountDownObject) {
-        if (!JNI_ENV_PTR(env)->IsSameObject(JNI_ENV_ARG(env, ret_val), val_exp)) {
+        if (!env->IsSameObject(ret_val, val_exp)) {
             printf("Wrong ForceEarlyReturnObject return value: 0x%p\n", ret_val);
             printf("expected: 0x%p\n", val_exp);
             errCode = STATUS_FAILED;
@@ -311,8 +298,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong error code from a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -380,22 +366,19 @@
         return;
     }
 
-    midRun = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "run", "()V");
+    midRun = env->GetMethodID(cls, "run", "()V");
     if (midRun == NULL) {
         printf("Cannot find Method ID for method run\n");
         RETURN_FAILED;
     }
 
-    midCheckPoint = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "checkPoint", "()V");
+    midCheckPoint = env->GetMethodID(cls, "checkPoint", "()V");
     if (midCheckPoint == NULL) {
         printf("Cannot find Method ID for method checkPoint\n");
         RETURN_FAILED;
     }
 
-    midCountDownObject = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownObject", sig_exp);
+    midCountDownObject = env->GetMethodID(cls, "countDownObject", sig_exp);
     if (midCountDownObject == NULL) {
         printf("Cannot find Method ID for method countDownObject\n");
         RETURN_FAILED;
@@ -415,7 +398,7 @@
                TranslateError(err), err);
         RETURN_FAILED;
     } else {
-        val_exp = JNI_ENV_PTR(env)->NewGlobalRef(JNI_ENV_ARG(env, ret_obj));
+        val_exp = env->NewGlobalRef(ret_obj);
         framesExpected = depth;
     }
 }
@@ -440,6 +423,4 @@
     return;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretstr/earlyretstr.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretstr/earlyretstr.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,21 +27,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -277,8 +264,8 @@
         return;
     }
     if (method == midCountDownString) {
-      ret_str = JNI_ENV_PTR(env)->GetStringUTFChars(JNI_ENV_ARG(env, ret_val), 0);
-      exp_str = JNI_ENV_PTR(env)->GetStringUTFChars(JNI_ENV_ARG(env, str_exp), 0);
+      ret_str = env->GetStringUTFChars(ret_val, 0);
+      exp_str = env->GetStringUTFChars(str_exp, 0);
       printf("Expected string: \"%s\"\n", exp_str);
       printf("Returned string: \"%s\"\n", ret_str);
       if (was_popped_by_exception) {
@@ -310,8 +297,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong error code of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -379,22 +365,19 @@
         return;
     }
 
-    midRun = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "run", "()V");
+    midRun = env->GetMethodID(cls, "run", "()V");
     if (midRun == NULL) {
         printf("Cannot find Method ID for method run\n");
         RETURN_FAILED;
     }
 
-    midCheckPoint = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "checkPoint", "()V");
+    midCheckPoint = env->GetMethodID(cls, "checkPoint", "()V");
     if (midCheckPoint == NULL) {
         printf("Cannot find Method ID for method checkPoint\n");
         RETURN_FAILED;
     }
 
-    midCountDownString = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "countDownString", sig_exp);
+    midCountDownString = env->GetMethodID(cls, "countDownString", sig_exp);
     if (midCountDownString == NULL) {
         printf("Cannot find Method ID for method countDownString\n");
         RETURN_FAILED;
@@ -414,7 +397,7 @@
                TranslateError(err), err);
         RETURN_FAILED;
     } else {
-        str_exp = (jstring) JNI_ENV_PTR(env)->NewGlobalRef(JNI_ENV_ARG(env, expected_str));
+        str_exp = (jstring) env->NewGlobalRef(expected_str);
         framesExpected = depth;
     }
 }
@@ -430,6 +413,4 @@
     return errCode;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretvoid/earlyretvoid.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretvoid/earlyretvoid.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,21 +27,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -260,8 +247,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong error code from a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -325,15 +311,13 @@
         return;
     }
 
-    midRun = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "run", "()V");
+    midRun = env->GetMethodID(cls, "run", "()V");
     if (midRun == NULL) {
         printf("Cannot find Method ID for method run\n");
         RETURN_FAILED;
     }
 
-    midCheckPoint = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "checkPoint", "()V");
+    midCheckPoint = env->GetMethodID(cls, "checkPoint", "()V");
     if (midCheckPoint == NULL) {
         printf("Cannot find Method ID for method checkPoint\n");
         RETURN_FAILED;
@@ -369,6 +353,4 @@
     return errCode;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetAllStackTraces/getallstktr001/getallstktr001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetAllStackTraces/getallstktr001/getallstktr001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,39 +27,19 @@
 #include "jni_tools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
-
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG  JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR  JNI_ENV_PTR
 
 #define STATUS_FAILED 2
 #define PASSED 0
 
 #define JVMTI_ERROR_CHECK(str,res)   \
-    if ( res != JVMTI_ERROR_NONE) {  \
+    if (res != JVMTI_ERROR_NONE) {  \
         printf("%s %d\n" ,str, res); \
         return res;                  \
     }
 
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) \
-    if ( res != err) {                                \
+    if (res != err) {                                \
         printf("%s unexpected error %d\n", str, res); \
         return res;                                   \
     }
@@ -105,18 +85,17 @@
 jint Agent_Initialize(JavaVM * jvm, char *options, void *reserved) {
     jint res;
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
     }
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
     return JNI_OK;
@@ -139,8 +118,7 @@
     char sz[128];
 
     sprintf(sz, "Raw-monitor");
-    ret = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti, sz),
-                                                 &jraw_monitor);
+    ret = jvmti->CreateRawMonitor(sz, &jraw_monitor);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Raw monitor create %d \n", ret);
@@ -154,7 +132,7 @@
 {
     jvmtiError ret;
 
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, jraw_monitor));
+    ret = jvmti->RawMonitorEnter(jraw_monitor);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Raw monitor enter %d \n", ret);
@@ -168,7 +146,7 @@
 {
     jvmtiError ret;
 
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti, jraw_monitor));
+    ret = jvmti->RawMonitorExit(jraw_monitor);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorExit %d \n", ret);
@@ -273,16 +251,14 @@
     jvmtiError ret;
     int ti;
 
-    ret = JVMTI_ENV_PTR(jvmti)->GetAllStackTraces(JVMTI_ENV_ARG(jvmti, MAX_FRAMES_CNT),
-                                                  &stack_buf1,
-                                                  &threads_count);
+    ret = jvmti->GetAllStackTraces(MAX_FRAMES_CNT, &stack_buf1, &threads_count);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetAllStackTraces %d \n", ret);
         iGlobalStatus = STATUS_FAILED;
     }
 
-    ret = JVMTI_ENV_PTR(jvmti)->Allocate(JVMTI_ENV_ARG(jvmti, sizeof(jthread) * threads_count),
-                                         (unsigned char**)&thread_list);
+    ret = jvmti->Allocate(sizeof(jthread) * threads_count,
+                          (unsigned char**) &thread_list);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Allocate failed with  %d \n", ret);
         iGlobalStatus = STATUS_FAILED;
@@ -290,8 +266,7 @@
 
     for (ti = 0; ti < threads_count; ti++) {
         thread_list[ti] =
-          (jthread)JNI_ENV_PTR(env)->NewGlobalRef(
-                     JNI_ENV_ARG(env, stack_buf1[ti].thread));
+          (jthread)env->NewGlobalRef(stack_buf1[ti].thread);
     }
 }
 
@@ -302,16 +277,15 @@
     jvmtiError ret;
     int ti;
 
-    ret = JVMTI_ENV_PTR(jvmti)->Allocate(JVMTI_ENV_ARG(jvmti, sizeof(jvmtiThreadInfo) * threads_count),
-                                         (unsigned char**)&thread_info);
+    ret = jvmti->Allocate(sizeof(jvmtiThreadInfo) * threads_count,
+                          (unsigned char**)&thread_info);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Allocate failed with  %d \n", ret);
         iGlobalStatus = STATUS_FAILED;
     }
 
     for (ti = 0; ti < threads_count; ti++) {
-        ret = JVMTI_ENV_PTR(jvmti)->GetThreadInfo(JVMTI_ENV_ARG(jvmti, thread_list[ti]),
-                                                  &thread_info[ti]);
+        ret = jvmti->GetThreadInfo(thread_list[ti], &thread_info[ti]);
         if (ret != JVMTI_ERROR_NONE) {
             printf("Error: GetThreadInfo %d \n", ret);
             iGlobalStatus = STATUS_FAILED;
@@ -327,11 +301,8 @@
 {
     jvmtiError ret;
 
-    ret = JVMTI_ENV_PTR(jvmti)->GetThreadListStackTraces(
-                                                  JVMTI_ENV_ARG(jvmti, threads_count),
-                                                  thread_list,
-                                                  MAX_FRAMES_CNT,
-                                                  &stack_buf2);
+    ret = jvmti->GetThreadListStackTraces(
+        threads_count, thread_list, MAX_FRAMES_CNT, &stack_buf2);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetThreadListStackTraces %d \n", ret);
         iGlobalStatus = STATUS_FAILED;
@@ -344,7 +315,7 @@
      JNIEnv * env, jclass cls)
 {
     jvmtiError ret;
-    ret = JVMTI_ENV_PTR(jvmti)->ForceGarbageCollection(JVMTI_ENV_ARG1(jvmti));
+    ret = jvmti->ForceGarbageCollection();
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: ForceGarbageCollection %d \n", ret);
@@ -365,30 +336,28 @@
 {
     jvmtiError ret;
 
-    ret = JVMTI_ENV_PTR(jvmti)->Deallocate(JVMTI_ENV_ARG(jvmti, (unsigned char *)stack_buf1));
+    ret = jvmti->Deallocate((unsigned char *) stack_buf1);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Deallocate stack_buf1 failed with  %d \n", ret);
         iGlobalStatus = STATUS_FAILED;
     }
 
-    ret = JVMTI_ENV_PTR(jvmti)->Deallocate(JVMTI_ENV_ARG(jvmti, (unsigned char *)stack_buf2));
+    ret = jvmti->Deallocate((unsigned char *) stack_buf2);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Deallocate stack_buf2 failed with  %d \n", ret);
         iGlobalStatus = STATUS_FAILED;
     }
 
-    ret = JVMTI_ENV_PTR(jvmti)->Deallocate(JVMTI_ENV_ARG(jvmti, (unsigned char *)thread_info));
+    ret = jvmti->Deallocate((unsigned char *) thread_info);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Deallocate thread_info failed with  %d \n", ret);
         iGlobalStatus = STATUS_FAILED;
     }
-    ret = JVMTI_ENV_PTR(jvmti)->Deallocate(JVMTI_ENV_ARG(jvmti, (unsigned char *)thread_list));
+    ret = jvmti->Deallocate((unsigned char *) thread_list);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Deallocate thread_list failed with  %d \n", ret);
         iGlobalStatus = STATUS_FAILED;
     }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetConstantPool/getcpool001/getcpool001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetConstantPool/getcpool001/getcpool001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,21 +27,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -114,8 +101,7 @@
     jvmtiError err;
     jint res;
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -176,8 +162,7 @@
         return;
     }
 
-    midCheckPoint = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-         "checkPoint", "()V");
+    midCheckPoint = env->GetMethodID(cls, "checkPoint", "()V");
     if (midCheckPoint == NULL) {
         printf("Cannot find Method ID for method checkPoint\n");
         RETURN_FAILED;
@@ -190,8 +175,7 @@
         RETURN_FAILED;
     }
 
-    err = jvmti->SetEventNotificationMode(JVMTI_ENABLE,
-        JVMTI_EVENT_BREAKPOINT, NULL);
+    err = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_BREAKPOINT, NULL);
     if (err != JVMTI_ERROR_NONE) {
         printf("Failed to enable BREAKPOINT event: %s (%d)\n",
                TranslateError(err), err);
@@ -205,6 +189,4 @@
     return errCode;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLineNumberTable/linetab004/linetab004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLineNumberTable/linetab004/linetab004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,21 +30,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -73,8 +60,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -158,15 +144,13 @@
     if (printdump == JNI_TRUE) {
         printf("\n Check methods of interface:\n");
     }
-    interf = JNI_ENV_PTR(env)->FindClass(JNI_ENV_ARG(env,
-        "nsk/jvmti/unit/GetLineNumberTable/Interface004"));
+    interf = env->FindClass("nsk/jvmti/unit/GetLineNumberTable/Interface004");
     if (interf == NULL) {
         printf("Cannot get Interface class!\n");
         return STATUS_FAILED;
     }
 
-    mid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-        "instanceMeth0", "()I");
+    mid = env->GetMethodID(cls, "instanceMeth0", "()I");
     if (mid == NULL) {
         printf("Cannot get method ID!\n");
         return STATUS_FAILED;
@@ -174,8 +158,7 @@
     checkGetLineNumberTable(mid, "instanceMeth0", 1,
         JVMTI_ERROR_ABSENT_INFORMATION);
 
-    mid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-        "instanceMeth1", "()I");
+    mid = env->GetMethodID(cls, "instanceMeth1", "()I");
     if (mid == NULL) {
         printf("Cannot get method ID!\n");
         return STATUS_FAILED;
@@ -186,14 +169,13 @@
     if (printdump == JNI_TRUE) {
         printf("\n Check methods of abstract class:\n");
     }
-    abstr = JNI_ENV_PTR(env)->GetSuperclass(JNI_ENV_ARG(env, cls));
+    abstr = env->GetSuperclass(cls);
     if (abstr == NULL) {
         printf("Cannot get super class!\n");
         return STATUS_FAILED;
     }
 
-    mid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, abstr),
-        "instanceMeth0", "()I");
+    mid = env->GetMethodID(abstr, "instanceMeth0", "()I");
     if (mid == NULL) {
         printf("Cannot get method ID!\n");
         return STATUS_FAILED;
@@ -201,8 +183,7 @@
     checkGetLineNumberTable(mid, "instanceMeth0", 1,
         JVMTI_ERROR_ABSENT_INFORMATION);
 
-    mid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, abstr),
-        "instanceMeth1", "()I");
+    mid = env->GetMethodID(abstr, "instanceMeth1", "()I");
     if (mid == NULL) {
         printf("Cannot get method ID!\n");
         return STATUS_FAILED;
@@ -213,8 +194,7 @@
     if (printdump == JNI_TRUE) {
         printf("\n Check methods of regular class:\n");
     }
-    mid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-        "instanceMeth0", "()I");
+    mid = env->GetMethodID(cls, "instanceMeth0", "()I");
     if (mid == NULL) {
         printf("Cannot get method ID!\n");
         return STATUS_FAILED;
@@ -222,8 +202,7 @@
     checkGetLineNumberTable(mid, "instanceMeth0", 0,
         JVMTI_ERROR_ABSENT_INFORMATION);
 
-    mid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-        "instanceMeth1", "()I");
+    mid = env->GetMethodID(cls, "instanceMeth1", "()I");
     if (mid == NULL) {
         printf("Cannot get method ID!\n");
         return STATUS_FAILED;
@@ -231,8 +210,7 @@
     checkGetLineNumberTable(mid, "instanceMeth1", 0,
         JVMTI_ERROR_ABSENT_INFORMATION);
 
-    mid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-        "instanceMeth2", "()I");
+    mid = env->GetMethodID(cls, "instanceMeth2", "()I");
     if (mid == NULL) {
         printf("Cannot get method ID!\n");
         return STATUS_FAILED;
@@ -243,8 +221,7 @@
     if (printdump == JNI_TRUE) {
         printf("\n Check native methods of regular class:\n");
     }
-    mid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls),
-        "instanceNativeMeth", "()I");
+    mid = env->GetMethodID(cls, "instanceNativeMeth", "()I");
     if (mid == NULL) {
         printf("Cannot get method ID!\n");
         return STATUS_FAILED;
@@ -252,8 +229,7 @@
     checkGetLineNumberTable(mid, "instanceNativeMeth", 1,
         JVMTI_ERROR_NATIVE_METHOD);
 
-    mid = JNI_ENV_PTR(env)->GetStaticMethodID(JNI_ENV_ARG(env, cls),
-        "staticNativeMeth", "()I");
+    mid = env->GetStaticMethodID(cls, "staticNativeMeth", "()I");
     if (mid == NULL) {
         printf("Cannot get method ID!\n");
         return STATUS_FAILED;
@@ -268,6 +244,4 @@
     return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLocalVariable/getlocal003/getlocal003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLocalVariable/getlocal003/getlocal003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,21 +31,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -151,8 +138,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -209,8 +195,7 @@
     if (!caps.can_access_local_variables ||
         !caps.can_generate_method_exit_events) return;
 
-    mid = JNI_ENV_PTR(env)->GetStaticMethodID(JNI_ENV_ARG(env, cls),
-                                              "staticMeth", "(I)I");
+    mid = env->GetStaticMethodID(cls, "staticMeth", "(I)I");
     if (mid == NULL) {
         printf("Cannot find Method ID for staticMeth\n");
         result = STATUS_FAILED;
@@ -250,8 +235,7 @@
         return;
     }
 
-    mid = JNI_ENV_PTR(env)->GetStaticMethodID(JNI_ENV_ARG(env, cls),
-                                              "staticMeth", "(I)I");
+    mid = env->GetStaticMethodID(cls, "staticMeth", "(I)I");
     if (mid == NULL) {
         printf("Cannot find Method ID for staticMeth\n");
         result = STATUS_FAILED;
@@ -324,6 +308,4 @@
     return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLocalVariable/getlocal004/getlocal004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLocalVariable/getlocal004/getlocal004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -31,21 +31,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -82,8 +69,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -128,8 +114,7 @@
     if (!caps.can_access_local_variables ||
         !caps.can_generate_method_exit_events) return;
 
-    mid = JNI_ENV_PTR(env)->GetStaticMethodID(JNI_ENV_ARG(env, cls),
-                                              "staticMeth", "(I)I");
+    mid = env->GetStaticMethodID(cls, "staticMeth", "(I)I");
     if (mid == NULL) {
         printf("Cannot find Method ID for staticMeth\n");
         result = STATUS_FAILED;
@@ -243,6 +228,4 @@
     return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/IsSynthetic/issynth001/issynth001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/IsSynthetic/issynth001/issynth001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,21 +27,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -71,8 +58,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -294,6 +280,4 @@
     return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/MethodBind/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/MethodBind/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,27 +26,8 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
@@ -161,8 +142,7 @@
         }
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -170,24 +150,24 @@
 
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("AddCapabilities returned error", res);
 
     /* Enable events */
     init_callbacks();
-    res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti, &callbacks), sizeof(callbacks));
+    res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks));
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_INIT,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_INIT returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_DEATH,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for vm death event returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_NATIVE_METHOD_BIND,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_NATIVE_METHOD_BIND, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for native method bind event returned error", res);
 
     return JNI_OK;
@@ -207,7 +187,7 @@
 
     sprintf(sz, "Rawmonitor-%d",i);
     debug_printf("jvmti create raw monitor \n");
-    ret = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti, sz), &jraw_monitor[i]);
+    ret = jvmti->CreateRawMonitor(sz, &jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: ForceGarbageCollection %d \n", ret);
@@ -220,7 +200,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti Raw monitor enter \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorEnter(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Raw monitor enter %d \n", ret);
@@ -233,7 +213,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti raw monitor exit \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorExit(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorExit %d \n", ret);
@@ -246,7 +226,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti RawMonitorWait \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorWait(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]), -1);
+    ret = jvmti->RawMonitorWait(jraw_monitor[i], -1);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorWait %d \n", ret);
@@ -259,7 +239,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti RawMonitorNotify \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorNotifyAll(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorNotifyAll(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorNotify %d \n", ret);
@@ -273,7 +253,7 @@
     jint count;
 
     debug_printf("jvmti GetFrameCount \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetFrameCount(JVMTI_ENV_ARG(jvmti, (jthread)thr),  &count);
+    ret = jvmti->GetFrameCount((jthread) thr,  &count);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetFrameCount returned  %d \n", ret);
         iGlobalStatus = 2;
@@ -288,21 +268,21 @@
     char *mname;
     char *signature;
     char *clname = (char*) "unknown";
-    ret = JVMTI_ENV_PTR(jvmti)->GetMethodDeclaringClass(JVMTI_ENV_ARG(jvmti, mid), &klass);
+    ret = jvmti->GetMethodDeclaringClass(mid, &klass);
     if (ret != JVMTI_ERROR_NONE) {
       printf("Error: GetMethodDeclaringClass %d  \n", ret);
       iGlobalStatus = 2;
       return;
     }
 
-    ret = JVMTI_ENV_PTR(jvmti)->GetClassSignature(JVMTI_ENV_ARG(jvmti, klass), &clname, NULL);
+    ret = jvmti->GetClassSignature(klass, &clname, NULL);
     if (ret != JVMTI_ERROR_NONE) {
       printf("Error: GetClassSignature %d  \n", ret);
       iGlobalStatus = 2;
       return;
     }
 
-    ret = JVMTI_ENV_PTR(jvmti)->GetMethodName(JVMTI_ENV_ARG(jvmti, mid), &mname, &signature, NULL);
+    ret = jvmti->GetMethodName(mid, &mname, &signature, NULL);
     if (ret != JVMTI_ERROR_NONE) {
       printf("Error: GetMethodName %d  \n", ret);
       iGlobalStatus = 2;
@@ -321,19 +301,20 @@
     jint count;
 
 
-    ret = JVMTI_ENV_PTR(jvmti)->Allocate(JVMTI_ENV_ARG(jvmti, sizeof(jvmtiFrameInfo) * max_count), (unsigned char**)&stack_buffer);
+    ret = jvmti->Allocate(sizeof(jvmtiFrameInfo) * max_count,
+                          (unsigned char**) &stack_buffer);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Allocate failed with  %d \n", ret);
         iGlobalStatus = 2;
     }
 
-    ret = JVMTI_ENV_PTR(jvmti)->GetStackTrace(JVMTI_ENV_ARG(jvmti, thr), 0, max_count , stack_buffer, &count);
+    ret = jvmti->GetStackTrace(thr, 0, max_count, stack_buffer, &count);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetStackTrace %d \n", ret);
         iGlobalStatus = 2;
     }
 
-    ret = JVMTI_ENV_PTR(jvmti)->Deallocate(JVMTI_ENV_ARG(jvmti, (unsigned char *)stack_buffer));
+    ret = jvmti->Deallocate((unsigned char *) stack_buffer);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Deallocate failed with  %d \n", ret);
         iGlobalStatus = 2;
@@ -347,6 +328,4 @@
 
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/OnUnload/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/OnUnload/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,23 +26,8 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 
 jvmtiEnv *jvmti;
@@ -61,8 +46,7 @@
 jint Agent_Initialize(JavaVM * jvm, char *options, void *reserved) {
     jint res;
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -83,6 +67,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/StackTrace/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/StackTrace/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,27 +30,7 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
-
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
@@ -107,8 +87,7 @@
         }
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -116,10 +95,10 @@
 
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
     return JNI_OK;
@@ -139,7 +118,7 @@
 
     sprintf(sz, "Rawmonitor-%d",i);
     debug_printf("jvmti create raw monitor \n");
-    ret = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti, sz), &jraw_monitor[i]);
+    ret = jvmti->CreateRawMonitor(sz, &jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: ForceGarbageCollection %d \n", ret);
@@ -152,7 +131,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti Raw monitor enter \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorEnter(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Raw monitor enter %d \n", ret);
@@ -165,7 +144,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti raw monitor exit \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorExit(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorExit %d \n", ret);
@@ -178,7 +157,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti RawMonitorWait \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorWait(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]), -1);
+    ret = jvmti->RawMonitorWait(jraw_monitor[i], -1);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorWait %d \n", ret);
@@ -191,7 +170,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti RawMonitorNotify \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorNotifyAll(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorNotifyAll(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorNotify %d \n", ret);
@@ -205,7 +184,7 @@
     jint count;
 
     debug_printf("jvmti GetFrameCount \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetFrameCount(JVMTI_ENV_ARG(jvmti, (jthread)thr),  &count);
+    ret = jvmti->GetFrameCount((jthread) thr,  &count);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetFrameCount returned  %d \n", ret);
         iGlobalStatus = 2;
@@ -230,26 +209,26 @@
 
     debug_printf("jvmti GetStackTrace \n");
 
-    ret = JVMTI_ENV_PTR(jvmti)->Allocate(JVMTI_ENV_ARG(jvmti, sizeof(jvmtiFrameInfo) * max_count), (unsigned char**)&stack_buffer);
+    ret = jvmti->Allocate(sizeof(jvmtiFrameInfo) * max_count, (unsigned char**)&stack_buffer);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Allocate failed with  %d \n", ret);
         iGlobalStatus = 2;
     }
 
-    ret = JVMTI_ENV_PTR(jvmti)->Allocate(JVMTI_ENV_ARG(jvmti, sizeof(jvmtiFrameInfo) * max_count), (unsigned char**)&compare_buffer);
+    ret = jvmti->Allocate(sizeof(jvmtiFrameInfo) * max_count, (unsigned char**)&compare_buffer);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Allocate failed with  %d \n", ret);
         iGlobalStatus = 2;
     }
 
 
-    ret = JVMTI_ENV_PTR(jvmti)->SuspendThread(JVMTI_ENV_ARG(jvmti, thr));
+    ret = jvmti->SuspendThread(thr);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: SuspendThread failed with  %d \n", ret);
         iGlobalStatus = 2;
     }
 
-    ret = JVMTI_ENV_PTR(jvmti)->GetStackTrace(JVMTI_ENV_ARG(jvmti, thr), 0, max_count , stack_buffer, &count);
+    ret = jvmti->GetStackTrace(thr, 0, max_count, stack_buffer, &count);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetStackTrace %d \n", ret);
         iGlobalStatus = 2;
@@ -257,7 +236,7 @@
 
     for (i = 1; i < count; ++i) {
       jint res_count = 48343;
-      ret = JVMTI_ENV_PTR(jvmti)->GetStackTrace(JVMTI_ENV_ARG(jvmti, thr), i, max_count , compare_buffer, &res_count);
+      ret = jvmti->GetStackTrace(thr, i, max_count, compare_buffer, &res_count);
       if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetStackTrace2 %d \n", ret);
         iGlobalStatus = 2;
@@ -276,7 +255,7 @@
 
     for (i = 1; i < count; ++i) {
       jint res_count = 48343;
-      ret = JVMTI_ENV_PTR(jvmti)->GetStackTrace(JVMTI_ENV_ARG(jvmti, thr), -i, max_count , compare_buffer, &res_count);
+      ret = jvmti->GetStackTrace(thr, -i, max_count, compare_buffer, &res_count);
       if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetStackTrace2 %d \n", ret);
         iGlobalStatus = 2;
@@ -296,7 +275,7 @@
     debug_printf("Count = %d\n", count);
 
 
-    ret = JVMTI_ENV_PTR(jvmti)->ResumeThread(JVMTI_ENV_ARG(jvmti, thr));
+    ret = jvmti->ResumeThread(thr);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: ResumeThread failed with  %d \n", ret);
         iGlobalStatus = 2;
@@ -305,21 +284,21 @@
     debug_printf(" Java Stack trace ---\n");
 
     for (i = 0; i < count; i++) {
-        ret = JVMTI_ENV_PTR(jvmti)->GetMethodDeclaringClass(JVMTI_ENV_ARG(jvmti, stack_buffer[i].method), &klass);
+        ret = jvmti->GetMethodDeclaringClass(stack_buffer[i].method, &klass);
         if (ret != JVMTI_ERROR_NONE) {
             printf("Error: GetMethodDeclaringClass %d  \n", ret);
             iGlobalStatus = 2;
             return;
         }
 
-        ret = JVMTI_ENV_PTR(jvmti)->GetClassSignature(JVMTI_ENV_ARG(jvmti, klass), &clname, NULL);
+        ret = jvmti->GetClassSignature(klass, &clname, NULL);
         if (ret != JVMTI_ERROR_NONE) {
             printf("Error: GetClassSignature %d  \n", ret);
             iGlobalStatus = 2;
             return;
         }
 
-        ret = JVMTI_ENV_PTR(jvmti)->GetMethodName(JVMTI_ENV_ARG(jvmti, stack_buffer[i].method), &mname, &signature, NULL);
+        ret = jvmti->GetMethodName(stack_buffer[i].method, &mname, &signature, NULL);
         if (ret != JVMTI_ERROR_NONE) {
             printf("Error: GetMethodName %d  \n", ret);
             iGlobalStatus = 2;
@@ -332,7 +311,7 @@
     }
 
 
-    ret = JVMTI_ENV_PTR(jvmti)->Deallocate(JVMTI_ENV_ARG(jvmti, (unsigned char *)stack_buffer));
+    ret = jvmti->Deallocate((unsigned char *) stack_buffer);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Deallocate failed with  %d \n", ret);
         iGlobalStatus = 2;
@@ -346,6 +325,4 @@
 
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/agentthr/agentthr.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/agentthr/agentthr.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,21 +27,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -60,9 +47,9 @@
     jmethodID cid;
     jthread res;
 
-    thrClass = JNI_ENV_PTR(env)->FindClass(JNI_ENV_ARG(env, "java/lang/Thread"));
-    cid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, thrClass), "<init>", "()V");
-    res = JNI_ENV_PTR(env)->NewObject(JNI_ENV_ARG(env, thrClass), cid);
+    thrClass = env->FindClass("java/lang/Thread");
+    cid = env->GetMethodID(thrClass, "<init>", "()V");
+    res = env->NewObject(thrClass, cid);
     return res;
 }
 
@@ -74,8 +61,7 @@
         result = STATUS_FAILED;
     }
 
-    JNI_ENV_PTR(jvm_ins)->GetEnv(JNI_ENV_ARG(jvm_ins, (void **) &env),
-        JNI_VERSION_1_2);
+    jvm_ins->GetEnv((void **) &env, JNI_VERSION_1_2);
     if (jni_env != env) {
         printf("(agent_start) JNI envs don't match\n");
         result = STATUS_FAILED;
@@ -140,8 +126,7 @@
     }
 
     jvm_ins = jvm;
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -179,6 +164,4 @@
     return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/clsldrclss00x/clsldrclss00x.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/clsldrclss00x/clsldrclss00x.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,21 +27,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -68,8 +55,7 @@
         printdump = JNI_TRUE;
     }
 
-    res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-        JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res != JNI_OK || jvmti == NULL) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -188,6 +174,4 @@
     return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/events/redefineCFLH/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/events/redefineCFLH/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,21 +27,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define STATUS_FAILED 2
 #define PASSED 0
@@ -123,8 +110,7 @@
         printdump = JNI_TRUE;
     }
 
-    if ((res = JNI_ENV_PTR(vm)->GetEnv(JNI_ENV_ARG(vm, (void **) &jvmti),
-            JVMTI_VERSION_1_1)) != JNI_OK) {
+    if ((res = vm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1)) != JNI_OK) {
         printf("%s: Failed to call GetEnv: error=%d\n", __FILE__, res);
         return JNI_ERR;
     }
@@ -197,11 +183,8 @@
 
 /* filling the structure jvmtiClassDefinition */
     classDef.klass = redefCls;
-    classDef.class_byte_count =
-        JNI_ENV_PTR(env)->GetArrayLength(JNI_ENV_ARG(env, classBytes));
-    classDef.class_bytes = (unsigned char *)
-        JNI_ENV_PTR(env)->GetByteArrayElements(JNI_ENV_ARG(env, classBytes),
-            NULL);
+    classDef.class_byte_count = env->GetArrayLength(classBytes);
+    classDef.class_bytes = (unsigned char *) env->GetByteArrayElements(classBytes, NULL);
 
     if (fl == 2) {
         printf(">>>>>>>> Invoke RedefineClasses():\n");
@@ -226,6 +209,4 @@
     return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/extmech/extmech.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/extmech/extmech.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -227,6 +225,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/AddToBootstrapClassLoaderSearch/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/AddToBootstrapClassLoaderSearch/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,27 +27,7 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
-
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
@@ -92,7 +72,7 @@
 
    debug_printf("VMStart event done\n");
 
-   res = JVMTI_ENV_PTR(jvmti)->AddToBootstrapClassLoaderSearch(JVMTI_ENV_ARG(jvmti, segment));
+   res = jvmti->AddToBootstrapClassLoaderSearch(segment);
    JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID("VMStart: AddToBootstrapClassLoaderSearch returned error ",
       res, JVMTI_ERROR_WRONG_PHASE);
 }
@@ -106,7 +86,7 @@
 
    debug_printf("VMDeath event done\n");
 
-   res = JVMTI_ENV_PTR(jvmti)->AddToBootstrapClassLoaderSearch(JVMTI_ENV_ARG(jvmti, segment));
+   res = jvmti->AddToBootstrapClassLoaderSearch(segment);
    /* In the live phase, anything other than an existing JAR file is an invalid path.
       So, check that JVMTI_ERROR_ILLEGAL_ARGUMENT error is thrown.
    */
@@ -122,7 +102,7 @@
 
     debug_printf("VMInit event  done\n");
 
-    res = JVMTI_ENV_PTR(jvmti)->AddToBootstrapClassLoaderSearch(JVMTI_ENV_ARG(jvmti, segment));
+    res = jvmti->AddToBootstrapClassLoaderSearch(segment);
     /* In the live phase, anything other than an existing JAR file is an invalid path.
        So, check that JVMTI_ERROR_ILLEGAL_ARGUMENT error is thrown.
     */
@@ -140,13 +120,13 @@
    jvmtiPhase phase;
    jvmtiError res;
 
-   res = JVMTI_ENV_PTR(jvmti)->GetPhase(JVMTI_ENV_ARG(jvmti, &phase));
+   res = jvmti->GetPhase(&phase);
    JVMTI_ERROR_CHECK_VOID("GetPhase returned error", res);
 
    if (phase == JVMTI_PHASE_PRIMORDIAL) {
       debug_printf("Primordial phase\n");
 
-      res = JVMTI_ENV_PTR(jvmti)->AddToBootstrapClassLoaderSearch(JVMTI_ENV_ARG(jvmti, segment));
+      res = jvmti->AddToBootstrapClassLoaderSearch(segment);
       JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID("Primordial: AddToBootstrapClassLoaderSearch returned error ",
          res, JVMTI_ERROR_WRONG_PHASE);
    }
@@ -215,44 +195,43 @@
         if (idx != NULL) *idx = 0;
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
     }
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetAddCapabilities returned error", res);
 
 
     /* Enable events */
     init_callbacks();
-    res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti, &callbacks), sizeof(callbacks));
+    res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks));
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_START,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_START, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_START returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_INIT,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_INIT returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_NATIVE_METHOD_BIND,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_NATIVE_METHOD_BIND, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for NATIVE_METHOD_BIND returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_DEATH,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_DEATH returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_CLASS_FILE_LOAD_HOOK,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode CLASS_FILE_LOAD_HOOK returned error", res);
 
     strcat(segment, "/newclass");
     debug_printf("segment=%s\n", segment);
-    res = JVMTI_ENV_PTR(jvmti)->AddToBootstrapClassLoaderSearch(JVMTI_ENV_ARG(jvmti, segment));
+    res = jvmti->AddToBootstrapClassLoaderSearch(segment);
     JVMTI_ERROR_CHECK("AddToBootStrapClassLoaderSearch returned error", res);
 
     return JNI_OK;
@@ -269,6 +248,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/Dispose/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/Dispose/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,27 +26,8 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
@@ -80,7 +61,7 @@
 void JNICALL vmInit(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) {
     jvmtiError res;
     debug_printf("VMInit event received\n");
-    res = JVMTI_ENV_PTR(jvmti_env)->DisposeEnvironment(JVMTI_ENV_ARG1(jvmti_env));
+    res = jvmti_env->DisposeEnvironment();
     JVMTI_ERROR_CHECK_VOID("DisposeEnvironment returned error", res);
 }
 
@@ -115,8 +96,7 @@
         }
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -124,34 +104,33 @@
 
     /* Enable event call backs. */
     init_callbacks();
-    res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti, &callbacks), sizeof(callbacks));
+    res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks));
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetAddCapabilities returned error", res);
 
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_INIT,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_INIT returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->GetSystemProperties(JVMTI_ENV_ARG(jvmti, &count), &properties);
+    res = jvmti->GetSystemProperties(&count, &properties);
 
     JVMTI_ERROR_CHECK("GetSystemProperties returned error", res);
 
     for (i=0; i< count; i++) {
         char *value;
 
-        res = JVMTI_ENV_PTR(jvmti)->GetSystemProperty(JVMTI_ENV_ARG(jvmti, (const char *)properties[i]), &value);
+        res = jvmti->GetSystemProperty((const char *) properties[i], &value);
         JVMTI_ERROR_CHECK("GetSystemProperty returned error", res);
         debug_printf(" %s    %s \n", properties[i], value);
 
-        res = JVMTI_ENV_PTR(jvmti)->SetSystemProperty(JVMTI_ENV_ARG(jvmti, (const char *)properties[i]), value);
+        res = jvmti->SetSystemProperty((const char *) properties[i], value);
         debug_printf("SetSystemProperty returned error %d\n", res);
-
      }
 
     return JNI_OK;
@@ -164,6 +143,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/ForceGarbageCollection/gc/gc.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/ForceGarbageCollection/gc/gc.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,27 +26,8 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
@@ -130,40 +111,39 @@
         }
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         debug_printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
     }
 
     /* Create data access lock */
-    res = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti,"_access_lock"),&access_lock);
+    res = jvmti->CreateRawMonitor("_access_lock", &access_lock);
     JVMTI_ERROR_CHECK("RawMonitorEnter in monitor_contended_entered failed with error code ", res);
 
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
     /* Enable events */
     init_callbacks();
-    res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti, &callbacks), sizeof(callbacks));
+    res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks));
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_INIT,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_INIT returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_DEATH,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for vm death event returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_GARBAGE_COLLECTION_START,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_START, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for gc start returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_GARBAGE_COLLECTION_FINISH,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_FINISH, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for gc finish returned error", res);
 
     return JNI_OK;
@@ -199,7 +179,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti Force gc requested \n");
-    ret = JVMTI_ENV_PTR(jvmti)->ForceGarbageCollection(JVMTI_ENV_ARG1(jvmti));
+    ret = jvmti->ForceGarbageCollection();
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: ForceGarbageCollection %d \n", ret);
@@ -207,6 +187,4 @@
     }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/environment/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/environment/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,27 +26,8 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
@@ -99,8 +80,7 @@
         }
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         debug_printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -108,26 +88,26 @@
 
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetAddCapabilities returned error", res);
 
 
-    res = JVMTI_ENV_PTR(jvmti)->GetSystemProperties(JVMTI_ENV_ARG(jvmti, &count), &properties);
+    res = jvmti->GetSystemProperties(&count, &properties);
 
     JVMTI_ERROR_CHECK("GetSystemProperties returned error", res);
 
     for (i=0; i< count; i++) {
         char *value;
 
-        res = JVMTI_ENV_PTR(jvmti)->GetSystemProperty(JVMTI_ENV_ARG(jvmti, (const char *)properties[i]), &value);
+        res = jvmti->GetSystemProperty((const char *) properties[i], &value);
         JVMTI_ERROR_CHECK("GetSystemProperty returned error", res);
         debug_printf(" %s    %s \n", properties[i], value);
 
         /* Only writeable properties returns JVMTI_ERROR_NONE. */
-        res = JVMTI_ENV_PTR(jvmti)->SetSystemProperty(JVMTI_ENV_ARG(jvmti, (const char *)properties[i]), value);
+        res = jvmti->SetSystemProperty((const char *) properties[i], value);
         debug_printf("SetSystemProperty returned error %d\n", res);
 
      }
@@ -142,6 +122,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/nosuspendMonitorInfo/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/nosuspendMonitorInfo/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,27 +26,8 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
@@ -134,8 +115,7 @@
         }
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         debug_printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -143,21 +123,21 @@
 
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
     /* Enable events */
     init_callbacks();
-    res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti, &callbacks), sizeof(callbacks));
+    res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks));
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_INIT,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_INIT returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_DEATH,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for vm death event returned error", res);
 
     return JNI_OK;
@@ -179,7 +159,7 @@
   debug_printf(" jvmti GetMonitorInfo \n");
 
 
-    ret = JVMTI_ENV_PTR(jvmti)->GetOwnedMonitorInfo(JVMTI_ENV_ARG(jvmti, thr), &count , &owned_monitor);
+    ret = jvmti->GetOwnedMonitorInfo(thr, &count, &owned_monitor);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetMonitorInfo %d \n", ret);
         iGlobalStatus = 2;
@@ -190,9 +170,9 @@
         iGlobalStatus = 2;
     }
 
-    if (expected_count !=0 ) {
+    if (expected_count !=0) {
 
-        ret = JVMTI_ENV_PTR(jvmti)->GetCurrentContendedMonitor(JVMTI_ENV_ARG(jvmti, thr), owned_monitor);
+        ret = jvmti->GetCurrentContendedMonitor(thr, owned_monitor);
         if (ret != JVMTI_ERROR_NONE) {
             printf("Error: GetContendedMonitorInfo %d \n", ret);
             iGlobalStatus = 2;
@@ -201,6 +181,4 @@
 
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/nosuspendStackTrace/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/nosuspendStackTrace/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,27 +26,7 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
-
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
@@ -134,8 +114,7 @@
         }
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         debug_printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -143,21 +122,21 @@
 
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
     /* Enable events */
     init_callbacks();
-    res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti, &callbacks), sizeof(callbacks));
+    res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks));
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_INIT,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_INIT returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_DEATH,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for vm death event returned error", res);
 
     return JNI_OK;
@@ -177,7 +156,7 @@
 
     sprintf(sz, "Rawmonitor-%d",i);
     debug_printf("jvmti create raw monitor \n");
-    ret = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti, sz), &jraw_monitor[i]);
+    ret = jvmti->CreateRawMonitor(sz, &jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: ForceGarbageCollection %d \n", ret);
@@ -190,7 +169,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti Raw monitor enter \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorEnter(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Raw monitor enter %d \n", ret);
@@ -203,7 +182,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti raw monitor exit \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorExit(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorExit %d \n", ret);
@@ -216,7 +195,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti RawMonitorWait \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorWait(JVMTI_ENV_ARG(jvmti,jraw_monitor[i]),-1);
+    ret = jvmti->RawMonitorWait(jraw_monitor[i], -1);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorWait %d \n", ret);
@@ -229,7 +208,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti RawMonitorNotify \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorNotifyAll(JVMTI_ENV_ARG(jvmti,jraw_monitor[i]));
+    ret = jvmti->RawMonitorNotifyAll(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorNotify %d \n", ret);
@@ -243,7 +222,7 @@
     jint count;
 
     debug_printf("jvmti GetFrameCount \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetFrameCount(JVMTI_ENV_ARG(jvmti, (jthread)thr),  &count);
+    ret = jvmti->GetFrameCount((jthread) thr,  &count);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetFrameCount returned  %d \n", ret);
         iGlobalStatus = 2;
@@ -266,14 +245,14 @@
 
     debug_printf("jvmti GetStackTrace \n");
 
-    ret = JVMTI_ENV_PTR(jvmti)->Allocate(JVMTI_ENV_ARG(jvmti, sizeof(jvmtiFrameInfo) * count), (unsigned char**)&stack_buffer);
+    ret = jvmti->Allocate(sizeof(jvmtiFrameInfo) * count, (unsigned char**)&stack_buffer);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Allocate failed with  %d \n", ret);
         iGlobalStatus = 2;
     }
 
 
-    ret = JVMTI_ENV_PTR(jvmti)->GetStackTrace(JVMTI_ENV_ARG(jvmti, thr), 0, count , stack_buffer, &count);
+    ret = jvmti->GetStackTrace(thr, 0, count, stack_buffer, &count);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: GetStackTrace %d \n", ret);
@@ -283,21 +262,21 @@
     debug_printf(" Java Stack trace ---\n");
 
     for (i = 0; i < count; i++) {
-        ret = JVMTI_ENV_PTR(jvmti)->GetMethodDeclaringClass(JVMTI_ENV_ARG(jvmti, stack_buffer[i].method), &klass);
+        ret = jvmti->GetMethodDeclaringClass(stack_buffer[i].method, &klass);
         if (ret != JVMTI_ERROR_NONE) {
             printf("Error: GetMethodDeclaringClass %d  \n", ret);
             iGlobalStatus = 2;
             return;
         }
 
-        ret = JVMTI_ENV_PTR(jvmti)->GetClassSignature(JVMTI_ENV_ARG(jvmti, klass), &clname, &generic);
+        ret = jvmti->GetClassSignature(klass, &clname, &generic);
         if (ret != JVMTI_ERROR_NONE) {
             printf("Error: GetMethodDeclaringClass %d  \n", ret);
             iGlobalStatus = 2;
             return;
         }
 
-        ret = JVMTI_ENV_PTR(jvmti)->GetMethodName(JVMTI_ENV_ARG(jvmti, stack_buffer[i].method), &mname, &signature, &generic);
+        ret = jvmti->GetMethodName(stack_buffer[i].method, &mname, &signature, &generic);
         if (ret != JVMTI_ERROR_NONE) {
             printf("Error: GetMethodDeclaringClass %d  \n", ret);
             iGlobalStatus = 2;
@@ -310,7 +289,7 @@
     }
 
 
-    ret = JVMTI_ENV_PTR(jvmti)->Deallocate(JVMTI_ENV_ARG(jvmti, (unsigned char *)stack_buffer));
+    ret = jvmti->Deallocate((unsigned char *) stack_buffer);
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: Deallocate failed with  %d \n", ret);
         iGlobalStatus = 2;
@@ -324,6 +303,4 @@
 
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/rawmonitor/rawmonitor.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/rawmonitor/rawmonitor.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -48,27 +48,8 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf(" unexpected error %d\n",res); return res;}
@@ -108,9 +89,9 @@
 
 void JNICALL vmStart(jvmtiEnv *jvmti_env, JNIEnv *env) {
     jvmtiError res;
-    res = JVMTI_ENV_PTR(jvmti)->GetCurrentThread(JVMTI_ENV_ARG(jvmti_env, &main_thread));
+    res = jvmti_env->GetCurrentThread(&main_thread);
     JVMTI_ERROR_CHECK_VOID(" JVMTI GetCurrentThread returned error", res);
-    main_thread = (jthread)JNI_ENV_PTR(env)->NewGlobalRef(JNI_ENV_ARG(env, main_thread));
+    main_thread = (jthread)env->NewGlobalRef(main_thread);
 }
 
 void JNICALL vmInit(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) {
@@ -118,9 +99,9 @@
     jvmtiError res;
 
     debug_printf("VMInit event  done\n");
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti_env, access_lock));
+    res = jvmti_env->RawMonitorExit(access_lock);
     JVMTI_ERROR_CHECK_VOID(" Raw monitor exit returned error", res);
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti_env, access_lock));
+    res = jvmti_env->RawMonitorExit(access_lock);
     JVMTI_ERROR_CHECK_VOID(" Raw monitor exit returned error", res);
 }
 
@@ -140,17 +121,15 @@
     jvmtiError res;
     jvmtiPhase phase;
     jthread    thread;
-    jboolean   is_main;
 
-    res = JVMTI_ENV_PTR(jvmti)->GetPhase(JVMTI_ENV_ARG(jvmti_env, &phase));
+    res = jvmti_env->GetPhase(&phase);
     JVMTI_ERROR_CHECK_VOID(" JVMTI GetPhase returned error", res);
     if (phase != JVMTI_PHASE_START) {
         return; /* only the start phase is tested */
     }
-    res = JVMTI_ENV_PTR(jvmti)->GetCurrentThread(JVMTI_ENV_ARG(jvmti_env, &thread));
+    res = jvmti_env->GetCurrentThread(&thread);
     JVMTI_ERROR_CHECK_VOID(" JVMTI GetCurrentThread returned error", res);
-    is_main = JNI_ENV_PTR(env)->IsSameObject(JNI_ENV_ARG(env, thread), main_thread);
-    if (is_main == JNI_FALSE) {
+    if (!env->IsSameObject(thread, main_thread)) {
         return; /* only the main thread is tested */
     }
 
@@ -163,21 +142,21 @@
         process_once = 0;
 
             /* test not entered raw monitor */
-        res = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti_env, access_lock_not_entered));
+        res = jvmti_env->RawMonitorExit(access_lock_not_entered);
         JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID("Raw monitor exit returned error", res,JVMTI_ERROR_NOT_MONITOR_OWNER);
 
             /* release lock in start phase */
-        res = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti_env, access_lock));
+        res = jvmti_env->RawMonitorExit(access_lock);
         JVMTI_ERROR_CHECK_VOID("Raw monitor exit returned error", res);
 
             /* release lock in start phase */
-        res = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti_env, access_lock));
+        res = jvmti_env->RawMonitorExit(access_lock);
         JVMTI_ERROR_CHECK_VOID("Raw monitor exit returned error", res);
 
-        res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, access_lock));
+        res = jvmti_env->RawMonitorEnter(access_lock);
         JVMTI_ERROR_CHECK_VOID("Raw monitor enter returned error", res);
 
-        res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, access_lock));
+        res = jvmti_env->RawMonitorEnter(access_lock);
         JVMTI_ERROR_CHECK_VOID("Raw monitor enter returned error", res);
     }
 
@@ -214,88 +193,87 @@
         }
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         debug_printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
     }
 
     /* Onload phase Create data access lock */
-    res = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti,"_access_lock"),&access_lock);
+    res = jvmti->CreateRawMonitor("_access_lock", &access_lock);
     JVMTI_ERROR_CHECK("CreateRawMonitor failed with error code ", res);
-    res = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti,"_access_lock_not_entered"),&access_lock_not_entered);
+    res = jvmti->CreateRawMonitor("_access_lock_not_entered", &access_lock_not_entered);
     JVMTI_ERROR_CHECK("CreateRawMonitor failed with error code ", res);
     /* Create this raw monitor in onload and it is used in live phase */
-    res = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti,"RawMonitor-0"),&jraw_monitor[0]);
+    res = jvmti->CreateRawMonitor("RawMonitor-0", &jraw_monitor[0]);
     JVMTI_ERROR_CHECK("CreateRawMonitor failed with error code ", res);
 
 
     /* Add capabilities */
-    res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->GetPotentialCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps));
+    res = jvmti->AddCapabilities(&jvmti_caps);
     JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res);
 
     /* Enable events */
     init_callbacks();
-    res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti, &callbacks), sizeof(callbacks));
+    res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks));
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_INIT,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_INIT returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_VM_DEATH,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for vm death event returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti,JVMTI_ENABLE),JVMTI_EVENT_CLASS_FILE_LOAD_HOOK,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode CLASS_FILE_LOAD_HOOK returned error", res);
 
      /* acquire lock in onload */
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, access_lock));
+    res = jvmti->RawMonitorEnter(access_lock);
     JVMTI_ERROR_CHECK("Raw monitor enter returned error", res);
 
     /* release lock in onload */
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti, access_lock));
+    res = jvmti->RawMonitorExit(access_lock);
     JVMTI_ERROR_CHECK("Raw monitor exit returned error", res);
 
     /* test not entered raw monitor */
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti ,access_lock_not_entered));
+    res = jvmti->RawMonitorExit(access_lock_not_entered);
     JVMTI_ERROR_CHECK_EXPECTED_ERROR("Raw monitor exit returned error", res,JVMTI_ERROR_NOT_MONITOR_OWNER);
 
     /* acquire lock in onload */
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, access_lock));
+    res = jvmti->RawMonitorEnter(access_lock);
     JVMTI_ERROR_CHECK("Raw monitor enter returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, access_lock));
+    res = jvmti->RawMonitorEnter(access_lock);
     JVMTI_ERROR_CHECK("Raw monitor enter returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, access_lock));
+    res = jvmti->RawMonitorEnter(access_lock);
     JVMTI_ERROR_CHECK("Raw monitor enter returned error", res);
 
     /* test Destroy raw monitor in onload phase */
-    res = JVMTI_ENV_PTR(jvmti)->DestroyRawMonitor(JVMTI_ENV_ARG(jvmti, access_lock));
+    res = jvmti->DestroyRawMonitor(access_lock);
     JVMTI_ERROR_CHECK("Destroy Raw monitor returned error", res);
 
     /* Create data access lock  in onload and enter in onload phase */
-    res = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti,"_access_lock"),&access_lock);
+    res = jvmti->CreateRawMonitor("_access_lock", &access_lock);
     JVMTI_ERROR_CHECK("CreateRawMonitor failed with error code ", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, access_lock));
+    res = jvmti->RawMonitorEnter(access_lock);
     JVMTI_ERROR_CHECK("Raw monitor enter returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, access_lock));
+    res = jvmti->RawMonitorEnter(access_lock);
     JVMTI_ERROR_CHECK("Raw monitor enter returned error", res);
 
 
     /* This monitor is entered here and it is released in live phase by a call from java code
      */
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, jraw_monitor[0]));
+    res = jvmti->RawMonitorEnter(jraw_monitor[0]);
     JVMTI_ERROR_CHECK("Raw monitor enter returned error", res);
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, jraw_monitor[0]));
+    res = jvmti->RawMonitorEnter(jraw_monitor[0]);
     JVMTI_ERROR_CHECK("Raw monitor enter returned error", res);
-    res = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti, jraw_monitor[0]));
+    res = jvmti->RawMonitorExit(jraw_monitor[0]);
     JVMTI_ERROR_CHECK("Raw monitor exit returned error", res);
 
     return JNI_OK;
@@ -315,7 +293,7 @@
 
     sprintf(sz, "Rawmonitor-%d",i);
     debug_printf("jvmti create raw monitor \n");
-    ret = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti, sz), &jraw_monitor[i]);
+    ret = jvmti->CreateRawMonitor(sz, &jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: CreateRawMonitor %d \n", ret);
@@ -328,7 +306,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti Raw monitor enter \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorEnter(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorEnter %d \n", ret);
@@ -341,7 +319,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti raw monitor exit \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]));
+    ret = jvmti->RawMonitorExit(jraw_monitor[i]);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorExit %d \n", ret);
@@ -354,7 +332,7 @@
     jvmtiError ret;
 
     debug_printf("jvmti RawMonitorWait \n");
-    ret = JVMTI_ENV_PTR(jvmti)->RawMonitorWait(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]), -1);
+    ret = jvmti->RawMonitorWait(jraw_monitor[i], -1);
 
     if (ret != JVMTI_ERROR_NONE) {
         printf("Error: RawMonitorWait %d \n", ret);
@@ -362,6 +340,4 @@
     }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/heapref/heapref.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/heapref/heapref.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,21 +29,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -275,8 +262,7 @@
     printdump = JNI_TRUE;
   }
 
-  res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-                                 JVMTI_VERSION_1_1);
+  res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
   if (res != JNI_OK || jvmti == NULL) {
     printf("Wrong result of a valid call to GetEnv!\n");
     return JNI_ERR;
@@ -487,6 +473,4 @@
   return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/refignore/refignore.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/refignore/refignore.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,21 +29,8 @@
 #include "agent_common.h"
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
 
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
 
 #define PASSED 0
 #define STATUS_FAILED 2
@@ -273,8 +260,7 @@
     printdump = JNI_TRUE;
   }
 
-  res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
-                                 JVMTI_VERSION_1_1);
+  res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
   if (res != JNI_OK || jvmti == NULL) {
     printf("Wrong result of a valid call to GetEnv!\n");
     return JNI_ERR;
@@ -485,6 +471,4 @@
   return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/setNullVMInit/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/setNullVMInit/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -36,27 +36,7 @@
 #include "jni_tools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
-
-#ifdef __cplusplus
-#define JNI_ENV_ARG(x, y) y
-#define JNI_ENV_ARG1(x)
-#define JNI_ENV_PTR(x) x
-#else
-#define JNI_ENV_ARG(x,y) x, y
-#define JNI_ENV_ARG1(x) x
-#define JNI_ENV_PTR(x) (*x)
-#endif
-
-#endif
-
-#define JVMTI_ENV_ARG JNI_ENV_ARG
-#define JVMTI_ENV_ARG1 JNI_ENV_ARG1
-#define JVMTI_ENV_PTR JNI_ENV_PTR
 
 #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
 #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
@@ -86,7 +66,7 @@
 intptr_t get_env_local() {
   jvmtiError res;
   void *val;
-  res = JVMTI_ENV_PTR(jvmti)->GetEnvironmentLocalStorage(JVMTI_ENV_ARG(jvmti, &val));
+  res = jvmti->GetEnvironmentLocalStorage(&val);
   JVMTI_ERROR_CHECK("GetEnvironmentLocalStorage returned error", res);
   return (intptr_t)val;
 }
@@ -94,14 +74,14 @@
 void set_env_local(intptr_t x) {
   jvmtiError res;
   void *val = (void*)x;
-  res = JVMTI_ENV_PTR(jvmti)->SetEnvironmentLocalStorage(JVMTI_ENV_ARG(jvmti, val));
+  res = jvmti->SetEnvironmentLocalStorage(val);
   JVMTI_ERROR_CHECK_VOID("SetEnvironmentLocalStorage returned error", res);
 }
 
 intptr_t get_thread_local(jthread thread) {
   jvmtiError res;
   void *val;
-  res = JVMTI_ENV_PTR(jvmti)->GetThreadLocalStorage(JVMTI_ENV_ARG(jvmti, thread), &val);
+  res = jvmti->GetThreadLocalStorage(thread, &val);
   JVMTI_ERROR_CHECK("GetThreadLocalStorage returned error", res);
   return (intptr_t)val;
 }
@@ -109,7 +89,7 @@
 void set_thread_local(jthread thread, intptr_t x) {
   jvmtiError res;
   void *val = (void*)x;
-  res = JVMTI_ENV_PTR(jvmti)->SetThreadLocalStorage(JVMTI_ENV_ARG(jvmti, thread), val);
+  res = jvmti->SetThreadLocalStorage(thread, val);
   JVMTI_ERROR_CHECK_VOID("SetThreadLocalStorage returned error", res);
 }
 
@@ -164,8 +144,7 @@
         }
     }
 
-    res = JNI_ENV_PTR(jvm)->
-        GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1);
+    res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
     if (res < 0) {
         printf("Wrong result of a valid call to GetEnv!\n");
         return JNI_ERR;
@@ -179,10 +158,10 @@
 
     /* Enable events */
     init_callbacks();
-    res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti, &callbacks), sizeof(callbacks));
+    res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks));
     JVMTI_ERROR_CHECK("SetEventCallbacks returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti, JVMTI_ENABLE), JVMTI_EVENT_VM_INIT,NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT,NULL);
     JVMTI_ERROR_CHECK("SetEventNotificationMode for VM_INIT returned error", res);
 
     return JNI_OK;
@@ -201,6 +180,4 @@
   return iGlobalStatus;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/timers/JvmtiTest/JvmtiTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/timers/JvmtiTest/JvmtiTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -39,24 +39,7 @@
 
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
-
-#ifndef JNI_ENV_ARG
-
-#ifdef __cplusplus
-#define JNI_ENV_PTR(x) x
-#define JNI_ENV_ARG(x, y) y
-#else
-#define JNI_ENV_PTR(x) (*x)
-#define JNI_ENV_ARG(x, y) x, y
-#endif
-
-#endif
-
-#define JVMTI_ENV_PTR JNI_ENV_PTR
-#define JVMTI_ENV_ARG JNI_ENV_ARG
 
 #define JVMTI_ERROR_CHECK_DURING_ONLOAD(str,res) if ( res != JVMTI_ERROR_NONE) { printf("Fatal error: %s - %d\n", str, res); return JNI_ERR; }
 
@@ -102,7 +85,7 @@
     debug_printf("VMInit event\n");
 
     debug_printf("jvmti GetTime \n");
-    err = JVMTI_ENV_PTR(jvmti_env)->GetTime(JVMTI_ENV_ARG(jvmti_env, &initial_time));
+    err = jvmti_env->GetTime(&initial_time);
     JVMTI_ERROR_CHECK("GetTime", err);
     debug_printf("  Initial time: %s ns\n",
         jlong_to_string(initial_time, buffer));
@@ -157,13 +140,13 @@
 
     /* Enable events */
     init_callbacks();
-    res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti_env, &callbacks), sizeof(callbacks));
+    res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks));
     JVMTI_ERROR_CHECK_DURING_ONLOAD("SetEventCallbacks returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti_env, JVMTI_ENABLE), JVMTI_EVENT_VM_INIT, NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
     JVMTI_ERROR_CHECK_DURING_ONLOAD("SetEventNotificationMode for VM_INIT returned error", res);
 
-    res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti_env, JVMTI_ENABLE), JVMTI_EVENT_VM_DEATH, NULL);
+    res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL);
     JVMTI_ERROR_CHECK_DURING_ONLOAD("SetEventNotificationMode for vm death event returned error", res);
 
     return JNI_OK;
@@ -184,12 +167,12 @@
     jlong curr;
 
     debug_printf("jvmti GetCurrentThreadCpuTime \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetCurrentThreadCpuTime(JVMTI_ENV_ARG(jvmti_env, &curr));
+    ret = jvmti->GetCurrentThreadCpuTime(&curr);
     JVMTI_ERROR_CHECK_RETURN("GetCurrentThreadCpuTime", ret);
 
     thread_info[threadNumber].iterationCount = iterationCount;
     thread_info[threadNumber].currThreadTime = curr;
-    thread_info[threadNumber].ref = JNI_ENV_PTR(env)->NewWeakGlobalRef(JNI_ENV_ARG(env, thread));
+    thread_info[threadNumber].ref = env->NewWeakGlobalRef(thread);
 }
 
 static void print_timerinfo(jvmtiTimerInfo* timerInfo) {
@@ -237,34 +220,34 @@
     char buffer[32];
 
     debug_printf("jvmti GetTime \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetTime(JVMTI_ENV_ARG(jvmti_env, &now));
+    ret = jvmti->GetTime(&now);
     JVMTI_ERROR_CHECK_RETURN("GetTime", ret);
     etime = now - initial_time;
     debug_printf("  Elapsed time: %s ms\n",
         jlong_to_string(milli(etime), buffer));
 
     debug_printf("jvmti GetCurrentThreadCpuTimerInfo \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetCurrentThreadCpuTimerInfo(JVMTI_ENV_ARG(jvmti_env, &timerInfoCurr));
+    ret = jvmti->GetCurrentThreadCpuTimerInfo(&timerInfoCurr);
     JVMTI_ERROR_CHECK_RETURN("GetCurrentThreadCpuTimerInfo", ret);
     print_timerinfo(&timerInfoCurr);
 
     debug_printf("jvmti GetThreadCpuTimerInfo \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetThreadCpuTimerInfo(JVMTI_ENV_ARG(jvmti_env, &timerInfoOther));
+    ret = jvmti->GetThreadCpuTimerInfo(&timerInfoOther);
     JVMTI_ERROR_CHECK_RETURN("GetThreadCpuTimerInfo", ret);
     print_timerinfo(&timerInfoOther);
 
     debug_printf("jvmti GetTimerInfo \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetTimerInfo(JVMTI_ENV_ARG(jvmti_env, &timerInfoTime));
+    ret = jvmti->GetTimerInfo(&timerInfoTime);
     JVMTI_ERROR_CHECK_RETURN("GetTimerInfo", ret);
     print_timerinfo(&timerInfoTime);
 
     debug_printf("jvmti GetAvailableProcessors \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetAvailableProcessors(JVMTI_ENV_ARG(jvmti_env, &processor_count));
+    ret = jvmti->GetAvailableProcessors(&processor_count);
     JVMTI_ERROR_CHECK_RETURN("GetAvailableProcessors", ret);
     debug_printf("  processor_count = %d\n", processor_count);
 
     debug_printf("jvmti GetAllThreads \n");
-    ret = JVMTI_ENV_PTR(jvmti)->GetAllThreads(JVMTI_ENV_ARG(jvmti_env, &thrCnt), &thrArray);
+    ret = jvmti->GetAllThreads(&thrCnt, &thrArray);
     JVMTI_ERROR_CHECK_RETURN("GetAllThreads", ret);
 
     for (k = 0; k < thrCnt; ++k) {
@@ -272,13 +255,13 @@
       jthread thread;
 
       thread = thrArray[k];
-      ret = JVMTI_ENV_PTR(jvmti)->GetThreadCpuTime(JVMTI_ENV_ARG(jvmti_env, thread), &oth);
+      ret = jvmti->GetThreadCpuTime(thread, &oth);
       JVMTI_ERROR_CHECK_RETURN("GetThreadCpuTime", ret);
 
       for (i = 1; i < THREADS_LIMIT; ++i) {
         jweak tref = thread_info[i].ref;
         if (tref != 0) {
-          if (JNI_ENV_PTR(env)->IsSameObject(JNI_ENV_ARG(env, thread), tref)) {
+          if (env->IsSameObject(thread, tref)) {
             thread_info[i].threadTime = oth;
             break;
           }
@@ -287,7 +270,7 @@
       if (i == THREADS_LIMIT) {
         jvmtiThreadInfo info;
         info.name = (char*) "*retrieval error*";
-        ret = JVMTI_ENV_PTR(jvmti)->GetThreadInfo(JVMTI_ENV_ARG(jvmti_env, thread), &info);
+        ret = jvmti->GetThreadInfo(thread, &info);
         JVMTI_ERROR_CHECK("GetThreadInfo %d \n", ret);
 
         debug_printf("non-test thread: %s - %s ms\n", info.name,
@@ -380,6 +363,4 @@
 }
 
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/StackTraceController.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/StackTraceController.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <stdio.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define GET_OBJECT_CLASS(_class, _obj)\
     if (!NSK_JNI_VERIFY(env, (_class = \
@@ -93,6 +91,4 @@
     return 0;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/ThreadController.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/ThreadController.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include <stdio.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FIND_CLASS(_class, _className)\
     if (!NSK_JNI_VERIFY(env, (_class = \
@@ -526,6 +524,4 @@
         return threadState;
     }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/Deadlock.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/Deadlock.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -23,9 +23,7 @@
 #include <jni.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FIND_CLASS(_class, _className)\
         if (!NSK_JNI_VERIFY(env, (_class = \
@@ -107,6 +105,4 @@
         }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/LockingThreads.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/LockingThreads.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -23,9 +23,7 @@
 #include <jni.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FIND_CLASS(_class, _className)\
         if (!NSK_JNI_VERIFY(env, (_class = \
@@ -85,6 +83,4 @@
                 env->ThrowNew(testBugClass, "MonitorEnter(lock4) call failed");
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/RecursiveMonitoringThread.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/RecursiveMonitoringThread.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <stdio.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define FIND_CLASS(_class, _className)\
     if (!NSK_JNI_VERIFY(env, (_class = \
@@ -176,7 +174,5 @@
         }
 }
 
-#ifdef __cplusplus
 }
-#endif
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/libNativeBlockedThread.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/libNativeBlockedThread.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -23,9 +23,7 @@
 
 #include <jni.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Class:     nsk_monitoring_share_thread_NativeBlockedThread
@@ -40,6 +38,4 @@
         env->MonitorExit(lock);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/JVMDITools.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/JVMDITools.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include "jvmdi.h"
 #include "JVMDITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 char const *TranslateEvent(jint kind) {
     switch (kind) {
@@ -168,6 +166,4 @@
     }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/JVMDITools.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/JVMDITools.h	Mon Sep 24 10:59:26 2018 -0700
@@ -21,13 +21,9 @@
  * questions.
  */
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 char const *TranslateEvent(jint kind);
 char const *TranslateError(jvmdiError err);
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -39,9 +39,7 @@
 #include "JVMTITools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jvmtiEnv *jvmti = NULL; /* JVMTI env */
 static jvmtiEventCallbacks callbacks;
@@ -1271,6 +1269,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/aod/aod.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/aod/aod.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include <nsk_tools.h>
 #include <aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static volatile int internalError = 0;
 
@@ -283,6 +281,4 @@
     return jni;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/aod/aod.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/aod/aod.h	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include <jni_tools.h>
 #include <nsk_tools.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * This function can be used to inform AOD framework that some non-critical for test logic
@@ -76,8 +74,6 @@
 
 JNIEnv* nsk_aod_createJNIEnv(JavaVM* vm);
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif /* END OF NSK_SHARE_AOD_H */
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/BooleanArrayCriticalLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/BooleanArrayCriticalLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -83,6 +81,4 @@
         return hash;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ByteArrayCriticalLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ByteArrayCriticalLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -82,6 +80,4 @@
         return hash;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/CharArrayCriticalLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/CharArrayCriticalLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -83,6 +81,4 @@
         return hash;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/DoubleArrayCriticalLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/DoubleArrayCriticalLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -83,6 +81,4 @@
         return hash;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/FloatArrayCriticalLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/FloatArrayCriticalLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -83,6 +81,4 @@
         return hash;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/IntArrayCriticalLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/IntArrayCriticalLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -83,6 +81,4 @@
         return hash;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/LongArrayCriticalLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/LongArrayCriticalLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -83,6 +81,4 @@
         return hash;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ShortArrayCriticalLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/ShortArrayCriticalLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -83,6 +81,4 @@
         return hash;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/StringCriticalLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/StringCriticalLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -83,6 +81,4 @@
         return hash;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jniref/JNIGlobalRefLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jniref/JNIGlobalRefLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -73,6 +71,4 @@
         env->SetObjectField(o, objFieldId, obj);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jniref/JNILocalRefLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jniref/JNILocalRefLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -73,6 +71,4 @@
         env->SetObjectField(o, objFieldId, obj);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jniref/JNIRefLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jniref/JNIRefLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -77,6 +75,4 @@
         env->SetObjectField(o, objFieldId, obj);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jniref/JNIWeakGlobalRefLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jniref/JNIWeakGlobalRefLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <time.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jfieldID objFieldId = NULL;
 
@@ -73,6 +71,4 @@
         env->SetObjectField(o, objFieldId, obj);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jvmti/JVMTIAllocLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jvmti/JVMTIAllocLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <stdlib.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jvmtiEnv *jvmti = NULL;
 static jvmtiCapabilities caps;
@@ -67,6 +65,4 @@
         }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/malloc/MallocLocker.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/malloc/MallocLocker.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <stdlib.h>
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Class:     nsk_share_gc_lock_malloc_MallocLocker
@@ -50,6 +48,4 @@
         }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Jdb.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Jdb.java	Mon Sep 24 10:59:26 2018 -0700
@@ -291,7 +291,7 @@
                 jdbCommand += lineSeparator;
             } else {
                 // we don't want to log the line separator
-                logCmd = jdbCommand.substring(0, jdbCommand.length() - 1);
+                logCmd = jdbCommand.substring(0, jdbCommand.length() - lineSeparator.length());
             }
             launcher.getLog().display("Sending command: " + logCmd);
 
@@ -698,7 +698,7 @@
             int i = string.indexOf(lineSeparator, ind);
             if (i >= 0) {
                 v.add(string.substring(ind, i));
-                ind = i + 1;
+                ind = i + lineSeparator.length();
             } else {
                 v.add(string.substring(ind));
                 break;
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jni/jni_tools.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jni/jni_tools.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -45,9 +45,7 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*************************************************************/
 
@@ -199,6 +197,4 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jni/jni_tools.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jni/jni_tools.h	Mon Sep 24 10:59:26 2018 -0700
@@ -94,9 +94,7 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*************************************************************/
 
@@ -165,9 +163,7 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 }
-#endif
 
 /*************************************************************/
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToBootstrapClassLoaderSearch/bootclssearch_agent.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToBootstrapClassLoaderSearch/bootclssearch_agent.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -243,6 +241,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToSystemClassLoaderSearch/systemclssearch_agent.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToSystemClassLoaderSearch/systemclssearch_agent.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jvmti_tools.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -243,6 +241,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/Injector.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/Injector.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -105,9 +105,7 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
     static u1 get_u1() {
         return *inputPos++;
@@ -1202,6 +1200,4 @@
 
     /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/Injector.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/Injector.h	Mon Sep 24 10:59:26 2018 -0700
@@ -279,9 +279,7 @@
     BCI_MODE_ALLOC  = 2
 };
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /**
  * Class file transformer. Transforms a classfile image from old_bytes
@@ -305,8 +303,6 @@
 int Inject(const u1* old_bytes, const jint old_length,
     u1** new_bytes, jint* new_length, int bci_mode);
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif /* _NSK_SHARE_JVMTI_INJECTOR_H_ */
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/JVMTITools.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/JVMTITools.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <string.h>
 #include "JVMTITools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 const char* TranslateState(jint flags) {
     static char str[15 * 20];
@@ -326,6 +324,4 @@
     }
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/JVMTITools.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/JVMTITools.h	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 
 #include "jvmti.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /**
  * Return string representation of given JVMTI event constant.
@@ -60,8 +58,6 @@
  */
 const char* TranslateObjectRefKind(jvmtiObjectReferenceKind ref);
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif /* _NSK_SHARE_JVMTI_JVMTITOOLS_H_ */
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_common/agent_common.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_common/agent_common.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -23,9 +23,7 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved) {
         return Agent_Initialize(jvm, options, reserved);
@@ -35,6 +33,4 @@
         return Agent_Initialize(jvm, options, reserved);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_common/agent_common.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_common/agent_common.h	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include "jvmti.h"
 #include "../jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved);
 
@@ -36,8 +34,6 @@
 
 jint Agent_Initialize(JavaVM *vm, char *options, void *reserved);
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_tools.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_tools.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include "jni_tools.h"
 #include "jvmti_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -810,6 +808,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdlib.h>
 #include <jvmti_aod.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 void nsk_jvmti_aod_disableEventAndFinish(const char* agentName, jvmtiEvent event, int success, jvmtiEnv *jvmti, JNIEnv* jni) {
     if (!nsk_jvmti_aod_disableEvent(jvmti, event))
@@ -347,6 +345,4 @@
     #undef printCap
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.h	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include <jvmti.h>
 #include <jvmti_tools.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define MAX_STRING_LENGTH 1024
 
@@ -90,8 +88,6 @@
 
 void printCapabilities(jvmtiCapabilities caps);
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif /* END OF NSK_SHARE_JVMTI_AOD_H */
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 
 #define PASSED 0
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ========================================================================== */
 
@@ -500,6 +498,4 @@
 
 /* ========================================================================== */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jvmti_tools.h"
 #include "jvmti_FollowRefObjects.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -392,6 +390,4 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.h	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 
 #include <jvmti.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* ============================================================================= */
 
@@ -101,8 +99,6 @@
 
 /* ============================================================================= */
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -40,9 +40,7 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*************************************************************/
 
@@ -679,6 +677,4 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.h	Mon Sep 24 10:59:26 2018 -0700
@@ -35,9 +35,7 @@
 #include "JVMTITools.h"
 
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 
 /******************** Diagnostics errors *********************/
@@ -393,8 +391,6 @@
 #endif
 
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/unit/Heap.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/unit/Heap.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -29,9 +29,7 @@
 #include "jvmti.h"
 #include "agent_common.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jvmtiEnv *jvmti;
 static jint dummy_user_data;
@@ -470,6 +468,4 @@
     return 0;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/native_thread.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/native_thread.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -52,9 +52,7 @@
 
 /***************************************************************/
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /**
  * A mirror to control a thread.
@@ -206,6 +204,4 @@
 
 /***************************************************************/
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/native_thread.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/native_thread.h	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #ifndef NSK_SHARE_NATIVE_NATIVE_THREAD_H
 #define NSK_SHARE_NATIVE_NATIVE_THREAD_H
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /**
  * A thread procedure with a void* argument and returning
@@ -75,8 +73,6 @@
  */
 void THREAD_sleep(int seconds);
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/native_utils.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/native_utils.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -34,14 +34,10 @@
 #include <sys/types.h>
 #include <jni.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT jlong
 JNICALL Java_nsk_share_NativeUtils_getCurrentPID(JNIEnv * jni, jobject  jobj) {
         return (jlong) getpid();
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_list.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_list.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "nsk_list.h"
 #include "nsk_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define NSK_LIST_INIT_COUNT 20
 
@@ -136,8 +134,6 @@
     return NULL;
 }
 
-#ifdef __cplusplus
 }
-#endif
 
 /* ============================================================================= */
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_list.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_list.h	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #ifndef NSK_LIST
 #define NSK_LIST
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /**
  * Prepares array of pointers which has fixed INITIAL_SIZE.
@@ -68,8 +66,6 @@
  */
 int nsk_list_remove(const void *plist, int i);
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_mutex.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_mutex.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdlib.h>
 #include "nsk_mutex.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #ifndef _WIN32
 
@@ -92,6 +90,4 @@
 
 #endif // _WIN32
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_mutex.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_mutex.h	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #ifndef NSK_MUTEX_H
 #define NSK_MUTEX_H
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /**
  * Structure to hold mutex data (the content is platform-specific)
@@ -54,8 +52,6 @@
 void MUTEX_destroy(MUTEX* mutex);
 
 
-#ifdef __cplusplus
 }
-#endif
 
 #endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -35,9 +35,7 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*************************************************************/
 
@@ -305,6 +303,4 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.h	Mon Sep 24 10:59:26 2018 -0700
@@ -47,27 +47,6 @@
  *
  */
 
-#define NSK_CPP_STUB1(Func,env)  (*env)->Func(env)
-#define NSK_CPP_STUB2(Func,env,a)  (*env)->Func(env,a)
-#define NSK_CPP_STUB3(Func,env,a,b)  (*env)->Func(env,a,b)
-#define NSK_CPP_STUB4(Func,env,a,b,c)  (*env)->Func(env,a,b,c)
-#define NSK_CPP_STUB5(Func,env,a,b,c,d)  (*env)->Func(env,a,b,c,d)
-#define NSK_CPP_STUB6(Func,env,a,b,c,d,e)  (*env)->Func(env,a,b,c,d,e)
-#define NSK_CPP_STUB7(Func,env,a,b,c,d,e,f)  (*env)->Func(env,a,b,c,d,e,f)
-#define NSK_CPP_STUB8(Func,env,a,b,c,d,e,f,g)  (*env)->Func(env,a,b,c,d,e,f,g)
-#define NSK_CPP_STUB9(Func,env,a,b,c,d,e,f,g,h)  (*env)->Func(env,a,b,c,d,e,f,g,h)
-
-#ifdef __cplusplus
-#ifndef NSK_CPP_STUBS_ENFORCE_C
-#undef NSK_CPP_STUB1
-#undef NSK_CPP_STUB2
-#undef NSK_CPP_STUB3
-#undef NSK_CPP_STUB4
-#undef NSK_CPP_STUB5
-#undef NSK_CPP_STUB6
-#undef NSK_CPP_STUB7
-#undef NSK_CPP_STUB8
-#undef NSK_CPP_STUB9
 #define NSK_CPP_STUB1(Func,env)  env->Func()
 #define NSK_CPP_STUB2(Func,env,a)  env->Func(a)
 #define NSK_CPP_STUB3(Func,env,a,b)  env->Func(a,b)
@@ -77,8 +56,6 @@
 #define NSK_CPP_STUB7(Func,env,a,b,c,d,e,f)  env->Func(a,b,c,d,e,f)
 #define NSK_CPP_STUB8(Func,env,a,b,c,d,e,f,g)  env->Func(a,b,c,d,e,f,g)
 #define NSK_CPP_STUB9(Func,env,a,b,c,d,e,f,g,h)  env->Func(a,b,c,d,e,f,g,h)
-#endif
-#endif
 
 /*************************************************************/
 
@@ -123,9 +100,7 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define NSK_TRUE  1
 #define NSK_FALSE 0
@@ -210,9 +185,7 @@
 
 /*************************************************************/
 
-#ifdef __cplusplus
 }
-#endif
 
 /*************************************************************/
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/gclocker/libgcl001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/gclocker/libgcl001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdlib.h>
 #include "jnihelper.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 // compare most java primitive value types
 #define COMP(type) \
@@ -203,6 +201,4 @@
     BODY(jdouble)
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -28,9 +28,7 @@
 #include <stdlib.h>
 #include "jnihelper.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define DIGESTLENGTH 16
 
@@ -242,6 +240,4 @@
     return(env->NewString(javachars->str[index-1],javachars->size[index-1]));
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress002.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress002.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <stdio.h>
 #include "jnihelper.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 jobject NewObjectWrapper(JNIEnv *env, jclass clazz, jmethodID methodID, ...) {
   va_list ap;
@@ -105,6 +103,4 @@
   return obj;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <stdlib.h>
 #include "jnihelper.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define BOOL  0
 #define BYTE  1
@@ -263,6 +261,4 @@
     return JNI_TRUE;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include <string.h>
 #include "jnihelper.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define DIGESTLENGTH 16
 
@@ -171,6 +169,4 @@
     return ret;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define CHECK_EXCEPTION     { if (env->ExceptionOccurred()) { fprintf(stderr, "Unexpected exception:\n"); env->ExceptionDescribe(); env->ExceptionClear(); exit(97); } }
 
@@ -114,6 +112,4 @@
 /*     printf("JNI: count %d\n", Exceptcalls); */
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 #include <stdlib.h>
 #include "jnihelper.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT jboolean JNICALL
 Java_nsk_stress_jni_JNIter006_refs (JNIEnv *env, jobject jobj, jobject tobj, jint LIMIT) {
@@ -86,6 +84,4 @@
     return res;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress007.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress007.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include <stdio.h>
 #include "jnihelper.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT void JNICALL
 Java_nsk_stress_jni_JNIter007_incCount (JNIEnv *env, jobject jobj, jstring name) {
@@ -47,6 +45,4 @@
     printf("in %s Count after %u\n", str, value);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace003.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace003.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdio.h>
 #include "nsk_strace.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static const char *Stest_cn="nsk/stress/strace/strace003";
 static const char *Slongparam="(J)V";
@@ -89,6 +87,4 @@
     SET_INT_FIELD(obj, threadClass, "currentDepth", currDepth);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace004.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace004.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdio.h>
 #include "nsk_strace.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static const char *Stest_cn="nsk/stress/strace/strace004";
 static const char *Slongparam="(J)V";
@@ -89,6 +87,4 @@
     SET_INT_FIELD(obj, threadClass, "currentDepth", currDepth);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace005.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace005.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -25,9 +25,7 @@
 #include "nsk_strace.h"
 #include "nsk_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static const char *Stest_cn="nsk/stress/strace/strace005";
 static jclass stackOverflowErrorClass;
@@ -102,6 +100,4 @@
     SET_INT_FIELD(obj, threadClass, "currentDepth", currDepth);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace006.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace006.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdio.h>
 #include "nsk_strace.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static const char *Stest_cn="nsk/stress/strace/strace006";
 
@@ -103,6 +101,4 @@
     SET_INT_FIELD(obj, threadClass, "currentDepth", currDepth);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace008.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace008.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdio.h>
 #include "nsk_strace.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static const char *Stest_cn="nsk/stress/strace/strace008";
 
@@ -87,6 +85,4 @@
     SET_INT_FIELD(obj, threadClass, "currentDepth", currDepth);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace009.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace009.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdio.h>
 #include "nsk_strace.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static const char *Stest_cn="nsk/stress/strace/strace009";
 
@@ -59,6 +57,4 @@
     SET_INT_FIELD(obj, threadClass, "currentDepth", currDepth);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace011.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace011.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdio.h>
 #include "nsk_strace.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static const char *Stest_cn="nsk/stress/strace/strace011";
 static const char *SthreadName_mn="getName";
@@ -112,6 +110,4 @@
     SET_INT_FIELD(obj, threadClass, "currentDepth", currDepth);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace012.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace012.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdio.h>
 #include "nsk_strace.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT void JNICALL
 Java_nsk_stress_strace_strace012Thread_recursiveMethod2(JNIEnv *env, jobject obj)
@@ -39,6 +37,4 @@
     CALL_VOID_NOPARAM(obj, threadClass, "recursiveMethod1");
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace014.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace014.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdio.h>
 #include "nsk_strace.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static const char *Stest_cn="nsk/stress/strace/strace014";
 static const char *SthreadName_mn="getName";
@@ -93,6 +91,4 @@
     SET_INT_FIELD(obj, threadClass, "currentDepth", currDepth);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace015.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace015.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -24,9 +24,7 @@
 #include <stdio.h>
 #include "nsk_strace.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT void JNICALL
 Java_nsk_stress_strace_strace015Thread_recursiveMethod2(JNIEnv *env, jobject obj)
@@ -39,6 +37,4 @@
     CALL_VOID_NOPARAM(obj, threadClass, "recursiveMethod1");
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/libLTTest.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/libLTTest.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -23,9 +23,7 @@
 #include <jni.h>
 #include <stdio.h>
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 JNIEXPORT void JNICALL Java_vm_jit_LongTransitions_LTTest_nativeFnc1(JNIEnv *e, jclass c
 ,jfloat p0,jfloat p1,jfloat p2,jfloat p3,jfloat p4,jfloat p5,jfloat p6,jfloat p7
@@ -3464,6 +3462,4 @@
     fclose(file);
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/share/IndyRedefineClass.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/share/IndyRedefineClass.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "jvmti_tools.h"
 #include "mlvmJvmtiUtils.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jvmtiEnv* gJvmtiEnv = NULL;
 
@@ -221,6 +219,4 @@
     return JNI_OK;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/stepBreakPopReturn.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/stepBreakPopReturn.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "jvmti_tools.h"
 #include "mlvmJvmtiUtils.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 static jvmtiEnv* gJvmtiEnv = NULL;
 
@@ -205,6 +203,4 @@
 
     return JNI_OK;
 }
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/nativeAndMH.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/nativeAndMH.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -27,9 +27,7 @@
 #include "jni.h"
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 #define ARGS_COUNT 6
 
@@ -74,6 +72,4 @@
     return result;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/mlvmJvmtiUtils.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/mlvmJvmtiUtils.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -30,9 +30,7 @@
 #include "jvmti_tools.h"
 #include "mlvmJvmtiUtils.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 void copyFromJString(JNIEnv * pEnv, jstring src, char ** dst) {
     const char * pStr;
@@ -125,6 +123,4 @@
     return tls;
 }
 
-#ifdef __cplusplus
 }
-#endif
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/mlvmJvmtiUtils.h	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/mlvmJvmtiUtils.h	Mon Sep 24 10:59:26 2018 -0700
@@ -26,9 +26,7 @@
 
 #include "jvmti.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 void copyFromJString(JNIEnv * pEnv, jstring src, char ** dst);
 
@@ -42,8 +40,6 @@
 char * locationToString(jvmtiEnv * pJvmtiEnv, jmethodID method, jlocation location);
 
 void * getTLS(jvmtiEnv * pJvmtiEnv, jthread thread, jsize sizeToAllocate);
-#ifdef __cplusplus
 }
-#endif
 
 #endif /* MLVMJVMTIUTILS_H_ */
--- a/test/hotspot/jtreg/vmTestbase/vm/share/ProcessUtils.cpp	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/vm/share/ProcessUtils.cpp	Mon Sep 24 10:59:26 2018 -0700
@@ -33,9 +33,7 @@
 #endif /* _WIN32 */
 #include "jni_tools.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /*
  * Class:     vm_share_ProcessUtils
@@ -261,6 +259,4 @@
 #endif /* _WIN32 */
 }
 
-#ifdef __cplusplus
 }
-#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/JDK8209615.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2018, 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 stream.XMLEventReaderTest;
+
+import org.testng.annotations.Listeners;
+import org.testng.annotations.Test;
+import javax.xml.stream.*;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.Iterator;
+
+/*
+ * @test
+ * @bug 8209615
+ * @library /javax/xml/jaxp/libs /javax/xml/jaxp/unittest
+ * @run testng/othervm -DrunSecMngr=true stream.XMLEventReaderTest.JDK8209615
+ * @run testng/othervm stream.XMLEventReaderTest.JDK8209615
+ * @summary Verifies that the parser continues parsing the character data
+ */
+@Listeners({jaxp.library.BasePolicy.class})
+public class JDK8209615 {
+
+    /**
+     * Verifies that the parser parses the xml successfully. Before the patch,
+     * the parser failed with the following error message:
+     * The element type "Data" must be terminated by the matching end-tag "</Data>".
+     *
+     * @throws Exception if the parser fails to parse the xml
+     */
+    @Test
+    public void testParseCData() throws Exception {
+
+        String xml = "<Export generator=\"Cache\" version=\"25\">\r\n"
+            + "<Class name=\"DSVRDemo.ConditionalBannerLIDR\">\r\n" + "<Description>\r\n" + "</Description>\r\n"
+            + "<Parameter name=\"XSLTMODE\">\r\n" + "</Parameter>\r\n" + "<Parameter name=\"DSSHOME\">\r\n"
+            + "</Parameter>\r\n" + "<Parameter name=\"DSSCLASS\">\r\n" + "</Parameter>\r\n"
+            + "<XData name=\"ReportModel\">\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n"
+            + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n"
+            + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"box\",gc:\r\n"
+            + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n"
+            + "{t:\"txt\",gc:\r\n" + "{t:\"box\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n"
+            + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n"
+            + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n"
+            + "{t:\"txt\",gc:\r\n" + "{t:\"txt\",gc:\r\n" + "<Data><![CDATA[\r\n" + "<pageheader>\r\n"
+            + "<![CDATA[\r\n" + "</svg:text>\r\n"
+            + "<svg:text x=\"0\" y=\"30.333333333333336\" style=\"font-size:10;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "Run by:\r\n" + "</svg:text>\r\n" + "<xsl:value-of select=\"@Genre\"/>\r\n" + "</svg:text>\r\n"
+            + "<svg:text x=\"0\" y=\"19.333333333333336\" style=\"font-size:10;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "Genre:\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"70\" y=\"0\" width=\"86\" height=\"11\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"70\" y=\"8.333333333333334\" style=\"font-size:10;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "</svg:text>\r\n"
+            + "<svg:rect x=\"0\" y=\"0\" width=\"70\" height=\"11\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"0\" y=\"8.333333333333334\" style=\"font-size:10;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "Run time:\r\n" + "</svg:text>\r\n"
+            + "<svg:line x1=\"0\" y1=\"34\" x2=\"466\" y2=\"34\" style=\"stroke:#000000;stroke-width:2;stroke-opacity:1\" />\r\n"
+            + "</svg:svg>\r\n" + "</fo:instream-foreign-object>\r\n" + "</fo:block>\r\n" + "]]]]><![CDATA[>\r\n"
+            + "<!-- end of PAGE HEADER -->\r\n" + "<pagefooter>\r\n" + "<!-- PAGE FOOTER -->\r\n" + "<write>\r\n"
+            + "<![CDATA[\r\n" + "<fo:block font-size=\"0pt\" >\r\n" + "<fo:instream-foreign-object>\r\n"
+            + "<svg:svg width=\"468pt\" height=\"37pt\" viewBox=\"0 0 468 37\" >\r\n"
+            + "<svg:line x1=\"0\" y1=\"1\" x2=\"466\" y2=\"1\" style=\"stroke:#000000;stroke-width:2;stroke-opacity:1\" />\r\n"
+            + "<svg:rect x=\"70\" y=\"2\" width=\"86\" height=\"11\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<xsl:value-of select=\"@runBy\"/>\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"0\" y=\"2\" width=\"70\" height=\"11\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"0\" y=\"10.333333333333334\" style=\"font-size:10;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "</svg:text>\r\n"
+            + "<svg:rect x=\"70\" y=\"13\" width=\"86\" height=\"11\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "</svg:text>\r\n"
+            + "<svg:text x=\"0\" y=\"21.333333333333336\" style=\"font-size:10;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "</svg:text>\r\n"
+            + "<svg:rect x=\"70\" y=\"24\" width=\"86\" height=\"11\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"70\" y=\"32.333333333333336\" style=\"font-size:10;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "</svg:text>\r\n"
+            + "<svg:rect x=\"0\" y=\"24\" width=\"70\" height=\"11\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"0\" y=\"32.333333333333336\" style=\"font-size:10;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "Run time:\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"312\" y=\"23\" width=\"156\" height=\"12\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"468\" y=\"31.333333333333336\" style=\"font-size:10;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;text-anchor:end;\" >\r\n"
+            + "Annotated Box Office\r\n" + "</svg:text>\r\n" + "</fo:instream-foreign-object>\r\n"
+            + "</fo:block>\r\n" + "<!-- end of PAGE FOOTER -->\r\n" + "</pagefooter>\r\n" + "<body>\r\n"
+            + "<write>\r\n" + "<![CDATA[\r\n" + "<fo:block font-size=\"0pt\" >\r\n"
+            + "<svg:svg width=\"468pt\" height=\"205pt\" viewBox=\"0 0 468 205\" >\r\n"
+            + "<svg:rect x=\"1\" y=\"73\" width=\"466\" height=\"126\" style=\"fill-opacity:1;fill:#ffffff;stroke:#000000;stroke-width:2;stroke-opacity:1\" />\r\n"
+            + "<svg:rect x=\"0\" y=\"74\" width=\"468\" height=\"44\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "Annotated Box Office\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"246\" y=\"118\" width=\"222\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"246\" y=\"129.66666666666666\" style=\"font-size:14;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "</svg:text>\r\n"
+            + "<svg:rect x=\"0\" y=\"118\" width=\"222\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"222\" y=\"129.66666666666666\" style=\"font-size:14;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;text-anchor:end;\" >\r\n"
+            + "Run by:\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"246\" y=\"134\" width=\"222\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "</svg:text>\r\n"
+            + "<svg:text x=\"222\" y=\"145.66666666666666\" style=\"font-size:14;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;text-anchor:end;\" >\r\n"
+            + "Genre:\r\n"
+            + "<svg:rect x=\"246\" y=\"150\" width=\"222\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"246\" y=\"161.66666666666666\" style=\"font-size:14;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "<xsl:value-of select=\"@runTime\"/>\r\n"
+            + "<svg:rect x=\"0\" y=\"150\" width=\"222\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "Run time:\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"246\" y=\"166\" width=\"222\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"246\" y=\"177.66666666666666\" style=\"font-size:14;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "<xsl:value-of select=\"TotalTicketsSold\"/>\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"0\" y=\"166\" width=\"222\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"222\" y=\"177.66666666666666\" style=\"font-size:14;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;text-anchor:end;\" >\r\n"
+            + "Total tickets sold:\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"246\" y=\"182\" width=\"222\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"246\" y=\"193.66666666666666\" style=\"font-size:14;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "<xsl:value-of select=\"TotalFilms\"/>\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"0\" y=\"182\" width=\"222\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"222\" y=\"193.66666666666666\" style=\"font-size:14;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;text-anchor:end;\" >\r\n"
+            + "Total films:\r\n" + "</svg:text>\r\n" + "</svg:svg>\r\n" + "]]]]><![CDATA[>\r\n" + "</write>\r\n"
+            + "<pagebreak/>\r\n" + "<!-- end of REPORT HEADER -->\r\n" + "<group name='FilmsByGenre' >\r\n"
+            + "<!-- GROUP HEADER (FilmsByGenre) -->\r\n" + "<write>\r\n" + "<![CDATA[\r\n"
+            + "<fo:block font-size=\"0pt\" >\r\n" + "<fo:instream-foreign-object>\r\n"
+            + "<svg:svg width=\"468pt\" height=\"74pt\" viewBox=\"0 0 468 74\" >\r\n"
+            + "<svg:text x=\"78\" y=\"55\" style=\"font-size:12;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "<xsl:value-of select=\"TitleCount\"/>\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"0\" y=\"45\" width=\"78\" height=\"14\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"0\" y=\"55\" style=\"font-size:12;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "Title count:\r\n" + "</svg:text>\r\n"
+            + "<svg:rect x=\"156\" y=\"24\" width=\"156\" height=\"21\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<xsl:value-of select=\"@CategoryName\"/>\r\n" + "</svg:text>\r\n"
+            + "<svg:text x=\"468\" y=\"55\" style=\"font-size:12;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;text-anchor:end;\" >\r\n"
+            + "<svg:rect x=\"312\" y=\"45\" width=\"78\" height=\"14\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"390\" y=\"55\" style=\"font-size:12;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;text-anchor:end;\" >\r\n"
+            + "</svg:text>\r\n"
+            + "<svg:line x1=\"0\" y1=\"60\" x2=\"466\" y2=\"60\" style=\"stroke:#000000;stroke-width:2;stroke-opacity:1\" />\r\n"
+            + "</svg:svg>\r\n" + "</fo:instream-foreign-object>\r\n" + "</fo:block>\r\n" + "]]]]><![CDATA[>\r\n"
+            + "</write>\r\n" + "<group name='FilmDetail' >\r\n" + "<!-- REPORT BODY (FilmDetail) -->\r\n"
+            + "<write>\r\n" + "<![CDATA[\r\n" + "<fo:block font-size=\"0pt\">\r\n"
+            + "<fo:instream-foreign-object>\r\n"
+            + "<svg:svg width=\"468pt\" height=\"71pt\" viewBox=\"0 0 468 71\" >\r\n"
+            + "<svg:rect x=\"3\" y=\"4\" width=\"257\" height=\"16\" style=\"fill:#ffffff;fill-opacity:0;stroke-width:0;\" />\r\n"
+            + "<svg:text x=\"3\" y=\"14\" style=\"font-size:12;font-family:sans-serif;fill:#000000;fill-opacity:1;font-weight:bold;\" >\r\n"
+            + "</svg:text>\r\n" + "</report>]]></Data>\r\n" + "</XData>\r\n" + "</Class>\r\n" + "</Export>\r\n";
+        try (ByteArrayInputStream inputStream = new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))) {
+            stax(inputStream);
+        }
+
+    }
+
+    private static void stax(InputStream input) throws XMLStreamException, FactoryConfigurationError {
+        XMLEventReader eventReader = XMLInputFactory.newInstance()
+            .createXMLEventReader(input);
+        ((Iterator<?>) eventReader).forEachRemaining(ignored -> {
+        });
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jaxp/javax/xml/jaxp/unittest/transform/JDK8207760.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,175 @@
+/*
+ * Copyright (c) 2018, 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 transform;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.nio.charset.StandardCharsets;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.testng.Assert;
+import org.testng.annotations.Listeners;
+import org.testng.annotations.Test;
+import java.util.Random;
+import javax.xml.transform.OutputKeys;
+import org.testng.annotations.DataProvider;
+
+/*
+ * @test
+ * @library /javax/xml/jaxp/libs /javax/xml/jaxp/unittest
+ * @run testng/othervm transform.JDK8207760
+ * @summary Verifies that a surrogate pair at the edge of a buffer is properly handled
+ * @bug 8207760
+ */
+@Listeners({jaxp.library.FilePolicy.class})
+public class JDK8207760 {
+    final String xsl8207760 =
+        "<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n" +
+        "    <xsl:output omit-xml-declaration=\"yes\" indent=\"no\" />\n" +
+        "\n" +
+        "    <xsl:template match=\"node()|@*\">\n" +
+        "        <xsl:copy>\n" +
+        "            <xsl:apply-templates select=\"node()|@*\" />\n" +
+        "        </xsl:copy>\n" +
+        "    </xsl:template>\n" +
+        "</xsl:stylesheet>\n";
+
+    final String xsl8207760_2 = "<xsl:stylesheet \n" +
+        "  version=\"1.0\" \n" +
+        "  xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n" +
+        "\n" +
+        "  <xsl:output method=\"xml\" indent=\"no\" cdata-section-elements=\"source\"/>\n" +
+        "\n" +
+        "  <xsl:template match=\"source\">\n" +
+                "        <xsl:copy>\n" +
+                "            <xsl:apply-templates select=\"node()\" />\n" +
+                "        </xsl:copy>\n" +
+        "  </xsl:template>\n" +
+        "\n" +
+        "</xsl:stylesheet>";
+
+    final String xsl8207760_3 = "<xsl:stylesheet \n" +
+        "  version=\"1.0\" \n" +
+        "  xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n" +
+        "\n" +
+        "  <xsl:output method=\"xml\" indent=\"no\" cdata-section-elements=\"source\"/>\n" +
+        "\n" +
+        "  <xsl:template match=\"source\">\n" +
+        "    <xsl:copy>\n" +
+        "      <!-- Copy the attributes -->\n" +
+        "      <xsl:apply-templates select=\"@*\"/>\n" +
+        "      <!-- Convert the contained nodes (elements and text) into text -->\n" +
+        "      <xsl:variable name=\"subElementsText\">\n" +
+        "        <xsl:apply-templates select=\"node()\"/>\n" +
+        "      </xsl:variable>\n" +
+        "      <!-- Output the XML directive and the converted nodes -->\n" +
+        "      <xsl:value-of select=\"$subElementsText\"/>\n" +
+        "    </xsl:copy>\n" +
+        "  </xsl:template>\n" +
+        "\n" +
+        "</xsl:stylesheet>";
+
+    @DataProvider(name = "xsls")
+    public Object[][] getDataBug8207760_cdata() {
+        return new Object[][]{
+            {xsl8207760_2},
+            {xsl8207760_3},
+        };
+    }
+
+    /*
+     * @bug 8207760
+     * Verifies that a surrogate pair at the edge of a buffer is properly handled
+     * when serializing into a Character section.
+     */
+    @Test
+    public final void testBug8207760() throws Exception {
+        String[] xmls = prepareXML(false);
+        Transformer t = createTransformerFromInputstream(
+                new ByteArrayInputStream(xsl8207760.getBytes(StandardCharsets.UTF_8)));
+        t.setOutputProperty(OutputKeys.ENCODING, StandardCharsets.UTF_8.name());
+        StringWriter sw = new StringWriter();
+        t.transform(new StreamSource(new StringReader(xmls[0])), new StreamResult(sw));
+        Assert.assertEquals(sw.toString().replaceAll(System.lineSeparator(), "\n"), xmls[1]);
+    }
+
+    /*
+     * @bug 8207760
+     * Verifies that a surrogate pair at the edge of a buffer is properly handled
+     * when serializing into a CDATA section.
+     */
+    @Test(dataProvider = "xsls")
+    public final void testBug8207760_cdata(String xsl) throws Exception {
+        String[] xmls = prepareXML(true);
+        Transformer t = createTransformerFromInputstream(
+                new ByteArrayInputStream(xsl.getBytes(StandardCharsets.UTF_8)));
+        t.setOutputProperty(OutputKeys.ENCODING, StandardCharsets.UTF_8.name());
+        StringWriter sw = new StringWriter();
+        t.transform(new StreamSource(new StringReader(xmls[0])), new StreamResult(sw));
+        Assert.assertEquals(sw.toString().replaceAll(System.lineSeparator(), "\n"), xmls[1]);
+    }
+
+    private String[] prepareXML(boolean cdata) {
+        String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><source>";
+        if (cdata) {
+            xml += "<![CDATA[";
+        }
+        String tail = "abc 123 </source>";
+        if (cdata) {
+            tail = "abc 123 ]]></source>";
+        }
+        String temp = generateString(1023);
+        xml = xml + temp + '\uD83C' + '\uDF42' + tail;
+        //xml = xml + temp + tail;
+        String expected = (!cdata) ? "<source>" + temp + "&#127810;" + tail
+                : xml;
+
+        return new String[]{xml, expected};
+    }
+
+    static final char[] CHARS = "abcdefghijklmnopqrstuvwxyz \n".toCharArray();
+    StringBuilder sb = new StringBuilder(1024 << 4);
+    Random random = new Random();
+
+    private String generateString(int size) {
+        sb.setLength(0);
+        for (int i = 0; i < size; i++) {
+            char c = CHARS[random.nextInt(CHARS.length)];
+            sb.append(c);
+        }
+
+        return sb.toString();
+    }
+
+    private Transformer createTransformerFromInputstream(InputStream xslStream)
+            throws TransformerException {
+        return TransformerFactory.newInstance().newTransformer(new StreamSource(xslStream));
+    }
+}
--- a/test/jdk/ProblemList.txt	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/ProblemList.txt	Mon Sep 24 10:59:26 2018 -0700
@@ -516,8 +516,6 @@
 java/lang/instrument/RedefineBigClass.sh                        8065756 generic-all
 java/lang/instrument/RetransformBigClass.sh                     8065756 generic-all
 
-java/lang/instrument/BootClassPath/BootClassPathTest.sh         8072130 macosx-all
-
 java/lang/management/MemoryMXBean/Pending.java                  8158837 generic-all
 java/lang/management/MemoryMXBean/PendingAllGC.sh               8158837 generic-all
 
@@ -558,9 +556,6 @@
 
 java/net/DatagramSocket/SendDatagramToBadAddress.java           7143960 macosx-all
 
-java/net/Socket/LingerTest.java                                 8208690 generic-all
-sun/net/www/http/HttpClient/MultiThreadTest.java                8208690 generic-all
-
 ############################################################################
 
 # jdk_nio
@@ -834,8 +829,6 @@
 
 com/sun/jdi/BasicJDWPConnectionTest.java                        8195703 generic-all
 
-com/sun/jdi/RedefineImplementor.sh                              8004127 generic-all
-
 com/sun/jdi/RepStep.java                                        8043571 generic-all
 
 com/sun/jdi/sde/SourceDebugExtensionTest.java                   8158066 windows-all
--- a/test/jdk/com/sun/crypto/provider/Mac/HmacSHA512.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/com/sun/crypto/provider/Mac/HmacSHA512.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
@@ -21,7 +21,7 @@
  * questions.
  */
 
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
@@ -30,7 +30,7 @@
 /**
  * @test
  * @bug 8051408
- * @library /lib/testlibrary
+ * @library /test/lib
  * @summary testing HmacSHA512/224 and HmacSHA512/256.
  */
 public class HmacSHA512 {
--- a/test/jdk/com/sun/jdi/BasicJDWPConnectionTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/com/sun/jdi/BasicJDWPConnectionTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, 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/test/jdk/com/sun/jdi/NoLaunchOptionTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/com/sun/jdi/NoLaunchOptionTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -21,7 +21,7 @@
  * questions.
  */
 
-import static jdk.testlibrary.Asserts.assertFalse;
+import static jdk.test.lib.Asserts.assertFalse;
 import jdk.test.lib.process.OutputAnalyzer;
 import jdk.test.lib.process.ProcessTools;
 
@@ -31,11 +31,10 @@
  * @summary    Test for -Xrunjdwp:[onthrow,onuncaught] suboptions require launch suboption
  * @author     Tim Bell
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
  * @run compile -g NoLaunchOptionTest.java
- * @build jdk.testlibrary.* VMConnection
+ * @build VMConnection
  * @run driver NoLaunchOptionTest
  */
 public class NoLaunchOptionTest extends Object {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/RedefineException.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2002, 2018, 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 4559100
+ * @summary The VM crashes when a method in a redefined class throws an exception.
+ * @comment converted from test/jdk/com/sun/jdi/RedefineException.sh
+ *
+ * @library /test/lib
+ * @run main/othervm RedefineException
+ */
+
+/* This is another symptomm of 4559100
+ * This causes a bus error on solsparc:
+ *  ---- called from signal handler with signal 10 (SIGBUS) ------
+ *    [11] constantPoolOopDesc::klass_at_if_loaded(0xffbed4d8, 0x16, 0xffbed5cc, 0x0, 0x1, 0xfa40b330), at 0xfe11568c
+ *    [12] methodOopDesc::fast_exception_handler_bci_for(0x6, 0x1, 0xfe400a0c, 0x0, 0x2d1f0, 0x0), at 0xfe12e620
+ *    [13] jvmdi::post_exception_throw_event(0x2d1f0, 0xf61036f8, 0xf6103752, 0xf20414a8, 0x2e2928, 0xfe12e190), at 0xfe2a4fa4
+ */
+
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+class RedefineExceptionTarg {
+    String str;
+    int ii;
+    static public void main(String[] args) {
+        System.out.println("In Main");
+        RedefineExceptionTarg mine = new RedefineExceptionTarg();
+        mine.a1();
+    }
+
+    public void a1() {
+        int a1local = 1;
+        String a1string = "a1";
+
+        ii = 89;                                 // @1 delete this line
+        str = "foo";
+        System.out.println("a1: Calling the original a2/a3.  'The @@@ deleted lines should appear");
+        System.out.println("ii = " + ii);        // @1 delete this line
+        a2();
+    }
+
+    public void a2() {
+        int a2local = 2;
+        String a2string = "a2";
+        //System.out.println("a2: @ @@delete this line");
+        try {
+            a3();
+        } catch (Exception ee) {
+            System.out.println("a2: Exception caught");
+        }
+        System.out.println("a2: done");
+    }
+
+    public void a3() throws Exception {
+        int a3local = 3;
+        String a3string = "a3";
+        System.out.println("a3: @@ delete this line");   // If this line is deleted, the test passes!
+        System.out.println("a3: @1 breakpoint here a3");
+        throw new Exception("This is the exception");
+    }
+}
+
+public class RedefineException extends JdbTest {
+
+    public static void main(String argv[]) {
+        new RedefineException().run();
+    }
+
+    private RedefineException() {
+        super(RedefineExceptionTarg.class.getName(), "RedefineException.java");
+    }
+
+    @Override
+    protected void runCases() {
+        setBreakpoints(1);
+        jdb.command(JdbCommand.run());
+        redefineClass(1);
+        jdb.command(JdbCommand.pop());
+        jdb.contToExit(1);
+    }
+}
--- a/test/jdk/com/sun/jdi/RedefineException.sh	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2002, 2014, 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 4559100
-#  @summary The VM crashes when a method in a redefined class throws an exception.
-#  @author Jim Holmlund
-#
-#  @key intermittent
-#  @run shell RedefineException.sh
-
-# This is another symptomm of 4559100
-# This causes a bus error on solsparc:
-#  ---- called from signal handler with signal 10 (SIGBUS) ------
-#  [11] constantPoolOopDesc::klass_at_if_loaded(0xffbed4d8, 0x16, 0xffbed5cc, 0x0, 0x1, 0xfa40b330), at 0xfe11568c
-#  [12] methodOopDesc::fast_exception_handler_bci_for(0x6, 0x1, 0xfe400a0c, 0x0, 0x2d1f0, 0x0), at 0xfe12e620
-#  [13] jvmdi::post_exception_throw_event(0x2d1f0, 0xf61036f8, 0xf6103752, 0xf20414a8, 0x2e2928, 0xfe12e190), at 0xfe2a4fa4
-
-# These are variables that can be set to control execution
-
-createJavaFile()
-{
-    cat <<EOF > $1.java.1
-
-public class $1 {
-    String str;
-    int ii;
-    static public void main(String[] args) {
-       System.out.println("In Main");
-       $1 mine = new $1();
-       mine.a1();
-    }
-
-    public void a1() {
-      int a1local = 1;
-      String a1string = "a1";
-
-      ii = 89;                                 // @1 delete this line
-      str = "foo";
-      System.out.println("a1: Calling the original a2/a3.  'The @@@ deleted lines should appear");
-      System.out.println("ii = " + ii);        // @1 delete this line
-      a2();
-    }
-
-    public void a2() {
-      int a2local = 2;
-      String a2string = "a2";
-      //System.out.println("a2: @ @@delete this line");
-      try {
-        a3();
-      } catch (Exception ee) {
-        System.out.println("a2: Exception caught");
-      }
-      System.out.println("a2: done");
-    }
-
-    public void a3() throws Exception {
-      int a3local = 3;
-      String a3string = "a3";
-      System.out.println("a3: @@ delete this line");   // If this line is deleted, the test passes!
-      System.out.println("a3: @1 breakpoint here a3");
-      throw new Exception("This is the exception");
-    }
-}
-EOF
-}
-
-dojdbCmds()
-{
-    setBkpts @1
-    runToBkpt
-    redefineClass @1
-    cmd pop
-    cmd allowExit cont
-}
-
-
-mysetup()
-{
-    if [ -z "$TESTSRC" ] ; then
-        TESTSRC=.
-    fi
-
-    for ii in . $TESTSRC $TESTSRC/.. ; do
-        if [ -r "$ii/ShellScaffold.sh" ] ; then
-            . $ii/ShellScaffold.sh
-            break
-        fi
-    done
-}
-
-# You could replace this next line with the contents
-# of ShellScaffold.sh and this script will run just the same.
-mysetup
-
-runit
-pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/RedefineFinal.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2002, 2018, 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 4788344
+ * @summary RedefineClasses is an apparent no-op if instance method is final
+ * @comment converted from test/jdk/com/sun/jdi/RedefineFinal.sh
+ *
+ * @library /test/lib
+ * @compile -g RedefineFinal.java
+ * @run main/othervm RedefineFinal
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+final class RedefineFinalTarg {
+
+    public int m1(int i) {
+        // @1 uncomment System.out.println("I'm here");
+        return m2(i, 1000);
+    }
+
+    public int m2(int i, int j) {
+        if (i < 0 || j < 0) {   // @1 breakpoint
+            throw new IllegalArgumentException();
+        }
+        return i+j;
+    }
+
+    RedefineFinalTarg() {
+        m1(0);
+        m1(0);
+    }
+
+    public static void main(String args[]) {
+        new RedefineFinalTarg();
+    }
+}
+
+public class RedefineFinal extends JdbTest {
+
+    public static void main(String argv[]) {
+        new RedefineFinal().run();
+    }
+
+    private RedefineFinal() {
+        super(RedefineFinalTarg.class.getName(), "RedefineFinal.java");
+    }
+
+    @Override
+    protected void runCases() {
+        setBreakpoints(1);
+        jdb.command(JdbCommand.run());
+        redefineClass(1, "-g");
+        setBreakpoints(1);
+        jdb.command(JdbCommand.cont());
+        jdb.command(JdbCommand.where(""));
+        jdb.contToExit(1);
+
+        new OutputAnalyzer(getJdbOutput())
+                .shouldNotContain("obsolete");
+    }
+}
--- a/test/jdk/com/sun/jdi/RedefineFinal.sh	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2002, 2014, 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 4788344
-#  @summary RedefineClasses is an apparent no-op if instance method is final
-#
-#  @key intermittent
-#  @run shell RedefineFinal.sh
-
-compileOptions=-g
-compileOptions2=-g
-
-# Uncomment this to see the JDI trace
-#jdbOptions=-dbgtrace
-
-createJavaFile()
-{
-    cat <<EOF > $1.java.1
-
-public final class $1 {
-
-    public int m1(int i) {
-        // @1 uncomment System.out.println("I'm here");
-        return m2(i, 1000);
-    }
-
-    public int m2(int i, int j) {
-        if (i < 0 || j < 0) {   // @1 breakpoint
-            throw new IllegalArgumentException();
-        }
-        return i+j;
-    }
-
-    $1() {
-        m1(0);
-        m1(0);
-    }
-
-    public static void main(String args[]) {
-        new $1();
-    }
-}
-EOF
-}
-
-# This is called to feed cmds to jdb.
-dojdbCmds()
-{
-    setBkpts @1
-    runToBkpt @1
-    redefineClass @1
-    setBkpts @1
-    contToBkpt
-    cmd where
-    cmd allowExit cont
-}
-
-
-mysetup()
-{
-    if [ -z "$TESTSRC" ] ; then
-        TESTSRC=.
-    fi
-
-    for ii in . $TESTSRC $TESTSRC/.. ; do
-        if [ -r "$ii/ShellScaffold.sh" ] ; then
-            . $ii/ShellScaffold.sh 
-            break
-        fi
-    done
-}
-
-# You could replace this next line with the contents
-# of ShellScaffold.sh and this script will run just the same.
-mysetup
-
-runit
-
-jdbFailIfPresent 'obsolete'
-pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/RedefineIntConstantToLong.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2006, 2018, 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 6394084
+ * @summary Redefine class can't handle addition of 64 bit constants in JDK1.5.0_05
+ * @comment converted from test/jdk/com/sun/jdi/RedefineIntConstantToLong.sh
+ *
+ * @library /test/lib
+ * @compile -g RedefineIntConstantToLong.java
+ * @run main/othervm RedefineIntConstantToLong
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+final class RedefineIntConstantToLongTarg {
+
+    public long m1(int i) {
+        long r=0;
+        r = m2(i * 2); // @1 commentout
+        // @1 uncomment      r =m2(i * 2L);
+        return r;
+    }
+
+    public long m2(int j) {
+        System.out.println(System.getProperty("line.separator") +
+                           "**** public long m2(int j) with value: " + j);
+        return j;
+    }
+
+    public long m2(long j) {
+        System.out.println(System.getProperty("line.separator") +
+                           "**** public long m2(long j) with value: " + j);
+        return j;
+    }
+
+    public void doit() throws Exception {
+        long r1 = 0;
+        long r2;
+        r1 = m1(1000);
+        r2 = 0;         // @1 breakpoint
+        r2 = m1(1000);
+        if (r1 != r2) { // @1 breakpoint
+             throw new Exception("FAILURE: Expected value: " + r1 + " Actual value: " + r2);
+        } else {
+             System.out.println("SUCCESS: Expected value: " + r1 + " Actual value: " + r2);
+        }
+    }
+
+    public static void main(String args[]) throws Exception {
+        new RedefineIntConstantToLongTarg().doit();
+    }
+}
+
+public class RedefineIntConstantToLong extends JdbTest {
+
+    public static void main(String argv[]) {
+        new RedefineIntConstantToLong().run();
+    }
+
+    private RedefineIntConstantToLong() {
+        super(RedefineIntConstantToLongTarg.class.getName(), "RedefineIntConstantToLong.java");
+    }
+
+    @Override
+    protected void runCases() {
+        setBreakpoints(1);
+        jdb.command(JdbCommand.run());
+        redefineClass(1, "-g");
+        setBreakpoints(1);
+        jdb.command(JdbCommand.cont());
+        jdb.command(JdbCommand.where(""));
+        jdb.contToExit(1);
+
+        new OutputAnalyzer(getJdbOutput())
+                .shouldNotContain("FAILURE:");
+    }
+}
--- a/test/jdk/com/sun/jdi/RedefineIntConstantToLong.sh	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2006, 2014, 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 6394084
-#  @summary Redefine class can't handle addition of 64 bit constants in JDK1.5.0_05
-#
-#  @key intermittent
-#  @run shell RedefineIntConstantToLong.sh
-
-compileOptions=-g
-compileOptions2=-g
-
-# Uncomment this to see the JDI trace
-#jdbOptions=-dbgtrace
-
-createJavaFile()
-{
-    cat <<EOF > $1.java.1
-
-public final class $1 {
-
-    public long m1(int i) {
-        long r=0;
-        r = m2(i * 2); // @1 commentout
-        // @1 uncomment      r =m2(i * 2L);
-        return r;
-    }
-
-    public long m2(int j) {
-        System.out.println(System.getProperty("line.separator") +
-                           "**** public long m2(int j) with value: " + j);
-        return j;
-    }
-
-    public long m2(long j) {
-        System.out.println(System.getProperty("line.separator") +
-                           "**** public long m2(long j) with value: " + j);
-        return j;
-    }
-
-    public void doit() throws Exception {
-        long r1 = 0;
-        long r2;
-        r1 = m1(1000);
-        r2 = 0;         // @1 breakpoint
-        r2 = m1(1000);
-        if (r1 != r2) { // @1 breakpoint
-             throw new Exception("FAILURE: Expected value: " + r1 + " Actual value: " + r2);
-        } else {
-             System.out.println("SUCCESS: Expected value: " + r1 + " Actual value: " + r2);
-        }
-    }
-
-    public static void main(String args[]) throws Exception {
-        new $1().doit();
-    }
-}
-EOF
-}
-
-# This is called to feed cmds to jdb.
-dojdbCmds()
-{
-    setBkpts @1
-    runToBkpt @1
-    redefineClass @1
-    setBkpts @1
-    contToBkpt
-    cmd where
-    cmd allowExit cont
-}
-
-
-mysetup()
-{
-    if [ -z "$TESTSRC" ] ; then
-        TESTSRC=.
-    fi
-
-    for ii in . $TESTSRC $TESTSRC/.. ; do
-        if [ -r "$ii/ShellScaffold.sh" ] ; then
-            . $ii/ShellScaffold.sh
-            break
-        fi
-    done
-}
-
-# You could replace this next line with the contents
-# of ShellScaffold.sh and this script will run just the same.
-mysetup
-
-runit
-
-jdbFailIfPresent 'FAILURE:'
-pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/RedefineMulti.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2002, 2018, 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 4724076
+ * @summary Redefine does not work in for/while loop
+ * @comment converted from test/jdk/com/sun/jdi/RedefineMulti.sh
+ *
+ * @library /test/lib
+ * @compile -g RedefineMulti.java
+ * @run main/othervm RedefineMulti
+ */
+
+/*
+ * The failure occurs when a method is active and
+ * a method that it calls multiple times is redefined
+ * more than once.
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+class RedefineMultiTarg {
+
+    String field1;
+    String field2;
+
+    // The first time thru the loop in start,
+    // "Before update..." should be printed.
+    // After the first redefine, "After update..." should be printed
+    // After the 2nd redefine, "abcde..." should be printed.
+    // The bug is that "After update..." is printed instead because
+    // stat() calls version 2 of doSomething() instead of
+    // version 3.
+    private void doSomething()  {
+        System.out.println("Before update...");  // @1 commentout
+        // @1 uncomment System.out.println("After update...");  // @2 commentout
+        // @2 uncomment System.out.println("abcde...");
+    }
+
+    public void start() {
+        for (int i=0; i < 3; i++)   {
+            doSomething();      // @1 breakpoint here  line 16
+            System.out.println("field1 = " + field1);
+            System.out.println("field2 = " + field2);
+        }
+        // Redefinex myx = new Redefinex();
+        //  for (int i = 0; i < 5; i++) {
+        //    myx.methodx1();                     // line 22
+        //    System.out.println("fieldx1 = " + myx.fieldx1);
+        //    System.out.println("fieldx2 = " + myx.fieldx2);
+        //  }
+    }
+
+    public static void main(String[] args) {
+        RedefineMultiTarg xxx = new RedefineMultiTarg();
+        xxx.field1 = "field1";
+        xxx.field2 = "field2";
+        xxx.start();
+    }
+}
+
+class Redefinex {
+    public String fieldx1;
+    public String fieldx2;
+
+    Redefinex() {
+        fieldx1 = "fieldx1";
+        fieldx2 = "fieldx2";
+    }
+
+    public void methodx1() {
+        System.out.println("redefinex 1");
+        //System.out.println("redefinex 2");
+        //System.out.println("redefinex 3");
+    }
+}
+
+/*********
+Steps to reproduce this problem:
+   a. add line breakpoint  in start()
+   b. debug
+   c. when breakpoint is hit, type continue. You should see output "Before update..."
+   d. change "Before update" to  "After update"
+   e. redefine,  and set line breakpoint (see step a)
+   f. type continue. You should see output "After update"
+   g. change "After update" to "abcde"
+   h. redefine, and set line breakpoint (see step a)
+   i.  type continue. The output is shown as "After update"
+   j. to see "abcde" output,  users will have to pop the stack, and re-execute method start().
+************/
+
+public class RedefineMulti extends JdbTest {
+
+    public static void main(String argv[]) {
+        new RedefineMulti().run();
+    }
+
+    private RedefineMulti() {
+        super(RedefineMultiTarg.class.getName(), "RedefineMulti.java");
+    }
+
+    @Override
+    protected void runCases() {
+        setBreakpoints(1);
+        jdb.command(JdbCommand.run());
+        jdb.command(JdbCommand.cont());
+        redefineClass(1, "-g");
+        setBreakpoints(1);
+        jdb.command(JdbCommand.cont());
+        redefineClass(2, "-g");
+        jdb.contToExit(1);
+
+        new OutputAnalyzer(getDebuggeeOutput())
+                .shouldNotContain("Internal exception:")
+                .shouldContain("abcde");
+    }
+}
--- a/test/jdk/com/sun/jdi/RedefineMulti.sh	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2002, 2014, 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 4724076
-#  @summary Redefine does not work in for/while loop
-#  @author Jim Holmlund/Swamy Venkataramanappa
-#
-#  The failure occurs when a method is active and
-#  a method that it calls multiple times is redefined
-#  more than once.
-#  @run shell/timeout=240 RedefineMulti.sh
-
-compileOptions=-g
-#java=java_g
-
-createJavaFile()
-{
-    cat <<EOF > $1.java.1
-
-public class $1 {
-
-    String field1;
-    String field2;
-
-    // The first time thru the loop in start,
-    // "Before update..." should be printed.
-    // After the first redefine, "After update..." should be printed
-    // After the 2nd redefine, "abcde..." should be printed.
-    // The bug is that "After update..." is printed instead because
-    // stat() calls version 2 of doSomething() instead of
-    // version 3.
-    private void doSomething()  {
-        System.out.println("Before update...");  // @1 commentout
-        // @1 uncomment System.out.println("After update...");  // @2 commentout
-        // @2 uncomment System.out.println("abcde...");
-    }
-
-    public void start() {
-        for (int i=0; i < 3; i++)   {
-            doSomething();      // @1 breakpoint here  line 16
-            System.out.println("field1 = " + field1);
-            System.out.println("field2 = " + field2);
-        }
-        // Redefinex myx = new Redefinex();
-        //  for (int i = 0; i < 5; i++) {
-        //    myx.methodx1();                     // line 22
-        //    System.out.println("fieldx1 = " + myx.fieldx1);
-        //    System.out.println("fieldx2 = " + myx.fieldx2);
-        //  }
-    }
-
-    public static void main(String[] args) {
-        $1 xxx = new $1();
-        xxx.field1 = "field1";
-        xxx.field2 = "field2";
-        xxx.start();
-    }
-}
-
-class Redefinex {
-    public String fieldx1;
-    public String fieldx2;
-
-    Redefinex() {
-        fieldx1 = "fieldx1";
-        fieldx2 = "fieldx2";
-    }
-
-    public void methodx1() {
-        System.out.println("redefinex 1");
-        //System.out.println("redefinex 2");
-        //System.out.println("redefinex 3");
-    }
-     
-}
-
-    /*********
-Steps to reproduce this problem:
-   a. add line breakpoint  in start()
-   b. debug
-   c. when breakpoint is hit, type continue. You should see output
-"Before update..."
-   d. change "Before update" to  "After update"
-   e. redefine,  and set line breakpoint (see step a)
-   f. type continue. You should see output "After update"
-   g. change "After update" to "abcde"
-   h. redefine, and set line breakpoint (see step a)
-   i.  type continue. The output is shown as "After update"
-
-   j. to see "abcde" output,  users will have to pop the stack, and
-re-execute method start().
-    ************/
-EOF
-}
-
-# This is called to feed cmds to jdb.
-dojdbCmds()
-{
-    setBkpts @1
-    runToBkpt @1
-    contToBkpt
-    redefineClass @1
-    setBkpts @1
-    contToBkpt
-    redefineClass @2
-    cmd allowExit cont
-}
-
-
-mysetup()
-{
-    if [ -z "$TESTSRC" ] ; then
-        TESTSRC=.
-    fi
-
-    for ii in . $TESTSRC $TESTSRC/.. ; do
-        if [ -r "$ii/ShellScaffold.sh" ] ; then
-            . $ii/ShellScaffold.sh 
-            break
-        fi
-    done
-}
-
-# You could replace this next line with the contents
-# of ShellScaffold.sh and this script will run just the same.
-mysetup
-
-runit
-debuggeeFailIfPresent "Internal exception:"
-debuggeeFailIfNotPresent "abcde"
-pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/RedefinePop.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2002, 2018, 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 4622663
+ * @summary redefine and pop top frame from jdb gets assertion failure
+ * @comment converted from test/jdk/com/sun/jdi/RedefinePop.sh
+ *
+ * @library /test/lib
+ * @compile -g RedefinePop.java
+ * @run main/othervm RedefinePop
+ */
+
+/*
+ * The failure occurs with debug java when the pop deletes the
+ * line that called the method which is being popped.
+ */
+
+/*
+ * assert(index<len, "should have found method")
+ * [8] report_assertion_failure(0xfe2a54d9, 0xfe2a54e3, 0x2cc, 0xfe2a5527, 0xfffffff8, 0x3f2b8), at 0xfda1e5e8
+ * [9] methodOopDesc::jni_id(0xf590a2f0, 0x3e868, 0x8, 0xffbed760, 0xf590a3ac, 0xffbed664), at 0xfdcd7a2c
+ * [10] JvmdiThreadState::compare_and_set_current_location(0x3f450, 0xf590a2f0, 0xf590a33f, 0x1, 0x1, 0x3e868), at 0xfdc0f670
+ * [11] jvmdi::at_single_stepping_point(0x3e868, 0xf590a2f0, 0xf590a33f, 0x5, 0x0, 0x0), at 0xfdc29184
+ * [12] InterpreterRuntime::at_safepoint(0x3e868, 0xb6, 0x2, 0xf9c28744, 0xf590a038, 0xffbed880), at 0xfdb0d590
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+class RedefinePopTarg {
+    static public void main(String[] args) {
+        RedefinePopTarg mine = new RedefinePopTarg();
+        mine.a1(44);   // @1 delete the call that we are in when the pop occurs
+        mine.a4();
+    }
+
+    public void a1(int p1) {
+        System.out.println("a1: @1 breakpoint here");
+    }
+
+    public void a4() {
+        System.out.println("a4: The next line should not say Ni!");
+        System.out.println("a4: Ni!");   // @1 delete
+    }
+}
+
+public class RedefinePop extends JdbTest {
+
+    public static void main(String argv[]) {
+        new RedefinePop().run();
+    }
+
+    private RedefinePop() {
+        super(RedefinePopTarg.class.getName(), "RedefinePop.java");
+    }
+
+    @Override
+    protected void runCases() {
+        setBreakpoints(1);
+        jdb.command(JdbCommand.run());
+        redefineClass(1, "-g");
+        jdb.command(JdbCommand.pop());
+        jdb.contToExit(1);
+
+        new OutputAnalyzer(getDebuggeeOutput())
+                .shouldNotContain("Internal exception:");
+    }
+}
--- a/test/jdk/com/sun/jdi/RedefinePop.sh	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2002, 2014, 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 4622663
-#  @summary redefine and pop top frame from jdb gets assertion failure
-#  @author Jim Holmlund/Swamy Venkataramanappa
-#
-#  The failure occurs with debug java when the pop deletes the
-#  line that called the method which is being popped.
-#  @key intermittent
-#  @run shell RedefinePop.sh
-
-
-# assert(index<len, "should have found method")
-#  [8] report_assertion_failure(0xfe2a54d9, 0xfe2a54e3, 0x2cc, 0xfe2a5527, 0xfffffff8, 0x3f2b8), at 0xfda1e5e8
-# [9] methodOopDesc::jni_id(0xf590a2f0, 0x3e868, 0x8, 0xffbed760, 0xf590a3ac, 0xffbed664), at 0xfdcd7a2c
- # [10] JvmdiThreadState::compare_and_set_current_location(0x3f450, 0xf590a2f0, 0xf590a33f, 0x1, 0x1, 0x3e868), at 0xfdc0f670
-#  [11] jvmdi::at_single_stepping_point(0x3e868, 0xf590a2f0, 0xf590a33f, 0x5, 0x0, 0x0), at 0xfdc29184
-#  [12] InterpreterRuntime::at_safepoint(0x3e868, 0xb6, 0x2, 0xf9c28744, 0xf590a038, 0xffbed880), at 0xfdb0d590
-
-# These are variables that can be set to control execution
-
-compileOptions=-g
-
-createJavaFile()
-{
-    cat <<EOF > $1.java.1
-
-public class $1 {
-    static public void main(String[] args) {
-       $1 mine = new $1();
-       mine.a1(44);   // @1 delete the call that we are in when the pop occurs
-       mine.a4();
-    }
-
-    public void a1(int p1) {
-      System.out.println("a1: @1 breakpoint here");
-    }
-
-    public void a4() {
-      System.out.println("a4: The next line should not say Ni!");
-      System.out.println("a4: Ni!");   // @1 delete
-    }
-}
-EOF
-}
-
-# This is called to feed cmds to jdb.
-dojdbCmds()
-{
-    setBkpts @1
-    runToBkpt @1
-    redefineClass @1
-    cmd pop
-    cmd allowExit cont
-}
-
-
-mysetup()
-{
-    if [ -z "$TESTSRC" ] ; then
-        TESTSRC=.
-    fi
-
-    for ii in . $TESTSRC $TESTSRC/.. ; do
-        if [ -r "$ii/ShellScaffold.sh" ] ; then
-            . $ii/ShellScaffold.sh 
-            break
-        fi
-    done
-}
-
-# You could replace this next line with the contents
-# of ShellScaffold.sh and this script will run just the same.
-mysetup
-
-runit
-debuggeeFailIfPresent "Internal exception:"
-pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/RedefineStep.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2002, 2018, 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 4689395
+ * @summary "step over" after a class is redefined acts like "step out"
+ * @comment converted from test/jdk/com/sun/jdi/RedefineStep.sh
+ *
+ * @library /test/lib
+ * @compile -g RedefineStep.java
+ * @run main/othervm RedefineStep
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+class RedefineStepTarg {
+    static int counter;
+    static public void main(String[] args) {
+        RedefineStepTarg mine = new RedefineStepTarg();
+        mine.a1(10);
+        System.out.println("done");  // should not see this
+    }
+
+    public void a1(int p1) {
+        System.out.println("jj0");   // @1 breakpoint   line 10
+        a2();
+        System.out.println("jj3");    // @1 delete
+    }
+    public void a2() {
+        System.out.println("a2");
+    }
+}
+
+public class RedefineStep extends JdbTest {
+
+    public static void main(String argv[]) {
+        new RedefineStep().run();
+    }
+
+    private RedefineStep() {
+        super(RedefineStepTarg.class.getName(), "RedefineStep.java");
+    }
+
+    @Override
+    protected void runCases() {
+        setBreakpoints(1);
+        jdb.command(JdbCommand.run());
+        redefineClass(1, "-g");
+
+        jdb.command(JdbCommand.next());
+        jdb.command(JdbCommand.next());
+        jdb.command(JdbCommand.next());
+        jdb.command(JdbCommand.next());
+        jdb.command(JdbCommand.next());
+
+        new OutputAnalyzer(getJdbOutput())
+                .shouldNotContain("should not see this");
+    }
+}
--- a/test/jdk/com/sun/jdi/RedefineStep.sh	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2002, 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 4689395
-#  @summary "step over" after a class is redefined acts like "step out"
-#  @author Jim Holmlund
-#  @key intermittent
-#  @run shell RedefineStep.sh
-#
-
-#pkg=untitled7
-classname=gus1
-compileOptions=-g
-#java=java_g
-
-# Uncomment this to see the JDI trace
-#jdbOptions=-dbgtrace
-
-createJavaFile()
-{
-    cat <<EOF > $1.java.1
-
-public class $1 {
-    static int counter;
-    static public void main(String[] args) {
-       $1 mine = new $1();
-       mine.a1(10);
-       System.out.println("done");  // should not see this
-    }
-
-    public void a1(int p1) {
-        System.out.println("jj0");   // @1 breakpoint   line 10
-        a2();
-        System.out.println("jj3");    // @1 delete
-    }
-    public void a2() {
-        System.out.println("a2");
-    }
-}
-EOF
-}
-
-# This is called to feed cmds to jdb.
-dojdbCmds()
-{
-    setBkpts @1
-    runToBkpt @1
-    redefineClass @1
-
-    cmd next
-    cmd next
-    cmd next
-    cmd next
-    cmd next
-}
-
-
-mysetup()
-{
-    if [ -z "$TESTSRC" ] ; then
-        TESTSRC=.
-    fi
-
-    for ii in . $TESTSRC $TESTSRC/.. ; do
-        if [ -r "$ii/ShellScaffold.sh" ] ; then
-            . $ii/ShellScaffold.sh 
-            break
-        fi
-    done
-}
-
-# You could replace this next line with the contents
-# of ShellScaffold.sh and this script will run just the same.
-mysetup
-
-runit
-
-jdbFailIfPresent 'should not see this'
-pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/RedefineTTYLineNumber.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2002, 2018, 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 4660756
+ * @summary TTY: Need to clear source cache after doing a redefine class
+ * @comment converted from test/jdk/com/sun/jdi/RedefineTTYLineNumber.sh
+ *
+ * @library /test/lib
+ * @compile -g RedefineTTYLineNumber.java
+ * @run main/othervm RedefineTTYLineNumber
+ */
+
+import jdk.test.lib.Asserts;
+import jdk.test.lib.process.OutputAnalyzer;
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+class RedefineTTYLineNumberTarg {
+
+    public void B() {
+        System.out.println("in B: @1 delete"); // delete 1 line before A method
+    }
+
+    public void A() {
+        System.out.println("expected statement printed by jdb");
+    }
+
+    public static void main(String[] args) {
+        RedefineTTYLineNumberTarg untitled41 = new RedefineTTYLineNumberTarg();
+        untitled41.A();
+        System.out.println("done");
+    }
+}
+
+public class RedefineTTYLineNumber extends JdbTest {
+
+    public static void main(String argv[]) {
+        new RedefineTTYLineNumber().run();
+    }
+
+    private RedefineTTYLineNumber() {
+        super(DEBUGGEE_CLASS, SOURCE_FILE);
+    }
+
+    private final static String DEBUGGEE_CLASS = RedefineTTYLineNumberTarg.class.getName();
+    private final static String SOURCE_FILE = "RedefineTTYLineNumber.java";
+
+    // parses line number from the jdb "Breakpoint hit" message
+    private static int parseLineNum(String s) {
+        // Breakpoint hit: "thread=main", RedefineTTYLineNumberTarg.A(), line=49 bci=0
+        // 49            System.out.println("expected statement printed by jdb");
+        Matcher m = Pattern.compile("\\bline=(\\d+)\\b").matcher(s);
+        if (!m.find()) {
+            throw new RuntimeException("could not parse line number");
+        }
+        return Integer.parseInt(m.group(1));
+    }
+
+    private void verifyBPSource(int n, String reply) {
+        if (!reply.contains("expected statement printed by jdb")) {
+            throw new RuntimeException("Breakpoint source (" + n + ") is not correct");
+        }
+    }
+
+    @Override
+    protected void runCases() {
+        jdb.command(JdbCommand.stopIn(DEBUGGEE_CLASS, "A"));
+        String bp1Reply = execCommand(JdbCommand.run()).getStdout();
+        int bp1Line = parseLineNum(bp1Reply);
+        redefineClass(1, "-g");
+        jdb.command(JdbCommand.pop());
+        jdb.command(JdbCommand.stopIn(DEBUGGEE_CLASS, "A"));
+        String bp2Reply = execCommand(JdbCommand.cont()).getStdout();
+        int bp2Line = parseLineNum(bp2Reply);
+
+        new OutputAnalyzer(getDebuggeeOutput())
+                .shouldNotContain("Internal exception:");
+        // 1 line is deleted before RedefineTTYLineNumberTarg.A(),
+        // so bp2Line should be equals bp1Line-1
+        Asserts.assertEquals(bp2Line, bp1Line - 1, "BP line numbers");
+        verifyBPSource(1, bp1Reply);
+        // uncomment the following line to reproduce JDK-8210927
+        //verifyBPSource(2, bp2Reply);
+    }
+}
--- a/test/jdk/com/sun/jdi/RedefineTTYLineNumber.sh	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2002, 2014, 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 4660756
-#  @summary TTY: Need to clear source cache after doing a redefine class
-#  @author Jim Holmlund
-#  @key intermittent
-#  @run shell/timeout=240 RedefineTTYLineNumber.sh
-
-#set -x
-# These are variables that can be set to control execution
-
-#pkg=untitled7
-#classname=Untitled3
-compileOptions=-g
-#java=java_g
-
-createJavaFile()
-{
-    cat <<EOF > $1.java.1
-
-public class $1 {
-
-  public void B() {
-    System.out.println("in B");
-    System.out.println("in B: @1 delete");
-  }
-
-  // line number sensitive!!! Next line must be line 10.
-  public void A() {
-    System.out.println("in A, about to call B");  // 11 before, 10 afterward
-    System.out.println("out from B");
-  }
-
-  public static void main(String[] args) {
-    $1 untitled41 = new $1();
-    untitled41.A();
-    System.out.println("done");
-  }
-}
-EOF
-}
-
-# This is called to feed cmds to jdb.
-dojdbCmds()
-{
-    cmd stop in shtest.A
-    runToBkpt
-    #jdbFailIfNotPresent "System\.out\.println" 3
-    redefineClass @1
-    cmd pop
-    cmd stop in shtest.A
-    contToBkpt
-    #jdbFailIfNotPresent "System\.out\.println" 3
-}
-
-
-mysetup()
-{
-    if [ -z "$TESTSRC" ] ; then
-        TESTSRC=.
-    fi
-
-    if [ -r $TESTSRC/ShellScaffold.sh ] ; then
-        . $TESTSRC/ShellScaffold.sh 
-    elif [ -r $TESTSRC/../ShellScaffold.sh ] ; then
-        . $TESTSRC/../ShellScaffold.sh
-    fi
-}
-
-# You could replace this next line with the contents
-# of ShellScaffold.sh and this script will run just the same.
-mysetup
-
-runit
-debuggeeFailIfPresent "Internal exception:"
-pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/StringConvertTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2002, 2018, 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 4511950 4843082
+ * @summary 1. jdb's expression evaluation doesn't perform string conversion properly
+ *          2. TTY: run on expression evaluation
+ * @comment converted from test/jdk/com/sun/jdi/StringConvertTest.sh
+ *
+ * @library /test/lib
+ * @compile -g StringConvertTest.java
+ * @run main/othervm StringConvertTest
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+class StringConvertTarg {
+    String me;
+    static JJ1 x1;
+    static JJ2 x2;
+    static JJ2[] x3 = new JJ2[2];
+    static String x4 = "abc";
+    static int ii = 89;
+    static String grower = "grower";
+    static StringBuffer sbGrower = new StringBuffer("sbGrower");
+    int ivar = 89;
+    StringConvertTarg(String xx) {
+        me = xx;
+    }
+
+    static String fred() {
+        return "a static method";
+    }
+
+    void  gus() {
+        int gusLoc = 1;
+        StringBuffer sbTim = new StringBuffer("tim");
+        int kk = 1;                          //@1 breakpoint
+    }
+
+    static String growit(String extra) {
+        grower += extra;
+        return grower;
+    }
+
+    static String sbGrowit(String extra) {
+        sbGrower.append(extra);
+        return sbGrower.toString();
+    }
+
+    public static void main(String[] args) {
+        x1 = new JJ1("first JJ1");
+        x2 = new JJ2("first JJ2");
+        x3[0] = new JJ2("array0");
+        x3[1] = new JJ2("array1");
+        StringConvertTarg loc1 = new StringConvertTarg("first me");
+
+        // These just show what output should look like
+        System.out.println("x1 = " + x1);
+        System.out.println("x2 = " + x2);
+        System.out.println("x3.toString = " + x3.toString());
+        System.out.println("x4.toString = " + x4.toString());
+
+        // Dont want to call growit since it would change
+        // the value.
+
+        System.out.println("loc1 = " + loc1);
+        System.out.println("-" + loc1);
+        loc1.gus();
+     }
+
+    // This does not have a toString method
+    static class JJ1 {
+        String me;
+
+        JJ1(String whoAmI) {
+            me = whoAmI;
+        }
+    }
+
+    // This has a toString method
+    static class JJ2 {
+        String me;
+
+        JJ2(String whoAmI) {
+            me = whoAmI;
+        }
+        public String toString() {
+            return me;
+        }
+
+        public int meth1() {
+            return 89;
+        }
+    }
+}
+
+public class StringConvertTest extends JdbTest {
+    public static void main(String argv[]) {
+        new StringConvertTest().run();
+    }
+
+    private StringConvertTest() {
+        super(DEBUGGEE_CLASS, SOURCE_FILE);
+    }
+
+    private static final String DEBUGGEE_CLASS = StringConvertTarg.class.getName();
+    private static final String SOURCE_FILE = "StringConvertTest.java";
+
+    @Override
+    protected void runCases() {
+        setBreakpoints(1);
+        // Run to breakpoint #1
+        jdb.command(JdbCommand.run());
+
+        // Each print without the 'toString()' should print the
+        // same thing as the following print with the toString().
+        // The "print 1"s are just spacers
+        jdb.command(JdbCommand.print("StringConvertTarg.x1"));
+        jdb.command(JdbCommand.print("StringConvertTarg.x1.toString()"));
+        jdb.command(JdbCommand.print("1"));
+
+        jdb.command(JdbCommand.print("StringConvertTarg.x2"));
+        jdb.command(JdbCommand.print("StringConvertTarg.x2.toString()"));
+        jdb.command(JdbCommand.print("1"));
+
+        // arrays is a special case.
+        // StringConvertTarg prints:
+        //      x3.toString = [LStringConvertTarg$JJ2;@61443d8f
+        // jdb "print ((Object)StringConvertTarg.x3).toString()" prints:
+        //      com.sun.tools.example.debug.expr.ParseException:
+        //              No instance field or method with the name toString in StringConvertTarg$JJ2[]
+        //      ((Object)StringConvertTarg.x3).toString() = null
+        // jdb "print (Object)(StringConvertTarg.x3)" prints:
+        //      (Object)(StringConvertTarg.x3) = instance of StringConvertTarg$JJ2[2] (id=624)
+        /*
+        jdb.command(JdbCommand.print("(Object)(StringConvertTarg.x3)"));
+        jdb.command(JdbCommand.print("((Object)StringConvertTarg.x3).toString()"));
+        jdb.command(JdbCommand.print("1"));
+        */
+
+        jdb.command(JdbCommand.print("StringConvertTarg.x4"));
+        jdb.command(JdbCommand.print("StringConvertTarg.x4.toString()"));
+        jdb.command(JdbCommand.print("1"));
+
+        // Make sure jdb doesn't call a method multiple times.
+        jdb.command(JdbCommand.print("StringConvertTarg.growit(\"xyz\")"));
+        jdb.command(JdbCommand.eval("StringConvertTarg.sbGrower.append(\"xyz\")"));
+        jdb.command(JdbCommand.print("1"));
+
+        jdb.command(JdbCommand.eval("sbTim.toString()"));
+        jdb.command(JdbCommand.print("1"));
+
+        jdb.command(JdbCommand.print("this"));
+        jdb.command(JdbCommand.print("this.toString()"));
+        jdb.command(JdbCommand.print("1"));
+
+        // A possible bug is that this ends up with multiple "s
+        jdb.command(JdbCommand.print("\"--\"StringConvertTarg.x1"));
+        jdb.command(JdbCommand.print("1"));
+
+        // This too
+        jdb.command(JdbCommand.print("StringConvertTarg.x4 + 2"));
+        jdb.command(JdbCommand.print("1"));
+
+        jdb.command(JdbCommand.print("this.ivar"));
+        jdb.command(JdbCommand.print("gusLoc"));
+        jdb.command(JdbCommand.print("1"));
+
+        new OutputAnalyzer(jdb.getJdbOutput())
+                .shouldNotContain("\"\"")
+                .shouldNotContain("instance of")
+                .shouldNotContain("xyzxyz");
+    }
+}
--- a/test/jdk/com/sun/jdi/StringConvertTest.sh	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2002, 2014, 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 4511950 4843082
-#  @summary 1. jdb's expression evaluation doesn't perform string conversion properly
-#           2. TTY: run on expression evaluation
-#  @author jim/suvasis mukherjee
-#
-#  @key intermittent
-#  @run shell StringConvertTest.sh
-
-#  Run this script to see the bug.  See comments at the end
-#  of the .java file for info on what the bug looks like.
-
-# These are variables that can be set to control execution
-
-#pkg=untitled7
-classname=StringConvertTest
-compileOptions=-g
-#java=java_g
-#mode=-Xcomp
-
-#jdbOptions=-dbgtrace
-createJavaFile()
-{
-    cat <<EOF > $1.java.1
-
-class $classname {
-    String me;
-    static JJ1 x1;
-    static JJ2 x2;
-    static JJ2[] x3 = new JJ2[2];
-    static String x4 = "abc";
-    static int ii = 89;
-    static String grower = "grower";
-    static StringBuffer sbGrower = new StringBuffer("sbGrower");
-    int ivar = 89;
-    $classname(String xx) {
-        me = xx;
-    }
-
-    static String fred() {
-        return "a static method";
-    }
-
-    void  gus() {
-        int gusLoc = 1;
-        StringBuffer sbTim = new StringBuffer("tim");
-        int kk = 1;                          //@1 breakpoint
-    }
-
-    static String growit(String extra) {
-        grower += extra;
-        return grower;
-    }
-
-    static String sbGrowit(String extra) {
-        sbGrower.append(extra);
-        return sbGrower.toString();
-    }
-
-    public static void main(String[] args) {
-        x1 = new JJ1("first JJ1");
-        x2 = new JJ2("first JJ2");
-        x3[0] = new JJ2("array0");
-        x3[1] = new JJ2("array1");
-        $classname  loc1 = new $classname("first me");
-        
-        // These just show what output should look like
-        System.out.println("x1 = " + x1);
-        System.out.println("x2 = " + x2);
-        System.out.println("x3.toString = " + x3.toString());
-        System.out.println("x4.toString = " + x4.toString());
-
-        // Dont want to call growit since it would change
-        // the value.
-
-        System.out.println("loc1 = " + loc1);
-        System.out.println("-" + loc1);
-        loc1.gus();
-     }
-
-  // This does not have a toString method
-  static class JJ1 {
-    String me;
-
-    JJ1(String whoAmI) {
-        me = whoAmI;
-    }
-  }
-
-  // This has a toString method
-  static class JJ2 {
-    String me;
-
-    JJ2(String whoAmI) {
-        me = whoAmI;
-    }
-    public String toString() {
-        return me;
-    }
-
-    public int meth1() {
-        return 89;
-    }
-  }
-}
-
-EOF
-}
-
-# This is called to feed cmds to jdb.
-dojdbCmds()
-{
-    setBkpts @1
-    runToBkpt @1
-
-    # Each print without the 'toString()' should print the
-    # same thing as the following print with the toString().
-    # The print 1s are just spacers
-
-    cmd print $classname.x1
-    cmd print "$classname.x1.toString()"
-    cmd print 1
-
-    cmd print $classname.x2
-    cmd print "$classname.x2.toString()"
-    cmd print 1
-
-    # An unreported bug: this isn't handled correctly.
-    # If we uncomment this line, we will get an 'instance of...'  line
-    # which will cause the test to fail.
-    #cmd print "(Object)($classname.x3)"
-    cmd print "((Object)$classname.x3).toString()"
-    cmd print 1
-
-    cmd print $classname.x4
-    cmd print "$classname.x4.toString()"
-    cmd print 1
-
-    # Make sure jdb doesn't call a method multiple times.
-    cmd print "$classname.growit(\"xyz\")"
-    cmd eval  "$classname.sbGrower.append(\"xyz\")"
-    cmd print 1
-
-    cmd eval "sbTim.toString()"
-    cmd print 1
-
-    cmd print this
-    cmd print "this.toString()"
-    cmd print 1
-
-    # A possible bug is that this ends up with multiple "s
-    cmd print '"--" + '$classname.x1
-    cmd print 1
-
-    # This too
-    cmd print "$classname.x4 + 2"
-    cmd print 1
-
-    cmd print "this.ivar"
-    cmd print gusLoc
-    cmd print 1
-}
-
-mysetup()
-{
-    if [ -z "$TESTSRC" ] ; then
-        TESTSRC=.
-    fi
-
-    for ii in . $TESTSRC $TESTSRC/.. ; do
-        if [ -r "$ii/ShellScaffold.sh" ] ; then
-            . $ii/ShellScaffold.sh
-            break
-        fi
-    done
-}
-
-# You could replace this next line with the contents
-# of ShellScaffold.sh and this script will run just the same.
-mysetup
-
-runit
-jdbFailIfPresent '""'
-jdbFailIfPresent 'instance of'
-jdbFailIfPresent 'xyzxyz'
-pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/WatchFramePop.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2002, 2018, 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 4546478
+ * @summary Enabling a watchpoint can kill following NotifyFramePops
+ * @comment converted from test/jdk/com/sun/jdi/WatchFramePop.sh
+ *
+ * @library /test/lib
+ * @run main/othervm WatchFramePop
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+class WatchFramePopTarg {
+    int watchMe;
+    static public void main(String[] args) {
+        System.out.println("In Main");
+        WatchFramePopTarg mine = new WatchFramePopTarg();
+        mine.a1();
+        System.out.println("Test completed");
+    }
+
+    public void a1() {
+        a2();                           // @1 breakpoint. We'll do a watch of watchMe here
+    }
+
+    public void a2() {
+        System.out.println("in a2");
+        a3();
+    }                                   // line 18
+
+    public void a3() {
+        System.out.println("in a3");    // After the watch, we'll run to here, line 21
+        a4();                           // We'll do a 'next' to here.  The failure is that this
+    }                                   // runs to completion, or asserts with java_g
+
+    public void a4() {
+        System.out.println("in a4");
+    }
+
+}
+
+public class WatchFramePop extends JdbTest {
+    public static void main(String argv[]) {
+        new WatchFramePop().run();
+    }
+
+    private WatchFramePop() {
+        super(DEBUGGEE_CLASS, SOURCE_FILE);
+    }
+
+    private static final String DEBUGGEE_CLASS = WatchFramePopTarg.class.getName();
+    private static final String SOURCE_FILE = "WatchFramePop.java";
+
+    @Override
+    protected void runCases() {
+        setBreakpoints(1);
+        jdb.command(JdbCommand.run());
+        jdb.command(JdbCommand.watch(DEBUGGEE_CLASS, "watchMe"));
+        jdb.command(JdbCommand.stopIn(DEBUGGEE_CLASS, "a3"));
+        jdb.command(JdbCommand.cont());                             // stops at the bkpt
+        jdb.command(JdbCommand.next());                             // The bug is that this next runs to completion
+        // In which case, so does jdb
+        // so we never get here.
+
+        new OutputAnalyzer(jdb.getJdbOutput())
+                .shouldNotContain("The application exited");
+    }
+}
--- a/test/jdk/com/sun/jdi/WatchFramePop.sh	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2002, 2014, 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 4546478
-#  @summary Enabling a watchpoint can kill following NotifyFramePops
-#  @author Jim Holmlund
-#
-#  @run shell WatchFramePop.sh
-
-# These are variables that can be set to control execution
-
-#pkg=untitled7
-#classname=Untitled3
-#compileOptions=-g
-#java="java_g"
-
-createJavaFile()
-{
-    cat <<EOF > $1.java.1
-
-public class $1 {
-    int watchMe;
-    static public void main(String[] args) {
-       System.out.println("In Main");
-       $1 mine = new $1();
-       mine.a1();
-       System.out.println("Test completed");
-    }
-
-    public void a1() {
-      a2();                            // @1 breakpoint. We'll do a watch of watchMe here
-    }
-
-    public void a2() {
-      System.out.println("in a2");
-      a3();
-    }                                  // line 18
-
-    public void a3() {
-      System.out.println("in a3");     // After the watch, we'll run to here, line 21
-      a4();                            // We'll do a 'next' to here.  The failure is that this
-    }                                  // runs to completion, or asserts with java_g
-                                       
-
-    public void a4() {
-      System.out.println("in a4");
-    }
-
-}
-EOF
-}
-
-# drive jdb by sending cmds to it and examining its output
-dojdbCmds()
-{
-    setBkpts @1
-    runToBkpt @1
-    cmd watch  shtest.watchMe
-    cmd stop in shtest.a3   # bkpt at line 17
-    contToBkpt              # stops at the bkpt at 
-    cmd next                # The bug is that this next runs to completion
-                            # In which case, so does jdb
-                            # so we never get here.
-}
-
-
-mysetup()
-{
-    if [ -z "$TESTSRC" ] ; then
-        TESTSRC=.
-    fi
-
-    for ii in . $TESTSRC $TESTSRC/.. ; do
-        if [ -r "$ii/ShellScaffold.sh" ] ; then
-            . $ii/ShellScaffold.sh 
-            break
-        fi
-    done
-}
-
-# You could replace this next line with the contents
-# of ShellScaffold.sh and this script will run just the same.
-mysetup
-
-runit
-jdbFailIfPresent 'The application exited'
-pass
--- a/test/jdk/com/sun/jdi/lib/jdb/Jdb.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/com/sun/jdi/lib/jdb/Jdb.java	Mon Sep 24 10:59:26 2018 -0700
@@ -73,9 +73,9 @@
 
     private static final String lineSeparator = System.getProperty("line.separator");
     // wait time before check jdb output (in ms)
-    private static long sleepTime = 1000;
+    private static final long sleepTime = 1000;
     // max time to wait for  jdb output (in ms)
-    private static long timeout = 60000;
+    private static final long timeout = Utils.adjustTimeout(60000);
 
     // pattern for message of a breakpoint hit
     public static final String BREAKPOINT_HIT = "Breakpoint hit:";
@@ -215,7 +215,7 @@
             throw new RuntimeException("Attempt to send command '" + cmd.cmd + "' to terminated jdb");
         }
 
-        System.out.println("> " + cmd.cmd);
+        log("> " + cmd.cmd);
 
         inputWriter.println(cmd.cmd);
 
@@ -251,13 +251,13 @@
         command(JdbCommand.quit());
     }
 
-    private void log(String s) {
+    void log(String s) {
         System.out.println(s);
     }
 
     private void logJdb(List<String> reply) {
         jdbOutput.addAll(reply);
-        reply.forEach(s -> System.out.println("[jdb] " + s));
+        reply.forEach(s -> log("[jdb] " + s));
     }
 
     // returns the whole jdb output as a string
--- a/test/jdk/com/sun/jdi/lib/jdb/JdbTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/com/sun/jdi/lib/jdb/JdbTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -94,6 +94,11 @@
         try {
             setup();
             runCases();
+        } catch (Throwable e) {
+            jdb.log("=======================================");
+            jdb.log("Exception thrown during test execution: " + e.getMessage());
+            jdb.log("=======================================");
+            throw e;
         } finally {
             shutdown();
         }
--- a/test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.java	Mon Sep 24 10:59:26 2018 -0700
@@ -21,8 +21,8 @@
  * questions.
  */
 
-import static jdk.testlibrary.Asserts.assertTrue;
-import static jdk.testlibrary.Asserts.fail;
+import static jdk.test.lib.Asserts.assertTrue;
+import static jdk.test.lib.Asserts.fail;
 
 import java.io.File;
 import java.lang.management.*;
@@ -37,9 +37,7 @@
  * @test
  * @bug 6455258
  * @summary Sanity test for com.sun.management.HotSpotDiagnosticMXBean.dumpHeap method
- * @library /lib/testlibrary
  * @library /test/lib
- * @build jdk.testlibrary.*
  * @build jdk.test.lib.hprof.*
  * @build jdk.test.lib.hprof.model.*
  * @build jdk.test.lib.hprof.parser.*
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a null Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a null Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a hidden Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a hidden Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a visible Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogAppModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a visible Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a null Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a null Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a hidden Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a hidden Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a visible Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a visible Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal7Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogDocModal7Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @bug 8054359 7186009
  * @summary Check whether a FileDialog set to document modality behaves as expected.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a null Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a null Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a hidden Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a hidden Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a visible Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a visible Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a null Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a null Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a hidden Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a hidden Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a visible Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          created with a visible Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal7Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogNonModal7Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @bug 8054359
  * @summary Check whether a modeless FileDialog behaves as expected.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a null Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a null Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a hidden Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a hidden Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a visible Frame constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          created with a visible Dialog constructor. Also check if other
  *          windows are blocked by the FileDialog too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal7Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/FileDialog/FileDialogTKModal7Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @bug 8054359 7186009
  * @summary Check whether a FileDialog set to toolkit modality behaves as expected.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDAppModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDAppModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of blocking behavior for the parent Dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDDocModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDDocModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of blocking behavior for the parent Dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDModelessTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDModelessTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of blocking behavior for the parent Dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDNonModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDNonModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          and respond to key events. Check also the correctness
  *          of blocking behavior for the parent Dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDSetModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDSetModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events. Check also the correctness
  *          of blocking behavior for the parent Dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -22,7 +22,7 @@
  */
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 // DD: Dialog -> Dialog
 
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDToolkitModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDDToolkitModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of blocking behavior for the parent Dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFAppModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFAppModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of blocking behavior for the parent Frame.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFSetModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFSetModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of blocking behavior for the parent Frame.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 // DF: Dialog -> Frame
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFToolkitModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFToolkitModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of blocking behavior for the parent Frame.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWModeless1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWModeless1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also if the other windows
  *          receive mouse and key events.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWModeless2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWModeless2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also if the other windows
  *          receive mouse and key events.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWNonModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWNonModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events. Check also if the other windows
  *          receive mouse and key events.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWNonModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWNonModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events. Check also if the other windows
  *          receive mouse and key events.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFWTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 import java.awt.*;
 import java.awt.event.KeyEvent;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 // DFW: Dialog -> Frame -> Window
 
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDocModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDocModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 /*
@@ -34,7 +34,8 @@
  *          whether all the windows lying down the document root
  *          (Frame) get blocked.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDAppModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDAppModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of the blocking behavior for the parent Frame.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDDocModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDDocModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of the blocking behavior for the parent Frame.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDModelessTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDModelessTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of the blocking behavior for the parent Frame.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDNonModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDNonModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events. Check also the correctness
  *          of the blocking behavior for the parent Frame.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDSetModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDSetModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events. Check also the correctness
  *          of the blocking behavior for the parent Frame.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -22,7 +22,7 @@
  */
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 // FD: Frame -> Dialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDToolkitModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDToolkitModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events. Check also the correctness
  *          of the blocking behavior for the parent Frame.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWModeless1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWModeless1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWModeless2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWModeless2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWModeless3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWModeless3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWModeless4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWModeless4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Check also the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingFDWTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 // FDW: Frame -> Dialog -> Window
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsDocModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsDocModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsDocModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsDocModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsDocModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsDocModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -24,7 +24,7 @@
 
 import java.awt.*;
 import java.awt.event.KeyEvent;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 import java.util.List;
 import java.util.ArrayList;
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -21,7 +21,7 @@
  * questions.
  */
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 import java.awt.*;
 import java.util.List;
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          and respond to key events, when there are other windows shown.
  *          Also check the correctness of blocking behavior for other windows shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogAppModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogAppModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether an application modal Dialog receives focus; check
  *          if its components receive focus and respond to key events
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogDocModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogDocModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a document modal Dialog receives focus; check
  *          if its components receive focus and respond to key events
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogModelessTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogModelessTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless Dialog receives focus; check
  *          if its components receive focus and respond to key events
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogNonModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogNonModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check whether a non-modal Dialog receives focus; check
  *          if its components receive focus and respond to key events
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogSetModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogSetModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check whether a modal Dialog receives focus; check
  *          if its components receive focus and respond to key events
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -22,7 +22,7 @@
  */
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 public class UnblockedDialogTest {
--- a/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogToolkitModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalBlockingTests/UnblockedDialogToolkitModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a toolkit modal Dialog receives focus; check
  *          if its components receive focus and respond to key events
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeDialogFileTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeDialogFileTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent dialog to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeDialogPageSetupTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeDialogPageSetupTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent dialog to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeDialogPrintSetupTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeDialogPrintSetupTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent dialog to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeFrameFileTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeFrameFileTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent frame to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeFramePageSetupTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeFramePageSetupTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent frame to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeFramePrintSetupTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ApplicationExcludeFramePrintSetupTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent frame to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ExcludeDialogTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ExcludeDialogTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -25,7 +25,7 @@
 import java.awt.event.*;
 import java.awt.print.*;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 public class ExcludeDialogTest implements AWTEventListener {
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ExcludeFrameTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ExcludeFrameTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -25,7 +25,7 @@
 import java.awt.event.*;
 import java.awt.print.*;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 public class ExcludeFrameTest implements AWTEventListener {
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeDialogFileTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeDialogFileTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent dialog to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeDialogPageSetupTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeDialogPageSetupTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent dialog to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeDialogPrintSetupTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeDialogPrintSetupTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent dialog to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeFrameFileTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeFrameFileTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent frame to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeFramePageSetupTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeFramePageSetupTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent frame to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeFramePrintSetupTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalExclusionTests/ToolkitExcludeFramePrintSetupTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          (it shouldn't). Checks also whether setting a parent frame to be
  *          modality excluded excludes its children from being blocked too.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFAppModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFAppModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          happens: an application modal dialog (D) having null frame owner is shown;
  *          a window having D as owner is shown; a frame is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFDocModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFDocModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          following happens: a document modal dialog (D) having null frame owner is shown;
  *          a window having D as owner is shown; a frame is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFModelessTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFModelessTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          following happens: a modeless dialog (D) having null frame owner is shown;
  *          a window having D as owner is shown; a frame is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFNonModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFNonModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          happens: a non-modal dialog (D) having null frame owner is shown; a window having D
  *          as owner is shown; a frame is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 import java.awt.*;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 // DWF: Dialog -> Window -> Frame
 public class FocusTransferDWFTest {
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsAppModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsAppModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          frame owner is shown; a dialog (D2) having D1 owner is shown; a dialog
  *          with a hidden frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsDocModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsDocModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          frame owner is shown; a dialog (D2) having D1 owner is shown; a dialog
  *          with a hidden frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsModelessTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsModelessTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          frame owner is shown; a dialog (D2) having D1 owner is shown; a dialog
  *          with a hidden frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsNonModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsNonModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          frame owner is shown; a dialog (D2) having D1 owner is shown; a dialog
  *          with a hidden frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWAppModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWAppModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a frame is shown; an application modal dialog (D)
  *          having a null frame owner is shown; a window having D as owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWDocModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWDocModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a frame is shown; a document modal dialog (D)
  *          having a null frame owner is shown; a window having D as owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWModelessTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWModelessTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a frame is shown; a modeless dialog (D)
  *          having a null frame owner is shown; a window having D as owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWNonModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWNonModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a frame is shown; a non-modal dialog (D)
  *          having a null frame owner is shown; a window having D as owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; an application modal dialog having
  *          a hidden dialog owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; an application modal dialog having
  *          a hidden frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; an application modal dialog having
  *          a null dialog owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; an application modal dialog having
  *          a null frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a document modal dialog having
  *          a hidden dialog owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a document modal dialog having
  *          a hidden frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a document modal dialog having
  *          a null dialog owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a document modal dialog having
  *          a null frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a modeless dialog having
  *          a hidden dialog owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a modeless dialog having
  *          a hidden frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a modeless dialog having
  *          a null dialog owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a modeless dialog having
  *          a null frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a non-modal dialog having
  *          a hidden dialog owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a non-modal dialog having
  *          a hidden frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a non-modal dialog having
  *          a null dialog owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          a frame (F) is shown; a window having F as owner is shown; a non-modal dialog having
  *          a null frame owner is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 // FWD: Frame -> Window -> Dialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFAppModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFAppModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a window having a hidden frame owner is shown;
  *          an application modal dialog having a frame (F) owner is shown; F is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFAppModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFAppModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          an application modal dialog having a null dialog owner is shown;
  *          a frame is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFAppModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFAppModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          an application modal dialog having F owner is shown; F is shown.
  *
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFDocModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFDocModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a window having a hidden frame owner is shown;
  *          a document modal dialog with a frame (F) owner is shown; F is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFDocModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFDocModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          a document modal dialog having a null dialog owner is shown;
  *          a frame is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFDocModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFDocModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a window having a frame (F) owner is shown;
  *          a document modal dialog having F owner is shown; F is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFModeless1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFModeless1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a window having a hidden frame owner is shown;
  *          a modeless dialog having a frame (F) owner is shown; F is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFModeless2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFModeless2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          a modeless dialog having a null dialog owner is shown;
  *          a frame is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFModeless3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFModeless3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a window having a frame (F) owner is shown;
  *          a modeless dialog having F owner is shown; F is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFNonModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFNonModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a window having a hidden frame owner is shown;
  *          a non-modal dialog having a frame (F) owner is shown; F is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFNonModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFNonModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,8 @@
  *          a non-modal dialog having a null dialog owner is shown;
  *          a frame is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFNonModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFNonModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          the following happens: a window having a frame (F) owner is shown;
  *          a non-modal dialog having F owner is shown; F is shown.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 // WDF: Window -> Dialog -> Frame
 public class FocusTransferWDFTest {
--- a/test/jdk/java/awt/Modal/ModalitySettingsTest/ModalitySettingsTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ModalitySettingsTest/ModalitySettingsTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -22,7 +22,7 @@
  */
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 /*
  * @test
@@ -30,7 +30,7 @@
  * @bug 8047367
  * @summary Check modality settings for Window and Dialog.
  *
- * @library ../../../../lib/testlibrary/
+ * @library /test/lib
  * @run main ModalitySettingsTest
  */
 
--- a/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  *          parent has a proper modal blocking behavior. Also show a document modal
  *          dialog and check if it blocks the document properly.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  *          parent has a proper modal blocking behavior. Also show a document modal
  *          dialog and check if it blocks the document properly.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -28,7 +28,8 @@
  * @summary Check correctness of modal blocking behavior for a chain of Dialogs
  *          having different modality types with a Frame as a document root.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
@@ -38,7 +39,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Collections;
--- a/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  *          work properly. Also check whether the blocking dialogs are
  *          opening on top of the windows they block.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
@@ -39,7 +40,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 public class MultipleDialogs4Test {
--- a/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/MultipleDialogs/MultipleDialogs5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -28,7 +28,8 @@
  * @summary This is a simple check if a chain of dialogs having different
  *          modality types block each other properly.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
@@ -39,7 +40,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 public class MultipleDialogs5Test {
--- a/test/jdk/java/awt/Modal/NullModalityDialogTest/NullModalityDialogTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/NullModalityDialogTest/NullModalityDialogTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -24,7 +24,7 @@
 import java.awt.*;
 import java.awt.event.KeyEvent;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 /*
@@ -34,7 +34,8 @@
  * @summary Check whether a Dialog set with null modality type
  *          behaves like a modeless dialog
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopAppModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopAppModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether an application modal Dialog created with null Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopAppModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopAppModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether an application modal Dialog created with null Dialog
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopAppModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopAppModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether an application modal Dialog created with hidden Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopAppModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopAppModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether an application modal Dialog created with hidden Dialog
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopAppModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopAppModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether an application modal Dialog created with visible Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopAppModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopAppModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether an application modal Dialog created with visible
  *          Dialog constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopDDFTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopDDFTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 // DDF: Dialog - Dialog - Frame
 
--- a/test/jdk/java/awt/Modal/OnTop/OnTopDocModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopDocModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a document modal Dialog created with null Frame
  *          constructor follows normal Z order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopDocModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopDocModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a document modal Dialog created with null Dialog
  *          constructor follows normal Z order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopDocModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopDocModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a document modal Dialog created with hidden Frame
  *          constructor follows normal Z order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopDocModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopDocModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a document modal Dialog created with hidden Dialog
  *          constructor follows normal Z order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopDocModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopDocModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a document modal Dialog created with visible Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopDocModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopDocModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a document modal Dialog created with visible
  *          Dialog constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopFDFTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopFDFTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 // FDF: Frame - Dialog - Frame
 
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modal Dialog created with null Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modal Dialog created with null Dialog
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modal Dialog created with hidden Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modal Dialog created with hidden Dialog
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modal Dialog created with visible Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modal Dialog created with visible Dialog
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModeless1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModeless1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless Dialog created with a
  *          null Frame constructor follows normal Z Order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModeless2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModeless2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless Dialog created with a
  *          null Dialog constructor follows normal Z Order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModeless3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModeless3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless Dialog created with a
  *          hidden Frame constructor follows normal Z Order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModeless4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModeless4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless Dialog created with a
  *          hidden Dialog constructor follows normal Z Order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModeless5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModeless5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless Dialog created with a
  *          visible Frame constructor follows normal Z Order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopModeless6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopModeless6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless Dialog created with a visible Dialog
  *          constructor follows a normal Z order.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopTKModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopTKModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a toolkit modal Dialog created with null Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopTKModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopTKModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a toolkit modal Dialog created with null Dialog
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopTKModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopTKModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a toolkit modal Dialog created with hidden Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopTKModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopTKModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a toolkit modal Dialog created with hidden Dialog
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopTKModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopTKModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a toolkit modal Dialog created with visible Frame
  *          constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/OnTop/OnTopTKModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/OnTop/OnTopTKModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a toolkit modal Dialog created with visible
  *          Dialog constructor stays on top of the windows it blocks.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackAppModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackAppModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackAppModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackAppModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackAppModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackAppModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackAppModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackAppModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackAppModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackAppModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackAppModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackAppModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackDDFTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackDDFTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -22,7 +22,7 @@
  */
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 // DDF: Dialog->Dialog->Frame
--- a/test/jdk/java/awt/Modal/ToBack/ToBackDocModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackDocModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check if toBack method works correctly for
  *          a document modal dialog with null Frame parent.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackDocModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackDocModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check if toBack method works correctly for
  *          a document modal dialog with null Dialog parent.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackDocModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackDocModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check if toBack method works correctly for
  *          a document modal dialog with hidden Frame parent.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackDocModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackDocModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check if toBack method works correctly for
  *          a document modal dialog with hidden Dialog parent.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackDocModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackDocModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackDocModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackDocModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackFDFTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackFDFTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -23,7 +23,7 @@
 
 
 import java.awt.*;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 // FDF: Frame->Dialog->Frame
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModeless1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModeless1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless dialog having a null Frame constructor
  *          goes behind other windows when toBack is called for it.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModeless2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModeless2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless dialog having a null Dialog constructor
  *          goes behind other windows when toBack is called for it.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModeless3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModeless3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless dialog having a hidden Frame constructor
  *          goes behind other windows when toBack is called for it.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModeless4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModeless4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check whether a modeless dialog having a hidden Dialog constructor
  *          goes behind other windows when toBack is called for it.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModeless5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModeless5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check if toBack method works correctly for a modeless dialog
  *          having a visible Frame constructor.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackModeless6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackModeless6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  * @summary Check if toBack method works correctly for a modeless dialog
  *          having a visible Dialog constructor.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackNonModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackNonModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check whether a non-modal dialog having a null Frame constructor
  *          goes behind other windows when toBack is called for it.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackNonModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackNonModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check whether a non-modal dialog having a null Dialog constructor
  *          goes behind other windows when toBack is called for it.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackNonModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackNonModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check whether a non-modal dialog having a hidden Frame constructor
  *          goes behind other windows when toBack is called for it.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackNonModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackNonModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check whether a non-modal dialog having a hidden Dialog constructor
  *          goes behind other windows when toBack is called for it.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackNonModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackNonModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check if toBack method works correctly for a non-modal dialog
  *          having a visible Frame constructor.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackNonModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackNonModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check if toBack method works correctly for a non-modal dialog
  *          having a visible Dialog constructor.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackTKModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackTKModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackTKModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackTKModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackTKModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackTKModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackTKModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackTKModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackTKModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackTKModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToBack/ToBackTKModal6Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToBack/ToBackTKModal6Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          constructor still stays on top of the blocked windows even
  *          after calling toBack for the dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/DialogToFrontAppModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/DialogToFrontAppModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking application modal dialog does not bring it to the top
  *          of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/DialogToFrontDocModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/DialogToFrontDocModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking document modal dialog does not bring it to the top
  *          of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/DialogToFrontModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/DialogToFrontModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  *          blocking modal dialog does not bring it to the top
  *          of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/DialogToFrontModeless1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/DialogToFrontModeless1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -28,7 +28,8 @@
  * @summary Check that calling toFront method does not bring a dialog to the top
  *          of a child modeless dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/DialogToFrontNonModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/DialogToFrontNonModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -28,7 +28,8 @@
  * @summary Check that calling toFront method does not bring a dialog to the top
  *          of a non-modal child dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/DialogToFrontTKModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/DialogToFrontTKModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking toolkit modal dialog does not bring it to the top
  *          of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking application modal dialog having a null Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking application modal dialog having a null Dialog parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking application modal dialog having a hidden Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking application modal dialog having a hidden Dialog parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontAppModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking application modal dialog having a visible Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontDocModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontDocModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking document modal dialog having a visible Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontDocModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontDocModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @bug 8050885
  * @summary Check if toFront method works correctly for a document modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          blocking modal dialog having a null Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          blocking modal dialog having a null Dialog parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          blocking modal dialog having a hidden Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          blocking modal dialog having a hidden Dialog parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -30,7 +30,8 @@
  *          blocking modal dialog having a visible Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontModeless1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontModeless1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check that calling toFront method does not bring a frame to the top of
  *          a modeless child dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontNonModalTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontNonModalTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check that calling toFront method does not bring a frame to the top
  *          of a non-modal child dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal1Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal1Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking modal toolkit dialog having a null Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal2Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal2Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking toolkit modal dialog having a null Dialog parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal3Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal3Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking toolkit modal dialog having a hidden Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal4Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal4Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking toolkit modal dialog having a hidden Dialog parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal5Test.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/ToFront/FrameToFrontTKModal5Test.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -31,7 +31,8 @@
  *          blocking toolkit modal dialog having a visible Frame parent
  *          does not bring the frame to the top of the modal dialog.
  *
- * @library ../helpers ../../../../lib/testlibrary/
+ * @library ../helpers /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @build Flag
  * @build TestDialog
--- a/test/jdk/java/awt/Modal/helpers/TestDialog.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/helpers/TestDialog.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -25,7 +25,7 @@
 import java.awt.*;
 import java.awt.event.*;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 
--- a/test/jdk/java/awt/Modal/helpers/TestFrame.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/helpers/TestFrame.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -24,7 +24,7 @@
 import java.awt.*;
 import java.awt.event.*;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 
--- a/test/jdk/java/awt/Modal/helpers/TestWindow.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Modal/helpers/TestWindow.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -24,7 +24,7 @@
 import java.awt.*;
 import java.awt.event.*;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 
--- a/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotEnhancedKeyTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotEnhancedKeyTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,7 +32,7 @@
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseEvent;
 
-import static jdk.testlibrary.Asserts.assertTrue;
+import static jdk.test.lib.Asserts.assertTrue;
 
 /*
  * NOTE: this is no intentionally a manual test (i.e. has no test tag) because
@@ -53,7 +53,8 @@
  *
  * @summary Make sure that modifier key mask is set when robot press
  *          some key with one or more modifiers.
- * @library ../../../../lib/testlibrary/
+ * @library /lib/testlibrary/
+ * @library /test/lib
  * @build ExtendedRobot
  * @key headful
  * @run main/timeout=600 ModifierRobotEnhancedKeyTest
--- a/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
@@ -32,8 +32,8 @@
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseEvent;
 
-import static jdk.testlibrary.Asserts.assertNull;
-import static jdk.testlibrary.Asserts.assertTrue;
+import static jdk.test.lib.Asserts.assertNull;
+import static jdk.test.lib.Asserts.assertTrue;
 
 /*
  * @test
@@ -41,7 +41,8 @@
  * @key headful
  * @summary Make sure that modifier key mask is set when robot press
  *          some key with one or more modifiers.
- * @library ../../../../lib/testlibrary/
+ * @library /lib/testlibrary
+ * @library /test/lib
  * @build ExtendedRobot
  * @run main ModifierRobotKeyTest
  */
--- a/test/jdk/java/awt/datatransfer/ClipboardInterVMTest/ClipboardInterVMTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/datatransfer/ClipboardInterVMTest/ClipboardInterVMTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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/test/jdk/java/awt/dnd/DragSourceListenerSerializationTest/DragSourceListenerSerializationTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/dnd/DragSourceListenerSerializationTest/DragSourceListenerSerializationTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
@@ -27,8 +27,8 @@
   @bug 4422345 8039083
   @summary tests serialization of DragSourceListeners
   @author das@sparc.spb.su area=dnd
-  @library ../../../../lib/testlibrary
-  @build jdk.testlibrary.Asserts
+  @library /test/lib
+  @build jdk.test.lib.Asserts
   @run main/othervm DragSourceListenerSerializationTest
 */
 
@@ -58,7 +58,7 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static jdk.testlibrary.Asserts.assertEquals;
+import static jdk.test.lib.Asserts.assertEquals;
 
 public class DragSourceListenerSerializationTest {
     public static void main(String[] args) throws Exception {
--- a/test/jdk/java/awt/event/KeyEvent/ExtendedModifiersTest/ExtendedModifiersTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/event/KeyEvent/ExtendedModifiersTest/ExtendedModifiersTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, 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
@@ -32,7 +32,8 @@
  *          2. InputEvent.getModifiersExText() returns
  *             correct extended modifier keys description
  *
- * @library ../../../../../lib/testlibrary/  ../../helpers/lwcomponents/
+ * @library /lib/testlibrary/ ../../helpers/lwcomponents/
+ * @library /test/lib
  * @build LWComponent
  * @build LWButton
  * @build LWList
@@ -54,7 +55,7 @@
 import java.awt.event.KeyListener;
 import java.util.ArrayList;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 import test.java.awt.event.helpers.lwcomponents.LWButton;
 import test.java.awt.event.helpers.lwcomponents.LWList;
 
--- a/test/jdk/java/awt/event/KeyEvent/KeyMaskTest/KeyMaskTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/event/KeyEvent/KeyMaskTest/KeyMaskTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, 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
@@ -29,7 +29,8 @@
  * @summary Check whether KeyEvent.getModifiers() returns correct modifiers
  *          when Ctrl, Alt or Shift keys are pressed.
  *
- * @library ../../../../../lib/testlibrary/  ../../helpers/lwcomponents/
+ * @library /lib/testlibrary/ ../../helpers/lwcomponents/
+ * @library /test/lib
  * @build LWComponent
  * @build LWButton
  * @build LWList
@@ -46,7 +47,7 @@
 
 import java.util.ArrayList;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 import test.java.awt.event.helpers.lwcomponents.LWButton;
 import test.java.awt.event.helpers.lwcomponents.LWList;
--- a/test/jdk/java/awt/event/MouseEvent/MouseButtonsAndKeyMasksTest/MouseButtonsAndKeyMasksTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/event/MouseEvent/MouseButtonsAndKeyMasksTest/MouseButtonsAndKeyMasksTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, 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
@@ -31,7 +31,7 @@
 import java.awt.event.MouseListener;
 import java.util.ArrayList;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 
 import test.java.awt.event.helpers.lwcomponents.LWButton;
@@ -46,7 +46,8 @@
  *          and KeyEvent.getModifiers() return correct modifiers when pressing
  *          keys Ctrl, Alt, Shift, Meta and mouse buttons sequentially
  *
- * @library ../../../../../lib/testlibrary/  ../../helpers/lwcomponents/
+ * @library /lib/testlibrary/ ../../helpers/lwcomponents/
+ * @library /test/lib
  * @build LWComponent
  * @build LWButton
  * @build LWList
--- a/test/jdk/java/awt/event/MouseEvent/MouseButtonsTest/MouseButtonsTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/event/MouseEvent/MouseButtonsTest/MouseButtonsTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, 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
@@ -34,7 +34,7 @@
 
 import java.util.ArrayList;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 /*
  * @test
@@ -44,7 +44,8 @@
  *          number when the mouse buttons are pressed and getModifiers()
  *          returns correct modifiers
  *
- * @library ../../../../../lib/testlibrary/  ../../helpers/lwcomponents/
+ * @library /lib/testlibrary/ ../../helpers/lwcomponents/
+ * @library /test/lib
  * @build LWComponent
  * @build LWButton
  * @build LWList
--- a/test/jdk/java/awt/event/MouseEvent/MultipleMouseButtonsTest/MultipleMouseButtonsTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/awt/event/MouseEvent/MultipleMouseButtonsTest/MultipleMouseButtonsTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, 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
@@ -28,7 +28,7 @@
 import test.java.awt.event.helpers.lwcomponents.LWButton;
 import test.java.awt.event.helpers.lwcomponents.LWList;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 /*
  * @test
@@ -37,7 +37,8 @@
  * @summary Check whether correct modifiers set when multiple mouse buttons were pressed;
  *          check number of received events.
  *
- * @library ../../../../../lib/testlibrary/  ../../helpers/lwcomponents/
+ * @library /lib/testlibrary/ ../../helpers/lwcomponents/
+ * @library /test/lib
  * @build LWComponent
  * @build LWButton
  * @build LWList
--- a/test/jdk/java/lang/Thread/ThreadStateController.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/Thread/ThreadStateController.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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/test/jdk/java/lang/Throwable/LegacyChainedExceptionSerialization.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/Throwable/LegacyChainedExceptionSerialization.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, 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
@@ -22,10 +22,15 @@
  */
 
 import java.io.*;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.UndeclaredThrowableException;
+import java.security.PrivilegedActionException;
+import java.util.Base64;
+import java.util.Map;
 
 /**
  * @test
- * @bug     4385429 8004928
+ * @bug     4385429 8004928 8210721
  * @summary Certain legacy chained exceptions throw IllegalArgumentException
  *          upon deserialization if "causative exception" is null.
  * @author  Josh Bloch
@@ -33,18 +38,31 @@
 public class LegacyChainedExceptionSerialization {
     private static Throwable[] broken = {
         new ClassNotFoundException(),
+        new ClassNotFoundException("bar", new IOException("reading class file")),
         new ExceptionInInitializerError(),
+        new ExceptionInInitializerError(new NullPointerException("foo")),
         new java.lang.reflect.UndeclaredThrowableException(null),
+        new java.lang.reflect.UndeclaredThrowableException(new IllegalArgumentException("foo")),
         new java.lang.reflect.InvocationTargetException(null),
-        new java.security.PrivilegedActionException(null)
+        new java.lang.reflect.InvocationTargetException(new Error("goo")),
+        new java.security.PrivilegedActionException(null),
+        new java.security.PrivilegedActionException(new IOException("foo")),
     };
 
+
     public static void main(String[] args) throws Exception {
         for (int i=0; i<broken.length; i++)
             test(broken[i]);
+
+        for (Map.Entry<String, Throwable> e : SERIALIZED_DATA.entrySet()) {
+            Throwable t = deserialize(e.getKey());
+            verify(t, e.getValue());
+        }
+
+        testOverriddenGetCause();
     }
 
-    private static void test(Throwable e) throws Exception {
+    private static Throwable test(Throwable e) throws Exception {
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
         ObjectOutputStream out = new ObjectOutputStream(bout);
         out.writeObject(e);
@@ -54,5 +72,247 @@
             new ByteArrayInputStream(bout.toByteArray());
         ObjectInputStream in = new ObjectInputStream(bin);
         Throwable clone = (Throwable) in.readObject();
+        return clone;
     }
+
+    private static void testOverriddenGetCause() throws Exception {
+        SubClass sc = new SubClass(new NullPointerException());
+        SubClass clone = (SubClass)test(sc);
+        Throwable cause = clone.getException();
+        if (!(cause instanceof NullPointerException) || cause.getMessage() != null) {
+            throw new RuntimeException("unexpected cause: " + cause);
+        }
+
+    }
+
+    private static Throwable deserialize(String ser) throws Exception {
+        Base64.Decoder decoder = Base64.getDecoder();
+        try (ByteArrayInputStream bin = new ByteArrayInputStream(decoder.decode(ser));
+             ObjectInputStream ois = new ObjectInputStream(bin)) {
+            return (Throwable)ois.readObject();
+        }
+    }
+
+    /*
+     * Verify the deserialization of the serialized data from an old version.
+     * See SERIALIZED_DATA.
+     */
+    private static void verify(Throwable t, Throwable expected) {
+        String msg = expected.getMessage();
+        Throwable cause = expected.getCause();
+        if (t.getMessage() != msg && msg != null && !msg.equals(t.getMessage())) {
+            throw new RuntimeException("unexpected message: " + t.getMessage()
+                    + " expected: " + msg);
+        }
+        Throwable e = t.getCause();
+        if (e.getClass() != cause.getClass()) {
+            throw new RuntimeException("unexpected cause: " + t.getCause());
+        }
+        String causedBy = cause.getMessage();
+        if (e.getMessage() != causedBy) {
+            if (e.getMessage() == null || causedBy == null || !causedBy.equals(e.getMessage())) {
+                throw new RuntimeException("unexpected message: " + t.getMessage()
+                    + " expected: " + causedBy);
+            }
+        }
+        Throwable exception = null;
+        if (t instanceof ExceptionInInitializerError) {
+            exception = ((ExceptionInInitializerError)t).getException();
+        } else if (t instanceof ClassNotFoundException) {
+            exception = ((ClassNotFoundException)t).getException();
+        } else if (t instanceof InvocationTargetException) {
+            exception = ((InvocationTargetException) t).getTargetException();
+        } else if (t instanceof UndeclaredThrowableException) {
+            exception = ((UndeclaredThrowableException) t).getUndeclaredThrowable();
+        } else if (t instanceof PrivilegedActionException) {
+            exception = ((PrivilegedActionException) t).getException();
+        } else {
+            // skip the cause == exception check below
+            e = null;
+        }
+        if (e != exception) {
+            throw new RuntimeException("unexpected exception: " + exception);
+        }
+    }
+
+    static class SubClass extends ExceptionInInitializerError {
+        public SubClass(Throwable t) {
+            super(t);
+        }
+        @Override
+        public Throwable getCause() {
+            return new Throwable("always new");
+        }
+    }
+
+    /*
+     * The following strings are base64-encoded serialized data generated
+     * by running the jdk10SerializeThrowable method with JDK 10 runtime.
+     *
+     *   private static void jdk10SerializeThrowable(Throwable e) throws Exception {
+     *       Base64.Encoder encoder = Base64.getEncoder();
+     *       try (ByteArrayOutputStream os = new ByteArrayOutputStream();
+     *            ObjectOutputStream out = new ObjectOutputStream(os)) {
+     *           out.writeObject(e);
+     *           out.flush();
+     *           String s = encoder.encodeToString(os.toByteArray());
+     *           for (int i=0; i < s.length();) {
+     *               int end = Math.min(i+60, s.length());
+     *               CharSequence seq = s.subSequence(i, end);
+     *               System.out.format("\"%s\" +%n", seq);
+     *               i = end;
+     *           }
+     *       }
+     *   }
+     */
+
+    private static final String EIIE_OLD_VERSION =
+        "rO0ABXNyACVqYXZhLmxhbmcuRXhjZXB0aW9uSW5Jbml0aWFsaXplckVycm9y" +
+        "FR400Amhk4ACAAFMAAlleGNlcHRpb250ABVMamF2YS9sYW5nL1Rocm93YWJs" +
+        "ZTt4cgAWamF2YS5sYW5nLkxpbmthZ2VFcnJvcjGtS1U0qEq6AgAAeHIAD2ph" +
+        "dmEubGFuZy5FcnJvckUdNlaLgg5WAgAAeHIAE2phdmEubGFuZy5UaHJvd2Fi" +
+        "bGXVxjUnOXe4ywMABEwABWNhdXNlcQB+AAFMAA1kZXRhaWxNZXNzYWdldAAS" +
+        "TGphdmEvbGFuZy9TdHJpbmc7WwAKc3RhY2tUcmFjZXQAHltMamF2YS9sYW5n" +
+        "L1N0YWNrVHJhY2VFbGVtZW50O0wAFHN1cHByZXNzZWRFeGNlcHRpb25zdAAQ" +
+        "TGphdmEvdXRpbC9MaXN0O3hwcHB1cgAeW0xqYXZhLmxhbmcuU3RhY2tUcmFj" +
+        "ZUVsZW1lbnQ7AkYqPDz9IjkCAAB4cAAAAAFzcgAbamF2YS5sYW5nLlN0YWNr" +
+        "VHJhY2VFbGVtZW50YQnFmiY23YUCAAhCAAZmb3JtYXRJAApsaW5lTnVtYmVy" +
+        "TAAPY2xhc3NMb2FkZXJOYW1lcQB+AAVMAA5kZWNsYXJpbmdDbGFzc3EAfgAF" +
+        "TAAIZmlsZU5hbWVxAH4ABUwACm1ldGhvZE5hbWVxAH4ABUwACm1vZHVsZU5h" +
+        "bWVxAH4ABUwADW1vZHVsZVZlcnNpb25xAH4ABXhwAQAAAAd0AANhcHB0AARU" +
+        "ZXN0dAAJVGVzdC5qYXZhdAAEbWFpbnBwc3IAH2phdmEudXRpbC5Db2xsZWN0" +
+        "aW9ucyRFbXB0eUxpc3R6uBe0PKee3gIAAHhweHNyAB5qYXZhLmxhbmcuTnVs" +
+        "bFBvaW50ZXJFeGNlcHRpb25HpaGO/zHhuAIAAHhyABpqYXZhLmxhbmcuUnVu" +
+        "dGltZUV4Y2VwdGlvbp5fBkcKNIPlAgAAeHIAE2phdmEubGFuZy5FeGNlcHRp" +
+        "b27Q/R8+GjscxAIAAHhxAH4ABHEAfgAWdAADZm9vdXEAfgAJAAAAAXNxAH4A" +
+        "CwEAAAAHcQB+AA1xAH4ADnEAfgAPcQB+ABBwcHEAfgASeA==";
+
+    private static final String CNFE_OLD_VERSION =
+        "rO0ABXNyACBqYXZhLmxhbmcuQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbn9azWY+" +
+        "1CCOAgABTAACZXh0ABVMamF2YS9sYW5nL1Rocm93YWJsZTt4cgAmamF2YS5s" +
+        "YW5nLlJlZmxlY3RpdmVPcGVyYXRpb25FeGNlcHRpb24AAAAAB1vNFQIAAHhy" +
+        "ABNqYXZhLmxhbmcuRXhjZXB0aW9u0P0fPho7HMQCAAB4cgATamF2YS5sYW5n" +
+        "LlRocm93YWJsZdXGNSc5d7jLAwAETAAFY2F1c2VxAH4AAUwADWRldGFpbE1l" +
+        "c3NhZ2V0ABJMamF2YS9sYW5nL1N0cmluZztbAApzdGFja1RyYWNldAAeW0xq" +
+        "YXZhL2xhbmcvU3RhY2tUcmFjZUVsZW1lbnQ7TAAUc3VwcHJlc3NlZEV4Y2Vw" +
+        "dGlvbnN0ABBMamF2YS91dGlsL0xpc3Q7eHBwdAADYmFydXIAHltMamF2YS5s" +
+        "YW5nLlN0YWNrVHJhY2VFbGVtZW50OwJGKjw8/SI5AgAAeHAAAAABc3IAG2ph" +
+        "dmEubGFuZy5TdGFja1RyYWNlRWxlbWVudGEJxZomNt2FAgAIQgAGZm9ybWF0" +
+        "SQAKbGluZU51bWJlckwAD2NsYXNzTG9hZGVyTmFtZXEAfgAFTAAOZGVjbGFy" +
+        "aW5nQ2xhc3NxAH4ABUwACGZpbGVOYW1lcQB+AAVMAAptZXRob2ROYW1lcQB+" +
+        "AAVMAAptb2R1bGVOYW1lcQB+AAVMAA1tb2R1bGVWZXJzaW9ucQB+AAV4cAEA" +
+        "AAAMdAADYXBwdAAEVGVzdHQACVRlc3QuamF2YXQABG1haW5wcHNyAB9qYXZh" +
+        "LnV0aWwuQ29sbGVjdGlvbnMkRW1wdHlMaXN0ergXtDynnt4CAAB4cHhzcgAT" +
+        "amF2YS5pby5JT0V4Y2VwdGlvbmyAc2RlJfCrAgAAeHEAfgADcQB+ABV0ABJy" +
+        "ZWFkaW5nIGNsYXNzIGZpbGV1cQB+AAoAAAABc3EAfgAMAQAAAAxxAH4ADnEA" +
+        "fgAPcQB+ABBxAH4AEXBwcQB+ABN4";
+
+    private static final String ITE1_OLD_VERSION =
+        "rO0ABXNyACtqYXZhLmxhbmcucmVmbGVjdC5JbnZvY2F0aW9uVGFyZ2V0RXhj" +
+        "ZXB0aW9uOLEmjtZxJG8CAAFMAAZ0YXJnZXR0ABVMamF2YS9sYW5nL1Rocm93" +
+        "YWJsZTt4cgAmamF2YS5sYW5nLlJlZmxlY3RpdmVPcGVyYXRpb25FeGNlcHRp" +
+        "b24AAAAAB1vNFQIAAHhyABNqYXZhLmxhbmcuRXhjZXB0aW9u0P0fPho7HMQC" +
+        "AAB4cgATamF2YS5sYW5nLlRocm93YWJsZdXGNSc5d7jLAwAETAAFY2F1c2Vx" +
+        "AH4AAUwADWRldGFpbE1lc3NhZ2V0ABJMamF2YS9sYW5nL1N0cmluZztbAApz" +
+        "dGFja1RyYWNldAAeW0xqYXZhL2xhbmcvU3RhY2tUcmFjZUVsZW1lbnQ7TAAU" +
+        "c3VwcHJlc3NlZEV4Y2VwdGlvbnN0ABBMamF2YS91dGlsL0xpc3Q7eHBwdAAD" +
+        "YmFydXIAHltMamF2YS5sYW5nLlN0YWNrVHJhY2VFbGVtZW50OwJGKjw8/SI5" +
+        "AgAAeHAAAAABc3IAG2phdmEubGFuZy5TdGFja1RyYWNlRWxlbWVudGEJxZom" +
+        "Nt2FAgAIQgAGZm9ybWF0SQAKbGluZU51bWJlckwAD2NsYXNzTG9hZGVyTmFt" +
+        "ZXEAfgAFTAAOZGVjbGFyaW5nQ2xhc3NxAH4ABUwACGZpbGVOYW1lcQB+AAVM" +
+        "AAptZXRob2ROYW1lcQB+AAVMAAptb2R1bGVOYW1lcQB+AAVMAA1tb2R1bGVW" +
+        "ZXJzaW9ucQB+AAV4cAEAAAARdAADYXBwdAAEVGVzdHQACVRlc3QuamF2YXQA" +
+        "BG1haW5wcHNyAB9qYXZhLnV0aWwuQ29sbGVjdGlvbnMkRW1wdHlMaXN0ergX" +
+        "tDynnt4CAAB4cHhzcgAPamF2YS5sYW5nLkVycm9yRR02VouCDlYCAAB4cQB+" +
+        "AARxAH4AFXQAA2Zvb3VxAH4ACgAAAAFzcQB+AAwBAAAAEXEAfgAOcQB+AA9x" +
+        "AH4AEHEAfgARcHBxAH4AE3g=";
+
+    private static final String ITE2_OLD_VERSION =
+        "rO0ABXNyACtqYXZhLmxhbmcucmVmbGVjdC5JbnZvY2F0aW9uVGFyZ2V0RXhj" +
+        "ZXB0aW9uOLEmjtZxJG8CAAFMAAZ0YXJnZXR0ABVMamF2YS9sYW5nL1Rocm93" +
+        "YWJsZTt4cgAmamF2YS5sYW5nLlJlZmxlY3RpdmVPcGVyYXRpb25FeGNlcHRp" +
+        "b24AAAAAB1vNFQIAAHhyABNqYXZhLmxhbmcuRXhjZXB0aW9u0P0fPho7HMQC" +
+        "AAB4cgATamF2YS5sYW5nLlRocm93YWJsZdXGNSc5d7jLAwAETAAFY2F1c2Vx" +
+        "AH4AAUwADWRldGFpbE1lc3NhZ2V0ABJMamF2YS9sYW5nL1N0cmluZztbAApz" +
+        "dGFja1RyYWNldAAeW0xqYXZhL2xhbmcvU3RhY2tUcmFjZUVsZW1lbnQ7TAAU" +
+        "c3VwcHJlc3NlZEV4Y2VwdGlvbnN0ABBMamF2YS91dGlsL0xpc3Q7eHBwcHVy" +
+        "AB5bTGphdmEubGFuZy5TdGFja1RyYWNlRWxlbWVudDsCRio8PP0iOQIAAHhw" +
+        "AAAAAXNyABtqYXZhLmxhbmcuU3RhY2tUcmFjZUVsZW1lbnRhCcWaJjbdhQIA" +
+        "CEIABmZvcm1hdEkACmxpbmVOdW1iZXJMAA9jbGFzc0xvYWRlck5hbWVxAH4A" +
+        "BUwADmRlY2xhcmluZ0NsYXNzcQB+AAVMAAhmaWxlTmFtZXEAfgAFTAAKbWV0" +
+        "aG9kTmFtZXEAfgAFTAAKbW9kdWxlTmFtZXEAfgAFTAANbW9kdWxlVmVyc2lv" +
+        "bnEAfgAFeHABAAAAEnQAA2FwcHQABFRlc3R0AAlUZXN0LmphdmF0AARtYWlu" +
+        "cHBzcgAfamF2YS51dGlsLkNvbGxlY3Rpb25zJEVtcHR5TGlzdHq4F7Q8p57e" +
+        "AgAAeHB4c3IAD2phdmEubGFuZy5FcnJvckUdNlaLgg5WAgAAeHEAfgAEcQB+" +
+        "ABR0AANnb291cQB+AAkAAAABc3EAfgALAQAAABJxAH4ADXEAfgAOcQB+AA9x" +
+        "AH4AEHBwcQB+ABJ4";
+
+    private static final String UTE1_OLD_VERSION =
+        "rO0ABXNyAC5qYXZhLmxhbmcucmVmbGVjdC5VbmRlY2xhcmVkVGhyb3dhYmxl" +
+        "RXhjZXB0aW9uBJTY3HP5/P8CAAFMABN1bmRlY2xhcmVkVGhyb3dhYmxldAAV" +
+        "TGphdmEvbGFuZy9UaHJvd2FibGU7eHIAGmphdmEubGFuZy5SdW50aW1lRXhj" +
+        "ZXB0aW9unl8GRwo0g+UCAAB4cgATamF2YS5sYW5nLkV4Y2VwdGlvbtD9Hz4a" +
+        "OxzEAgAAeHIAE2phdmEubGFuZy5UaHJvd2FibGXVxjUnOXe4ywMABEwABWNh" +
+        "dXNlcQB+AAFMAA1kZXRhaWxNZXNzYWdldAASTGphdmEvbGFuZy9TdHJpbmc7" +
+        "WwAKc3RhY2tUcmFjZXQAHltMamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50" +
+        "O0wAFHN1cHByZXNzZWRFeGNlcHRpb25zdAAQTGphdmEvdXRpbC9MaXN0O3hw" +
+        "cHQAA2JhcnVyAB5bTGphdmEubGFuZy5TdGFja1RyYWNlRWxlbWVudDsCRio8" +
+        "PP0iOQIAAHhwAAAAAXNyABtqYXZhLmxhbmcuU3RhY2tUcmFjZUVsZW1lbnRh" +
+        "CcWaJjbdhQIACEIABmZvcm1hdEkACmxpbmVOdW1iZXJMAA9jbGFzc0xvYWRl" +
+        "ck5hbWVxAH4ABUwADmRlY2xhcmluZ0NsYXNzcQB+AAVMAAhmaWxlTmFtZXEA" +
+        "fgAFTAAKbWV0aG9kTmFtZXEAfgAFTAAKbW9kdWxlTmFtZXEAfgAFTAANbW9k" +
+        "dWxlVmVyc2lvbnEAfgAFeHABAAAAE3QAA2FwcHQABFRlc3R0AAlUZXN0Lmph" +
+        "dmF0AARtYWlucHBzcgAfamF2YS51dGlsLkNvbGxlY3Rpb25zJEVtcHR5TGlz" +
+        "dHq4F7Q8p57eAgAAeHB4c3IAImphdmEubGFuZy5JbGxlZ2FsQXJndW1lbnRF" +
+        "eGNlcHRpb261iXPTfWaPvAIAAHhxAH4AAnEAfgAVdAADZm9vdXEAfgAKAAAA" +
+        "AXNxAH4ADAEAAAATcQB+AA5xAH4AD3EAfgAQcQB+ABFwcHEAfgATeA==";
+
+    private static final String UTE2_OLD_VERSION =
+        "rO0ABXNyAC5qYXZhLmxhbmcucmVmbGVjdC5VbmRlY2xhcmVkVGhyb3dhYmxl" +
+        "RXhjZXB0aW9uBJTY3HP5/P8CAAFMABN1bmRlY2xhcmVkVGhyb3dhYmxldAAV" +
+        "TGphdmEvbGFuZy9UaHJvd2FibGU7eHIAGmphdmEubGFuZy5SdW50aW1lRXhj" +
+        "ZXB0aW9unl8GRwo0g+UCAAB4cgATamF2YS5sYW5nLkV4Y2VwdGlvbtD9Hz4a" +
+        "OxzEAgAAeHIAE2phdmEubGFuZy5UaHJvd2FibGXVxjUnOXe4ywMABEwABWNh" +
+        "dXNlcQB+AAFMAA1kZXRhaWxNZXNzYWdldAASTGphdmEvbGFuZy9TdHJpbmc7" +
+        "WwAKc3RhY2tUcmFjZXQAHltMamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50" +
+        "O0wAFHN1cHByZXNzZWRFeGNlcHRpb25zdAAQTGphdmEvdXRpbC9MaXN0O3hw" +
+        "cHB1cgAeW0xqYXZhLmxhbmcuU3RhY2tUcmFjZUVsZW1lbnQ7AkYqPDz9IjkC" +
+        "AAB4cAAAAAFzcgAbamF2YS5sYW5nLlN0YWNrVHJhY2VFbGVtZW50YQnFmiY2" +
+        "3YUCAAhCAAZmb3JtYXRJAApsaW5lTnVtYmVyTAAPY2xhc3NMb2FkZXJOYW1l" +
+        "cQB+AAVMAA5kZWNsYXJpbmdDbGFzc3EAfgAFTAAIZmlsZU5hbWVxAH4ABUwA" +
+        "Cm1ldGhvZE5hbWVxAH4ABUwACm1vZHVsZU5hbWVxAH4ABUwADW1vZHVsZVZl" +
+        "cnNpb25xAH4ABXhwAQAAABR0AANhcHB0AARUZXN0dAAJVGVzdC5qYXZhdAAE" +
+        "bWFpbnBwc3IAH2phdmEudXRpbC5Db2xsZWN0aW9ucyRFbXB0eUxpc3R6uBe0" +
+        "PKee3gIAAHhweHNyACJqYXZhLmxhbmcuSWxsZWdhbEFyZ3VtZW50RXhjZXB0" +
+        "aW9utYlz031mj7wCAAB4cQB+AAJxAH4AFHQAA2dvb3VxAH4ACQAAAAFzcQB+" +
+        "AAsBAAAAFHEAfgANcQB+AA5xAH4AD3EAfgAQcHBxAH4AEng=";
+
+    private static final String PAE_OLD_VERSION =
+        "rO0ABXNyACdqYXZhLnNlY3VyaXR5LlByaXZpbGVnZWRBY3Rpb25FeGNlcHRp" +
+        "b25Bj1P2UhH1ugIAAUwACWV4Y2VwdGlvbnQAFUxqYXZhL2xhbmcvRXhjZXB0" +
+        "aW9uO3hyABNqYXZhLmxhbmcuRXhjZXB0aW9u0P0fPho7HMQCAAB4cgATamF2" +
+        "YS5sYW5nLlRocm93YWJsZdXGNSc5d7jLAwAETAAFY2F1c2V0ABVMamF2YS9s" +
+        "YW5nL1Rocm93YWJsZTtMAA1kZXRhaWxNZXNzYWdldAASTGphdmEvbGFuZy9T" +
+        "dHJpbmc7WwAKc3RhY2tUcmFjZXQAHltMamF2YS9sYW5nL1N0YWNrVHJhY2VF" +
+        "bGVtZW50O0wAFHN1cHByZXNzZWRFeGNlcHRpb25zdAAQTGphdmEvdXRpbC9M" +
+        "aXN0O3hwcHB1cgAeW0xqYXZhLmxhbmcuU3RhY2tUcmFjZUVsZW1lbnQ7AkYq" +
+        "PDz9IjkCAAB4cAAAAAFzcgAbamF2YS5sYW5nLlN0YWNrVHJhY2VFbGVtZW50" +
+        "YQnFmiY23YUCAAhCAAZmb3JtYXRJAApsaW5lTnVtYmVyTAAPY2xhc3NMb2Fk" +
+        "ZXJOYW1lcQB+AAVMAA5kZWNsYXJpbmdDbGFzc3EAfgAFTAAIZmlsZU5hbWVx" +
+        "AH4ABUwACm1ldGhvZE5hbWVxAH4ABUwACm1vZHVsZU5hbWVxAH4ABUwADW1v" +
+        "ZHVsZVZlcnNpb25xAH4ABXhwAQAAABd0AANhcHB0AARUZXN0dAAJVGVzdC5q" +
+        "YXZhdAAEbWFpbnBwc3IAH2phdmEudXRpbC5Db2xsZWN0aW9ucyRFbXB0eUxp" +
+        "c3R6uBe0PKee3gIAAHhweHNyABNqYXZhLmlvLklPRXhjZXB0aW9ubIBzZGUl" +
+        "8KsCAAB4cQB+AAJxAH4AFHQAA2Zvb3VxAH4ACQAAAAFzcQB+AAsBAAAAF3EA" +
+        "fgANcQB+AA5xAH4AD3EAfgAQcHBxAH4AEng=";
+
+    private static Map<String, Throwable> SERIALIZED_DATA = Map.of(
+        EIIE_OLD_VERSION, new ExceptionInInitializerError(new NullPointerException("foo")),
+        CNFE_OLD_VERSION, new ClassNotFoundException("bar", new IOException("reading class file")),
+        ITE1_OLD_VERSION, new InvocationTargetException(new Error("foo"), "bar"),
+        ITE2_OLD_VERSION, new InvocationTargetException(new Error("goo")),
+        UTE1_OLD_VERSION, new UndeclaredThrowableException(new IllegalArgumentException("foo"), "bar"),
+        UTE2_OLD_VERSION, new UndeclaredThrowableException(new IllegalArgumentException("goo")),
+        PAE_OLD_VERSION,  new PrivilegedActionException(new IOException("foo"))
+    );
 }
--- a/test/jdk/java/lang/annotation/repeatingAnnotations/CustomRepeatingWithSecurityManager.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/annotation/repeatingAnnotations/CustomRepeatingWithSecurityManager.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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
@@ -26,8 +26,8 @@
  * @bug     8073056
  * @summary Repeating annotations throws java.security.AccessControlException with a SecurityManager
  *
- * @library /lib/testlibrary
- * @build jdk.testlibrary.Asserts
+ * @library /test/lib
+ * @build jdk.test.lib.Asserts
  * @run main CustomRepeatingWithSecurityManager
  * @run main/othervm CustomRepeatingWithSecurityManager "withSM"
  */
@@ -35,7 +35,7 @@
 import java.lang.annotation.*;
 import java.lang.reflect.*;
 
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 public class CustomRepeatingWithSecurityManager {
     public static void main(String[] args) throws Exception {
--- a/test/jdk/java/lang/annotation/repeatingAnnotations/RepeatingWithSecurityManager.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/annotation/repeatingAnnotations/RepeatingWithSecurityManager.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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
@@ -26,8 +26,8 @@
  * @bug     8073056
  * @summary Repeating annotations throws java.security.AccessControlException with a SecurityManager
  *
- * @library /lib/testlibrary
- * @build jdk.testlibrary.Asserts
+ * @library /test/lib
+ * @build jdk.test.lib.Asserts
  * @run main RepeatingWithSecurityManager
  * @run main/othervm RepeatingWithSecurityManager "withSM"
  */
@@ -35,7 +35,7 @@
 import java.lang.annotation.*;
 import java.util.*;
 
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 public class RepeatingWithSecurityManager {
     public static void main(String[] args) throws Exception {
--- a/test/jdk/java/lang/annotation/typeAnnotations/GetAnnotatedOwnerType.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/annotation/typeAnnotations/GetAnnotatedOwnerType.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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
@@ -26,15 +26,15 @@
  * @bug 8058595
  * @summary Test that AnnotatedType.getAnnotatedOwnerType() works as expected
  *
- * @library /lib/testlibrary
- * @build jdk.testlibrary.Asserts
+ * @library /test/lib
+ * @build jdk.test.lib.Asserts
  * @run main GetAnnotatedOwnerType
  */
 
 import java.lang.annotation.*;
 import java.lang.reflect.*;
 
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 public class GetAnnotatedOwnerType<Dummy> {
     public @TA("generic") GetAnnotatedOwnerType<String> . @TB("generic") Nested<Integer> genericField;
--- a/test/jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2018, 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
@@ -90,6 +90,6 @@
 
 "$JAVAC" ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d "${TESTCLASSES}" \
     "${TESTSRC}"/Cleanup.java
-"$JAVA" ${TESTTOOLVMOPTS} -classpath "${TESTCLASSES}" Cleanup "${BOOTDIR}"
+"$JAVA" ${TESTVMOPTS} -classpath "${TESTCLASSES}" Cleanup "${BOOTDIR}"
 
 exit $result
--- a/test/jdk/java/lang/instrument/BootClassPath/Setup.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/instrument/BootClassPath/Setup.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018, 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
@@ -27,7 +27,7 @@
  * Used by BootClassPath.sh.
  *
  * Given a "work directory" this class creates a sub-directory with a
- * name that uses locale specific characters. It the creates a jar
+ * name that uses locale specific characters. It then creates a jar
  * manifest file in the work directory with a Boot-Class-Path that
  * encodes the created sub-directory. Finally it creates a file
  * "boot.dir" in the work directory with the name of the sub-directory.
@@ -51,6 +51,13 @@
 
         String bootDir = workDir + fileSeparator + bootClassPath;
 
+        /*
+         * Environment variable settings ("null" if unset)
+         */
+        System.out.println("Env vars:");
+        System.out.println("  LANG=" + System.getenv("LANG"));
+        System.out.println("  LC_ALL=" + System.getenv("LC_ALL"));
+        System.out.println("  LC_CTYPE=" + System.getenv("LC_CTYPE"));
 
         /*
          * Create sub-directory
--- a/test/jdk/java/lang/invoke/ExplicitCastArgumentsTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/invoke/ExplicitCastArgumentsTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
@@ -38,7 +38,7 @@
  * @test
  * @bug 8060483 8066746
  * @key randomness
- * @library /lib/testlibrary /java/lang/invoke/common
+ * @library /test/lib /java/lang/invoke/common
  * @modules java.base/sun.invoke.util
  * @summary unit tests for MethodHandles.explicitCastArguments()
  * @run main ExplicitCastArgumentsTest
--- a/test/jdk/java/lang/invoke/LFCaching/LambdaFormTestCase.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/invoke/LFCaching/LambdaFormTestCase.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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/test/jdk/java/lang/invoke/MethodHandles/CatchExceptionTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/invoke/MethodHandles/CatchExceptionTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
@@ -24,7 +24,7 @@
 package test.java.lang.invoke.MethodHandles;
 
 import jdk.test.lib.TimeLimitedRunner;
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 import jdk.test.lib.Utils;
 import test.java.lang.invoke.lib.CodeCacheOverflowProcessor;
 import test.java.lang.invoke.lib.Helper;
@@ -43,7 +43,7 @@
 import java.util.function.Supplier;
 
 /* @test
- * @library /lib/testlibrary /java/lang/invoke/common /test/lib
+ * @library /java/lang/invoke/common /test/lib
  * @build jdk.test.lib.TimeLimitedRunner
  * @compile CatchExceptionTest.java
  * @run main/othervm -esa test.java.lang.invoke.MethodHandles.CatchExceptionTest
--- a/test/jdk/java/lang/invoke/PermuteArgsTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/invoke/PermuteArgsTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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/test/jdk/java/lang/invoke/TestCatchExceptionWithVarargs.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/invoke/TestCatchExceptionWithVarargs.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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/test/jdk/java/lang/invoke/VarargsArrayTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/invoke/VarargsArrayTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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/test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/CodeCacheOverflowProcessor.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/CodeCacheOverflowProcessor.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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/test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/Helper.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/Helper.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
@@ -23,7 +23,7 @@
 
 package test.java.lang.invoke.lib;
 
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 import java.lang.invoke.MethodHandle;
 import java.lang.invoke.MethodHandles;
--- a/test/jdk/java/lang/reflect/callerCache/AccessTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/lang/reflect/callerCache/AccessTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -113,25 +113,17 @@
             if (!Modifier.isFinal(f.getModifiers())) {
                 throw new RuntimeException("not a final field");
             }
-            makeFinalNonFinal(f);
         }
         public Void call() throws Exception {
             Members obj = isStatic ? null : new Members();
             try {
                 f.set(obj, 20);
-                checkValue(obj, 20);
+                throw new RuntimeException("IllegalAccessException expected");
             } catch (IllegalAccessException e) {
-                throw e;
+                // expected
             }
             return null;
         }
-
-        void checkValue(Object obj, int expected) throws Exception {
-            int value = (int) f.get(obj);
-            if (value != expected) {
-                throw new RuntimeException("unexpectd value: " + value);
-            }
-        }
     }
 
     public static class PublicFinalField extends FinalField {
@@ -157,15 +149,4 @@
             super("privateStaticFinalField");
         }
     }
-
-    private static void makeFinalNonFinal(Field f) throws ReflectiveOperationException {
-        Field modifiers = Field.class.getDeclaredField("modifiers");
-        modifiers.setAccessible(true);
-        modifiers.set(f, modifiers.getInt(f) & ~Modifier.FINAL);
-        f.setAccessible(true);
-
-        if (Modifier.isFinal(f.getModifiers())) {
-            throw new RuntimeException("should be a non-final field");
-        }
-    }
 }
--- a/test/jdk/java/net/DatagramSocket/ReportSocketClosed.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/net/DatagramSocket/ReportSocketClosed.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, 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
@@ -37,7 +37,7 @@
         byte[]  array = {21,22,23};
 
         try {
-            soc = new DatagramSocket(4001);
+            soc = new DatagramSocket(0);
             sin = InetAddress.getLocalHost();
             soc.close();
         } catch (Exception e) {
--- a/test/jdk/java/net/MulticastSocket/MultiDead.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/net/MulticastSocket/MultiDead.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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/test/jdk/java/net/MulticastSocket/UnreferencedMulticastSockets.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/net/MulticastSocket/UnreferencedMulticastSockets.java	Mon Sep 24 10:59:26 2018 -0700
@@ -120,6 +120,7 @@
         thr.start();
 
         MulticastSocket client = new MulticastSocket(0);
+        System.out.printf("  client bound port: %d%n", client.getLocalPort());
         client.connect(svr.getHost(), svr.getPort());
         pendingSockets.add(new NamedWeak(client, pendingQueue, "clientMulticastSocket"));
         extractRefs(client, "clientMulticastSocket");
--- a/test/jdk/java/net/httpclient/EchoHandler.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/net/httpclient/EchoHandler.java	Mon Sep 24 10:59:26 2018 -0700
@@ -40,6 +40,7 @@
 import java.util.logging.Logger;
 
 public class EchoHandler implements HttpHandler {
+    static final Path CWD = Paths.get(".");
     public EchoHandler() {}
 
     @Override
@@ -53,7 +54,7 @@
             map1.add("X-Hello", "world");
             map1.add("X-Bye", "universe");
             String fixedrequest = map.getFirst("XFixed");
-            File outfile = File.createTempFile("foo", "bar");
+            File outfile = Files.createTempFile(CWD, "foo", "bar").toFile();
             FileOutputStream fos = new FileOutputStream(outfile);
             int count = (int) is.transferTo(fos);
             is.close();
--- a/test/jdk/java/net/spi/URLStreamHandlerProvider/Basic.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/net/spi/URLStreamHandlerProvider/Basic.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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/test/jdk/java/nio/channels/FileChannel/LoopingTruncate.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/nio/channels/FileChannel/LoopingTruncate.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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/test/jdk/java/nio/channels/Selector/Wakeup.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/nio/channels/Selector/Wakeup.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, 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/test/jdk/java/security/KeyStore/PKCS12/EntryProtectionTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/security/KeyStore/PKCS12/EntryProtectionTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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/test/jdk/java/security/SecureRandom/GetInstanceTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/security/SecureRandom/GetInstanceTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
@@ -24,7 +24,7 @@
 /*
  * @test
  * @bug 8141039
- * @library /lib/testlibrary
+ * @library /test/lib
  * @summary SecureRandom supports multiple getInstance method including
  *          getInstanceStrong() method. This test verifies a set of possible
  *          cases for getInstance with different SecureRandom mechanism
@@ -39,7 +39,7 @@
 import static java.security.DrbgParameters.Capability.*;
 import java.security.Security;
 import java.util.Arrays;
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 public class GetInstanceTest {
 
--- a/test/jdk/java/security/SecureRandom/SerializedSeedTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/security/SecureRandom/SerializedSeedTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
@@ -24,7 +24,7 @@
 /*
  * @test
  * @bug 8141039
- * @library /lib/testlibrary
+ * @library /test/lib
  * @summary When random number is generated through the a SecureRandom instance
  *          as well from it's serialized instance in the same time then the
  *          generated random numbers should be different when one or both are
@@ -39,7 +39,7 @@
 import java.security.NoSuchAlgorithmException;
 import java.security.SecureRandom;
 import java.security.Security;
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 public class SerializedSeedTest {
 
--- a/test/jdk/java/util/concurrent/BlockingQueue/Interrupt.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/BlockingQueue/Interrupt.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, 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/test/jdk/java/util/concurrent/CyclicBarrier/Basic.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/CyclicBarrier/Basic.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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/test/jdk/java/util/concurrent/Executors/AutoShutdown.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/Executors/AutoShutdown.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, 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/test/jdk/java/util/concurrent/FutureTask/BlockingTaskExecutor.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/FutureTask/BlockingTaskExecutor.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, 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/test/jdk/java/util/concurrent/ScheduledThreadPoolExecutor/ZeroCorePoolSize.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/ScheduledThreadPoolExecutor/ZeroCorePoolSize.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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/test/jdk/java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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/test/jdk/java/util/concurrent/ThreadPoolExecutor/Custom.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/ThreadPoolExecutor/Custom.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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/test/jdk/java/util/concurrent/ThreadPoolExecutor/SelfInterrupt.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/ThreadPoolExecutor/SelfInterrupt.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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/test/jdk/java/util/concurrent/ThreadPoolExecutor/TimeOutShrink.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/ThreadPoolExecutor/TimeOutShrink.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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/test/jdk/java/util/concurrent/forkjoin/SubmissionTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/forkjoin/SubmissionTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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/test/jdk/java/util/concurrent/locks/Lock/TimedAcquireLeak.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/locks/Lock/TimedAcquireLeak.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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/test/jdk/java/util/concurrent/locks/ReentrantReadWriteLock/Count.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/concurrent/locks/ReentrantReadWriteLock/Count.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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/test/jdk/java/util/logging/TestLoggerWeakRefLeak.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/java/util/logging/TestLoggerWeakRefLeak.java	Mon Sep 24 10:59:26 2018 -0700
@@ -25,7 +25,7 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
 
-import static jdk.testlibrary.Asserts.assertGreaterThan;
+import static jdk.test.lib.Asserts.assertGreaterThan;
 import jdk.test.lib.process.ProcessTools;
 
 import com.sun.tools.attach.AttachNotSupportedException;
@@ -37,7 +37,6 @@
  * @test
  * @bug 6942989
  * @summary Check for WeakReference leak in Logger and anonymous Logger objects
- * @library /lib/testlibrary
  * @library /test/lib
  * @modules jdk.attach/sun.tools.attach
  *          java.logging
--- a/test/jdk/javax/management/monitor/GaugeMonitorDeadlockTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/javax/management/monitor/GaugeMonitorDeadlockTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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/test/jdk/javax/management/monitor/StartStopTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/javax/management/monitor/StartStopTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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/test/jdk/javax/management/remote/mandatory/loading/MethodResultTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/javax/management/remote/mandatory/loading/MethodResultTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, 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/test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java	Mon Sep 24 10:59:26 2018 -0700
@@ -27,6 +27,8 @@
             0x1302, Protocol.TLSV1_3, Protocol.TLSV1_3),
     TLS_AES_128_GCM_SHA256(
             0x1301, Protocol.TLSV1_3, Protocol.TLSV1_3),
+    TLS_CHACHA20_POLY1305_SHA256(
+            0x1303, Protocol.TLSV1_3, Protocol.TLSV1_3),
     TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256(
             0xCCAA, Protocol.TLSV1_2, Protocol.TLSV1_2),
     TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256(
--- a/test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java	Mon Sep 24 10:59:26 2018 -0700
@@ -182,7 +182,8 @@
 
     private static final String[] TLS13_CIPHERS = {
             "TLS_AES_256_GCM_SHA384",
-            "TLS_AES_128_GCM_SHA256"
+            "TLS_AES_128_GCM_SHA256",
+            "TLS_CHACHA20_POLY1305_SHA256"
     };
 
     private static final String[] SUPPORTED_NON_KRB_CIPHERS;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/javax/net/ssl/compatibility/ClientHelloProcessing.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,781 @@
+/*
+ * Copyright (c) 2018, 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 8210918 8210334 8209916
+ * @summary Add test to exercise server-side client hello processing
+ * @run main/othervm ClientHelloProcessing noPskNoKexModes
+ * @run main/othervm ClientHelloProcessing noPskYesKexModes
+ * @run main/othervm ClientHelloProcessing yesPskNoKexModes
+ * @run main/othervm ClientHelloProcessing yesPskYesKexModes
+ * @run main/othervm ClientHelloProcessing supGroupsSect163k1
+ */
+
+/*
+ * SunJSSE does not support dynamic system properties, no way to re-use
+ * system properties in samevm/agentvm mode.
+ */
+
+import java.io.FileInputStream;
+import javax.net.ssl.*;
+import javax.net.ssl.SSLEngineResult.HandshakeStatus;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.security.GeneralSecurityException;
+import java.security.KeyStore;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Objects;
+
+/*
+ * If you wish to add test cases, the following must be done:
+ * 1. Add a @run line with the parameter being a name for the test case
+ * 2. Create the ClientHello as a byte[].  It should be a complete TLS
+ *    record, but does not need upper layer headers like TCP, IP, Ethernet, etc.
+ * 3. Create a new TestCase instance, see "noPskNoKexModes" as an example
+ * 4. Create a mapping between the test case name in your @run line and the
+ *    TestCase object you created in step #3.  Add this to TESTMAP.
+ */
+
+public class ClientHelloProcessing {
+
+    private static final ByteBuffer SERVOUTBUF =
+            ByteBuffer.wrap("Server Side".getBytes());
+
+    private static final String pathToStores = "../etc";
+    private static final String keyStoreFile = "keystore";
+    private static final String trustStoreFile = "truststore";
+    private static final String passwd = "passphrase";
+
+    private static final String keyFilename =
+            System.getProperty("test.src", ".") + "/" + pathToStores +
+                "/" + keyStoreFile;
+    private static final String trustFilename =
+            System.getProperty("test.src", ".") + "/" + pathToStores +
+                "/" + trustStoreFile;
+
+    private static TrustManagerFactory trustMgrFac = null;
+    private static KeyManagerFactory keyMgrFac = null;
+
+    // Canned client hello messages
+    // These were created from packet captures using openssl 1.1.1's
+    // s_client utility.  The captured TLS record containing the client
+    // hello was then manually edited to remove or add fields if the s_client
+    // utility could not be used to generate a message with the desired
+    // extensions.  When manually altering the hello messages, care must
+    // be taken to change the lengths of the extensions themselves, the
+    // extensions vector length, the handshake message length, and the TLS
+    // record length.
+
+    // Client Hello with the pre_shared_key and psk_key_exchange_modes
+    // both absent.  Required manual removal of the psk_key_exchange_modes
+    // extension.  Similarly formed Client Hello messages may be generated
+    // by clients that don't support pre-shared keys.
+    //
+    //    TLSv1.3 Record Layer: Handshake Protocol: Client Hello
+    //        Content Type: Handshake (22)
+    //        Version: TLS 1.0 (0x0301)
+    //        Length: 256
+    //        Handshake Protocol: Client Hello
+    //            Handshake Type: Client Hello (1)
+    //            Length: 252
+    //            Version: TLS 1.2 (0x0303)
+    //            Random: 9b796ad0cbd559fb48fc4ba32da5bb8c1ef9a7da85231860...
+    //            Session ID Length: 32
+    //            Session ID: fe8411205bc99a506952f5c28569facb96ff0f37621be072...
+    //            Cipher Suites Length: 8
+    //            Cipher Suites (4 suites)
+    //            Compression Methods Length: 1
+    //            Compression Methods (1 method)
+    //            Extensions Length: 171
+    //            Extension: server_name (len=14)
+    //            Extension: ec_point_formats (len=4)
+    //            Extension: supported_groups (len=4)
+    //            Extension: SessionTicket TLS (len=0)
+    //            Extension: status_request (len=5)
+    //            Extension: encrypt_then_mac (len=0)
+    //            Extension: extended_master_secret (len=0)
+    //            Extension: signature_algorithms (len=30)
+    //            Extension: supported_versions (len=3)
+    //            Extension: key_share (len=71)
+    private static final byte[] CLIHELLO_NOPSK_NOPSKEXMODE = {
+        22,    3,    1,    1,    0,    1,    0,    0,
+        -4,    3,    3, -101,  121,  106,  -48,  -53,
+       -43,   89,   -5,   72,   -4,   75,  -93,   45,
+       -91,  -69, -116,   30,   -7,  -89,  -38, -123,
+        35,   24,   96,   29,  -93,  -22,   10,  -97,
+       -15,  -11,    3,   32,   -2, -124,   17,   32,
+        91,  -55, -102,   80,  105,   82,  -11,  -62,
+      -123,  105,   -6,  -53, -106,   -1,   15,   55,
+        98,   27,  -32,  114, -126,  -13,   42, -104,
+      -102,   37,  -65,   52,    0,    8,   19,    2,
+        19,    3,   19,    1,    0,   -1,    1,    0,
+         0,  -85,    0,    0,    0,   14,    0,   12,
+         0,    0,    9,  108,  111,   99,   97,  108,
+       104,  111,  115,  116,    0,   11,    0,    4,
+         3,    0,    1,    2,    0,   10,    0,    4,
+         0,    2,    0,   23,    0,   35,    0,    0,
+         0,    5,    0,    5,    1,    0,    0,    0,
+         0,    0,   22,    0,    0,    0,   23,    0,
+         0,    0,   13,    0,   30,    0,   28,    4,
+         3,    5,    3,    6,    3,    8,    7,    8,
+         8,    8,    9,    8,   10,    8,   11,    8,
+         4,    8,    5,    8,    6,    4,    1,    5,
+         1,    6,    1,    0,   43,    0,    3,    2,
+         3,    4,    0,   51,    0,   71,    0,   69,
+         0,   23,    0,   65,    4,  125,  -92,  -50,
+       -91,  -39,  -55, -114,    0,   22,    2,  -50,
+       123, -126,    0,  -94,  100, -119, -106,  125,
+       -81,  -24,   51,  -84,   25,   25, -115,   13,
+       -17,  -20,   93,   68,  -97,  -79,  -98,   91,
+        86,   91, -114,  123,  119,  -87,  -12,   32,
+        63,  -41,   50,  126,  -70,   96,   33,   -6,
+        94,   -7,  -68,   54,  -47,   53,    0,   88,
+        40,  -48, -102,  -50,   88
+    };
+
+    // Client Hello with the pre_shared_key extension absent but
+    // containing the psk_key_exchange_modes extension asserted.  No
+    // manual modification was necessary.
+    //
+    //    TLSv1.3 Record Layer: Handshake Protocol: Client Hello
+    //        Content Type: Handshake (22)
+    //        Version: TLS 1.0 (0x0301)
+    //        Length: 262
+    //        Handshake Protocol: Client Hello
+    //            Handshake Type: Client Hello (1)
+    //            Length: 258
+    //            Version: TLS 1.2 (0x0303)
+    //            Random: 9b796ad0cbd559fb48fc4ba32da5bb8c1ef9a7da85231860...
+    //            Session ID Length: 32
+    //            Session ID: fe8411205bc99a506952f5c28569facb96ff0f37621be072...
+    //            Cipher Suites Length: 8
+    //            Cipher Suites (4 suites)
+    //            Compression Methods Length: 1
+    //            Compression Methods (1 method)
+    //            Extensions Length: 177
+    //            Extension: server_name (len=14)
+    //            Extension: ec_point_formats (len=4)
+    //            Extension: supported_groups (len=4)
+    //            Extension: SessionTicket TLS (len=0)
+    //            Extension: status_request (len=5)
+    //            Extension: encrypt_then_mac (len=0)
+    //            Extension: extended_master_secret (len=0)
+    //            Extension: signature_algorithms (len=30)
+    //            Extension: supported_versions (len=3)
+    //            Extension: psk_key_exchange_modes (len=2)
+    //                Type: psk_key_exchange_modes (45)
+    //                Length: 2
+    //                PSK Key Exchange Modes Length: 1
+    //                PSK Key Exchange Mode: PSK with (EC)DHE key establishment (psk_dhe_ke) (1)
+    //            Extension: key_share (len=71)
+    private static final byte[] CLIHELLO_NOPSK_YESPSKEXMODE = {
+        22,    3,    1,    1,    6,    1,    0,    1,
+         2,    3,    3, -101,  121,  106,  -48,  -53,
+       -43,   89,   -5,   72,   -4,   75,  -93,   45,
+       -91,  -69, -116,   30,   -7,  -89,  -38, -123,
+        35,   24,   96,   29,  -93,  -22,   10,  -97,
+       -15,  -11,    3,   32,   -2, -124,   17,   32,
+        91,  -55, -102,   80,  105,   82,  -11,  -62,
+      -123,  105,   -6,  -53, -106,   -1,   15,   55,
+        98,   27,  -32,  114, -126,  -13,   42, -104,
+      -102,   37,  -65,   52,    0,    8,   19,    2,
+        19,    3,   19,    1,    0,   -1,    1,    0,
+         0,  -79,    0,    0,    0,   14,    0,   12,
+         0,    0,    9,  108,  111,   99,   97,  108,
+       104,  111,  115,  116,    0,   11,    0,    4,
+         3,    0,    1,    2,    0,   10,    0,    4,
+         0,    2,    0,   23,    0,   35,    0,    0,
+         0,    5,    0,    5,    1,    0,    0,    0,
+         0,    0,   22,    0,    0,    0,   23,    0,
+         0,    0,   13,    0,   30,    0,   28,    4,
+         3,    5,    3,    6,    3,    8,    7,    8,
+         8,    8,    9,    8,   10,    8,   11,    8,
+         4,    8,    5,    8,    6,    4,    1,    5,
+         1,    6,    1,    0,   43,    0,    3,    2,
+         3,    4,    0,   45,    0,    2,    1,    1,
+         0,   51,    0,   71,    0,   69,    0,   23,
+         0,   65,    4,  125,  -92,  -50,  -91,  -39,
+       -55, -114,    0,   22,    2,  -50,  123, -126,
+         0,  -94,  100, -119, -106,  125,  -81,  -24,
+        51,  -84,   25,   25, -115,   13,  -17,  -20,
+        93,   68,  -97,  -79,  -98,   91,   86,   91,
+      -114,  123,  119,  -87,  -12,   32,   63,  -41,
+        50,  126,  -70,   96,   33,   -6,   94,   -7,
+       -68,   54,  -47,   53,    0,   88,   40,  -48,
+      -102,  -50,   88
+    };
+
+    // Client Hello with pre_shared_key asserted and psk_key_exchange_modes
+    // absent.  This is a violation of RFC 8446.  This required manual
+    // removal of the psk_key_exchange_modes extension.
+    //
+    //    TLSv1.3 Record Layer: Handshake Protocol: Client Hello
+    //        Content Type: Handshake (22)
+    //        Version: TLS 1.0 (0x0301)
+    //        Length: 318
+    //        Handshake Protocol: Client Hello
+    //            Handshake Type: Client Hello (1)
+    //            Length: 314
+    //            Version: TLS 1.2 (0x0303)
+    //            Random: e730e42336a19ed9fdb42919c65769132e9e779a797f188c...
+    //            Session ID Length: 32
+    //            Session ID: 6c6ed31408042fabd0c47fdeee6d19de2d6795e37590f00e...
+    //            Cipher Suites Length: 8
+    //            Cipher Suites (4 suites)
+    //            Compression Methods Length: 1
+    //            Compression Methods (1 method)
+    //            Extensions Length: 233
+    //            Extension: server_name (len=14)
+    //            Extension: ec_point_formats (len=4)
+    //            Extension: supported_groups (len=4)
+    //            Extension: SessionTicket TLS (len=0)
+    //            Extension: status_request (len=5)
+    //            Extension: encrypt_then_mac (len=0)
+    //            Extension: extended_master_secret (len=0)
+    //            Extension: signature_algorithms (len=30)
+    //            Extension: supported_versions (len=3)
+    //            Extension: key_share (len=71)
+    //            Extension: pre_shared_key (len=58)
+    //                Type: pre_shared_key (41)
+    //                Length: 58
+    //                Pre-Shared Key extension
+    //                    Identities Length: 21
+    //                    PSK Identity (length: 15)
+    //                        Identity Length: 15
+    //                        Identity: 436c69656e745f6964656e74697479
+    //                        Obfuscated Ticket Age: 0
+    //                    PSK Binders length: 33
+    //                    PSK Binders
+    private static final byte[] CLIHELLO_YESPSK_NOPSKEXMODE = {
+        22,    3,    1,    1,   62,    1,    0,    1,
+        58,    3,    3,  -25,   48,  -28,   35,   54,
+       -95,  -98,  -39,   -3,  -76,   41,   25,  -58,
+        87,  105,   19,   46,  -98,  119, -102,  121,
+       127,   24, -116,   -9,  -99,   22,  116,  -97,
+        90,   73,  -18,   32,  108,  110,  -45,   20,
+         8,    4,   47,  -85,  -48,  -60,  127,  -34,
+       -18,  109,   25,  -34,   45,  103, -107,  -29,
+       117, -112,  -16,   14,   -5,  -24,   24,   61,
+        -9,   28, -119,  -73,    0,    8,   19,    2,
+        19,    3,   19,    1,    0,   -1,    1,    0,
+         0,  -23,    0,    0,    0,   14,    0,   12,
+         0,    0,    9,  108,  111,   99,   97,  108,
+       104,  111,  115,  116,    0,   11,    0,    4,
+         3,    0,    1,    2,    0,   10,    0,    4,
+         0,    2,    0,   23,    0,   35,    0,    0,
+         0,    5,    0,    5,    1,    0,    0,    0,
+         0,    0,   22,    0,    0,    0,   23,    0,
+         0,    0,   13,    0,   30,    0,   28,    4,
+         3,    5,    3,    6,    3,    8,    7,    8,
+         8,    8,    9,    8,   10,    8,   11,    8,
+         4,    8,    5,    8,    6,    4,    1,    5,
+         1,    6,    1,    0,   43,    0,    3,    2,
+         3,    4,    0,   51,    0,   71,    0,   69,
+         0,   23,    0,   65,    4,   -6,  101,  105,
+        -2,   -6,   85,  -99,  -37,  112,   90,   44,
+      -123, -107,    4,  -12,  -64,   92,   40,  100,
+        22,  -53, -124,   54,   56,  102,   25,   76,
+       -86,   -1,    6,  110,   95,   92,  -86,  -35,
+      -101,  115,   85,   99,   19,    6,  -43,  105,
+       -37,  -92,   53,  -97,   84,   -1,  -53,   87,
+       -53, -107,  -13,  -14,   32,  101,  -35,   39,
+       102,  -17, -119,  -25,  -51,    0,   41,    0,
+        58,    0,   21,    0,   15,   67,  108,  105,
+       101,  110,  116,   95,  105,  100,  101,  110,
+       116,  105,  116,  121,    0,    0,    0,    0,
+         0,   33,   32, -113,  -27,  -44,  -71,  -68,
+       -26,  -47,   57,  -82,  -29,  -13,  -61,   77,
+        52,  -60,   27,   74, -120, -104,  102,   21,
+       121,    0,   48,   43,  -40,  -19,  -67,   57,
+       -20,   97,   23
+    };
+
+    // Client Hello containing both pre_shared_key and psk_key_exchange_modes
+    // extensions.  Generation of this hello was done by adding
+    // "-psk a1b2c3d4" to the s_client command.
+    //
+    //    TLSv1.3 Record Layer: Handshake Protocol: Client Hello
+    //        Content Type: Handshake (22)
+    //        Version: TLS 1.0 (0x0301)
+    //        Length: 324
+    //        Handshake Protocol: Client Hello
+    //            Handshake Type: Client Hello (1)
+    //            Length: 320
+    //            Version: TLS 1.2 (0x0303)
+    //            Random: e730e42336a19ed9fdb42919c65769132e9e779a797f188c...
+    //            Session ID Length: 32
+    //            Session ID: 6c6ed31408042fabd0c47fdeee6d19de2d6795e37590f00e...
+    //            Cipher Suites Length: 8
+    //            Cipher Suites (4 suites)
+    //            Compression Methods Length: 1
+    //            Compression Methods (1 method)
+    //            Extensions Length: 239
+    //            Extension: server_name (len=14)
+    //            Extension: ec_point_formats (len=4)
+    //            Extension: supported_groups (len=4)
+    //            Extension: SessionTicket TLS (len=0)
+    //            Extension: status_request (len=5)
+    //            Extension: encrypt_then_mac (len=0)
+    //            Extension: extended_master_secret (len=0)
+    //            Extension: signature_algorithms (len=30)
+    //            Extension: supported_versions (len=3)
+    //            Extension: psk_key_exchange_modes (len=2)
+    //                Type: psk_key_exchange_modes (45)
+    //                Length: 2
+    //                PSK Key Exchange Modes Length: 1
+    //                PSK Key Exchange Mode: PSK with (EC)DHE key establishment (psk_dhe_ke) (1)
+    //            Extension: key_share (len=71)
+    //            Extension: pre_shared_key (len=58)
+    //                Type: pre_shared_key (41)
+    //                Length: 58
+    //                Pre-Shared Key extension
+    //                    Identities Length: 21
+    //                    PSK Identity (length: 15)
+    //                        Identity Length: 15
+    //                        Identity: 436c69656e745f6964656e74697479
+    //                        Obfuscated Ticket Age: 0
+    //                    PSK Binders length: 33
+    //                    PSK Binders
+    private static final byte[] CLIHELLO_YESPSK_YESPSKEXMODE = {
+        22,    3,    1,    1,   68,    1,    0,    1,
+        64,    3,    3,  -25,   48,  -28,   35,   54,
+       -95,  -98,  -39,   -3,  -76,   41,   25,  -58,
+        87,  105,   19,   46,  -98,  119, -102,  121,
+       127,   24, -116,   -9,  -99,   22,  116,  -97,
+        90,   73,  -18,   32,  108,  110,  -45,   20,
+         8,    4,   47,  -85,  -48,  -60,  127,  -34,
+       -18,  109,   25,  -34,   45,  103, -107,  -29,
+       117, -112,  -16,   14,   -5,  -24,   24,   61,
+        -9,   28, -119,  -73,    0,    8,   19,    2,
+        19,    3,   19,    1,    0,   -1,    1,    0,
+         0,  -17,    0,    0,    0,   14,    0,   12,
+         0,    0,    9,  108,  111,   99,   97,  108,
+       104,  111,  115,  116,    0,   11,    0,    4,
+         3,    0,    1,    2,    0,   10,    0,    4,
+         0,    2,    0,   23,    0,   35,    0,    0,
+         0,    5,    0,    5,    1,    0,    0,    0,
+         0,    0,   22,    0,    0,    0,   23,    0,
+         0,    0,   13,    0,   30,    0,   28,    4,
+         3,    5,    3,    6,    3,    8,    7,    8,
+         8,    8,    9,    8,   10,    8,   11,    8,
+         4,    8,    5,    8,    6,    4,    1,    5,
+         1,    6,    1,    0,   43,    0,    3,    2,
+         3,    4,    0,   45,    0,    2,    1,    1,
+         0,   51,    0,   71,    0,   69,    0,   23,
+         0,   65,    4,   -6,  101,  105,   -2,   -6,
+        85,  -99,  -37,  112,   90,   44, -123, -107,
+         4,  -12,  -64,   92,   40,  100,   22,  -53,
+      -124,   54,   56,  102,   25,   76,  -86,   -1,
+         6,  110,   95,   92,  -86,  -35, -101,  115,
+        85,   99,   19,    6,  -43,  105,  -37,  -92,
+        53,  -97,   84,   -1,  -53,   87,  -53, -107,
+       -13,  -14,   32,  101,  -35,   39,  102,  -17,
+      -119,  -25,  -51,    0,   41,    0,   58,    0,
+        21,    0,   15,   67,  108,  105,  101,  110,
+       116,   95,  105,  100,  101,  110,  116,  105,
+       116,  121,    0,    0,    0,    0,    0,   33,
+        32, -113,  -27,  -44,  -71,  -68,  -26,  -47,
+        57,  -82,  -29,  -13,  -61,   77,   52,  -60,
+        27,   74, -120, -104,  102,   21,  121,    0,
+        48,   43,  -40,  -19,  -67,   57,  -20,   97,
+        23
+    };
+
+    // Client Hello with sect163k1 and secp256r1 as supported groups.  This
+    // test covers an error condition where a known, supported curve that is
+    // not in the default enabled set of curves would cause failures.
+    // Generation of this hello was done using "-curves sect163k1:prime256v1"
+    // as an option to s_client.
+    //
+    //    TLSv1.2 Record Layer: Handshake Protocol: Client Hello
+    //        Content Type: Handshake (22)
+    //        Version: TLS 1.0 (0x0301)
+    //        Length: 210
+    //        Handshake Protocol: Client Hello
+    //            Handshake Type: Client Hello (1)
+    //            Length: 206
+    //            Version: TLS 1.2 (0x0303)
+    //            Random: 05cbae9b834851d856355b72601cb67b7cd4eb51f29ed50b...
+    //            Session ID Length: 0
+    //            Cipher Suites Length: 56
+    //            Cipher Suites (28 suites)
+    //            Compression Methods Length: 1
+    //            Compression Methods (1 method)
+    //            Extensions Length: 109
+    //            Extension: server_name (len=14)
+    //            Extension: ec_point_formats (len=4)
+    //            Extension: supported_groups (len=6)
+    //                Type: supported_groups (10)
+    //                Length: 6
+    //                Supported Groups List Length: 4
+    //                Supported Groups (2 groups)
+    //                    Supported Group: sect163k1 (0x0001)
+    //                    Supported Group: secp256r1 (0x0017)
+    //            Extension: SessionTicket TLS (len=0)
+    //            Extension: status_request (len=5)
+    //            Extension: encrypt_then_mac (len=0)
+    //            Extension: extended_master_secret (len=0)
+    //            Extension: signature_algorithms (len=48)
+    private static final byte[] CLIHELLO_SUPGRP_SECT163K1 = {
+        22,    3,    1,    0,  -46,    1,    0,    0,
+       -50,    3,    3,    5,  -53,  -82, -101, -125,
+        72,   81,  -40,   86,   53,   91,  114,   96,
+        28,  -74,  123,  124,  -44,  -21,   81,  -14,
+       -98,  -43,   11,   90,  -87, -106,   13,   63,
+       -62,  100,  111,    0,    0,   56,  -64,   44,
+       -64,   48,    0,  -97,  -52,  -87,  -52,  -88,
+       -52,  -86,  -64,   43,  -64,   47,    0,  -98,
+       -64,   36,  -64,   40,    0,  107,  -64,   35,
+       -64,   39,    0,  103,  -64,   10,  -64,   20,
+         0,   57,  -64,    9,  -64,   19,    0,   51,
+         0,  -99,    0, -100,    0,   61,    0,   60,
+         0,   53,    0,   47,    0,   -1,    1,    0,
+         0,  109,    0,    0,    0,   14,    0,   12,
+         0,    0,    9,  108,  111,   99,   97,  108,
+       104,  111,  115,  116,    0,   11,    0,    4,
+         3,    0,    1,    2,    0,   10,    0,    6,
+         0,    4,    0,    1,    0,   23,    0,   35,
+         0,    0,    0,    5,    0,    5,    1,    0,
+         0,    0,    0,    0,   22,    0,    0,    0,
+        23,    0,    0,    0,   13,    0,   48,    0,
+        46,    4,    3,    5,    3,    6,    3,    8,
+         7,    8,    8,    8,    9,    8,   10,    8,
+        11,    8,    4,    8,    5,    8,    6,    4,
+         1,    5,    1,    6,    1,    3,    3,    2,
+         3,    3,    1,    2,    1,    3,    2,    2,
+         2,    4,    2,    5,    2,    6,    2
+    };
+
+    public static interface TestCase {
+        void execTest() throws Exception;
+    }
+
+    private static final Map<String, TestCase> TESTMAP = new HashMap<>();
+
+    public static void main(String[] args) throws Exception {
+        boolean allGood = true;
+        System.setProperty("javax.net.debug", "ssl:handshake");
+        trustMgrFac = makeTrustManagerFactory(trustFilename, passwd);
+        keyMgrFac = makeKeyManagerFactory(keyFilename, passwd);
+
+        // Populate the test map
+        TESTMAP.put("noPskNoKexModes", noPskNoKexModes);
+        TESTMAP.put("noPskYesKexModes", noPskYesKexModes);
+        TESTMAP.put("yesPskNoKexModes", yesPskNoKexModes);
+        TESTMAP.put("yesPskYesKexModes", yesPskYesKexModes);
+        TESTMAP.put("supGroupsSect163k1", supGroupsSect163k1);
+
+        if (args == null || args.length < 1) {
+            throw new Exception("FAIL: Test @run line is missing a test label");
+        }
+
+        // Pull the test to run from the test map.
+        TestCase test = Objects.requireNonNull(TESTMAP.get(args[0]),
+                "No TestCase found for test label " + args[0]);
+        test.execTest();
+    }
+
+    /**
+     * Test case to cover hellos with no pre_shared_key nor
+     * psk_key_exchange_modes extensions.  Clients not supporting PSK at all
+     * may send hellos like this.
+     */
+    private static final TestCase noPskNoKexModes = new TestCase() {
+        @Override
+        public void execTest() throws Exception {
+            System.out.println("\nTest: PSK = No, PSKEX = No");
+            processClientHello("TLS", CLIHELLO_NOPSK_NOPSKEXMODE);
+            System.out.println("PASS");
+        }
+    };
+
+    /**
+     * Test case to cover hellos with no pre_shared_key but have the
+     * psk_key_exchange_modes extension.  This kind of hello is seen from
+     * some popular browsers and test clients.
+     */
+    private static final TestCase noPskYesKexModes = new TestCase() {
+        @Override
+        public void execTest() throws Exception {
+            System.out.println("\nTest: PSK = No, PSKEX = Yes");
+            processClientHello("TLS", CLIHELLO_NOPSK_YESPSKEXMODE);
+            System.out.println("PASS");
+        }
+    };
+
+    /**
+     * Test case using a client hello with the pre_shared_key extension but
+     * no psk_key_exchange_modes extension present.  This is a violation of
+     * 8446 and should cause an exception when unwrapped and processed by
+     * SSLEngine.
+     */
+    private static final TestCase yesPskNoKexModes = new TestCase() {
+        @Override
+        public void execTest() throws Exception {
+            try {
+                System.out.println("\nTest: PSK = Yes, PSKEX = No");
+                processClientHello("TLS", CLIHELLO_YESPSK_NOPSKEXMODE);
+                throw new Exception(
+                    "FAIL: Client Hello processed without expected error");
+            } catch (SSLHandshakeException sslhe) {
+                System.out.println("PASS: Caught expected exception: " + sslhe);
+            }
+        }
+    };
+
+    /**
+     * Test case using a client hello asserting the pre_shared_key and
+     * psk_key_exchange_modes extensions.
+     */
+    private static final TestCase yesPskYesKexModes = new TestCase() {
+        @Override
+        public void execTest() throws Exception {
+            System.out.println("\nTest: PSK = Yes, PSKEX = Yes");
+            processClientHello("TLS", CLIHELLO_YESPSK_YESPSKEXMODE);
+            System.out.println("PASS");
+        }
+    };
+
+    /**
+     * Test case with a client hello asserting two named curves in the
+     * supported_groups extension: sect163k1 and secp256r1.
+     */
+    private static final TestCase supGroupsSect163k1 = new TestCase() {
+        @Override
+        public void execTest() throws Exception {
+            System.out.println("\nTest: Use of non-default-enabled " +
+                    "Supported Group (sect163k1)");
+            processClientHello("TLS", CLIHELLO_SUPGRP_SECT163K1);
+            System.out.println("PASS");
+        }
+    };
+
+    /**
+     * Send a ClientHello message to an SSLEngine instance configured as a
+     * server.
+     *
+     * @param proto the protocol used to create the SSLContext.  This will
+     *      default to "TLS" if null is passed in.
+     * @param message the ClientHello as a complete TLS record.
+     *
+     * @throws Exception if any processing errors occur.  The caller (TestCase)
+     *      is expected to deal with the exception in whatever way appropriate
+     *      for the test.
+     */
+    private static void processClientHello(String proto, byte[] message)
+            throws Exception {
+        SSLEngine serverEng = makeServerEngine(proto, keyMgrFac, trustMgrFac);
+        ByteBuffer sTOc = makePacketBuf(serverEng);
+        SSLEngineResult serverResult;
+
+        ByteBuffer cTOs = ByteBuffer.wrap(message);
+        System.out.println("CLIENT-TO-SERVER\n" +
+                dumpHexBytes(cTOs, 16, "\n", " "));
+        serverResult = serverEng.unwrap(cTOs, SERVOUTBUF);
+        printResult("server unwrap: ", serverResult);
+        runDelegatedTasks(serverResult, serverEng);
+        serverEng.wrap(SERVOUTBUF, sTOc);
+    }
+
+    /**
+     * Create a TrustManagerFactory from a given keystore.
+     *
+     * @param tsPath the path to the trust store file.
+     * @param pass the password for the trust store.
+     *
+     * @return a new TrustManagerFactory built from the trust store provided.
+     *
+     * @throws GeneralSecurityException if any processing errors occur
+     *      with the Keystore instantiation or TrustManagerFactory creation.
+     * @throws IOException if any loading error with the trust store occurs.
+     */
+    private static TrustManagerFactory makeTrustManagerFactory(String tsPath,
+            String pass) throws GeneralSecurityException, IOException {
+        KeyStore ts = KeyStore.getInstance("JKS");
+        char[] passphrase = pass.toCharArray();
+
+        ts.load(new FileInputStream(tsPath), passphrase);
+        TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
+        tmf.init(ts);
+        return tmf;
+    }
+
+    /**
+     * Create a KeyManagerFactory from a given keystore.
+     *
+     * @param ksPath the path to the keystore file.
+     * @param pass the password for the keystore.
+     *
+     * @return a new TrustManagerFactory built from the keystore provided.
+     *
+     * @throws GeneralSecurityException if any processing errors occur
+     *      with the Keystore instantiation or KeyManagerFactory creation.
+     * @throws IOException if any loading error with the keystore occurs
+     */
+    private static KeyManagerFactory makeKeyManagerFactory(String ksPath,
+            String pass) throws GeneralSecurityException, IOException {
+        KeyStore ks = KeyStore.getInstance("JKS");
+        char[] passphrase = pass.toCharArray();
+
+        ks.load(new FileInputStream(ksPath), passphrase);
+        KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
+        kmf.init(ks, passphrase);
+        return kmf;
+    }
+
+    /**
+     * Create an SSLEngine instance from a given protocol specifier,
+     * KeyManagerFactory and TrustManagerFactory.
+     *
+     * @param proto the protocol specifier for the SSLContext.  This will
+     *      default to "TLS" if null is provided.
+     * @param kmf an initialized KeyManagerFactory.  May be null.
+     * @param tmf an initialized TrustManagerFactory.  May be null.
+     *
+     * @return an SSLEngine instance configured as a server and with client
+     *      authentication disabled.
+     *
+     * @throws GeneralSecurityException if any errors occur during the
+     *      creation of the SSLEngine.
+     */
+    private static SSLEngine makeServerEngine(String proto,
+            KeyManagerFactory kmf, TrustManagerFactory tmf)
+            throws GeneralSecurityException {
+        SSLContext ctx = SSLContext.getInstance(proto != null ? proto : "TLS");
+        ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+        SSLEngine ssle = ctx.createSSLEngine();
+        ssle.setUseClientMode(false);
+        ssle.setNeedClientAuth(false);
+        return ssle;
+    }
+
+    /**
+     * Make a ByteBuffer sized for TLS records that can be used by an SSLEngine.
+     *
+     * @param engine the SSLEngine used to determine the packet buffer size.
+     *
+     * @return a ByteBuffer sized for TLS packets.
+     */
+    private static ByteBuffer makePacketBuf(SSLEngine engine) {
+        SSLSession sess = engine.getSession();
+        ByteBuffer packetBuf = ByteBuffer.allocate(sess.getPacketBufferSize());
+        return packetBuf;
+    }
+
+    /**
+     * Runs any delegated tasks after unwrapping TLS records.
+     *
+     * @param result the most recent result from an unwrap operation on
+     *      an SSLEngine.
+     * @param engine the SSLEngine used to unwrap the data.
+     *
+     * @throws Exception if any errors occur while running the delegated
+     *      tasks.
+     */
+    private static void runDelegatedTasks(SSLEngineResult result,
+            SSLEngine engine) throws Exception {
+        HandshakeStatus hsStatus = result.getHandshakeStatus();
+        if (hsStatus == HandshakeStatus.NEED_TASK) {
+            Runnable runnable;
+            while ((runnable = engine.getDelegatedTask()) != null) {
+                System.out.println("\trunning delegated task...");
+                runnable.run();
+            }
+            hsStatus = engine.getHandshakeStatus();
+            if (hsStatus == HandshakeStatus.NEED_TASK) {
+                throw new Exception(
+                    "handshake shouldn't need additional tasks");
+            }
+            System.out.println("\tnew HandshakeStatus: " + hsStatus);
+        }
+    }
+
+    /**
+     * Display the results of a wrap or unwrap operation from an SSLEngine.
+     *
+     * @param str a label to be prefixed to the result display.
+     * @param result the result returned from the wrap/unwrap operation.
+     */
+    private static void printResult(String str, SSLEngineResult result) {
+        System.out.println("The format of the SSLEngineResult is: \n" +
+            "\t\"getStatus() / getHandshakeStatus()\" +\n" +
+            "\t\"bytesConsumed() / bytesProduced()\"\n");
+        HandshakeStatus hsStatus = result.getHandshakeStatus();
+        System.out.println(str + result.getStatus() + "/" + hsStatus + ", " +
+            result.bytesConsumed() + "/" + result.bytesProduced() + " bytes");
+        if (hsStatus == HandshakeStatus.FINISHED) {
+            System.out.println("\t...ready for application data");
+        }
+    }
+
+    /**
+     * Dump the hex bytes of a buffer into string form.
+     *
+     * @param data The array of bytes to dump to stdout.
+     * @param itemsPerLine The number of bytes to display per line
+     *      if the {@code lineDelim} character is blank then all bytes
+     *      will be printed on a single line.
+     * @param lineDelim The delimiter between lines
+     * @param itemDelim The delimiter between bytes
+     *
+     * @return The hexdump of the byte array
+     */
+    private static String dumpHexBytes(byte[] data, int itemsPerLine,
+            String lineDelim, String itemDelim) {
+        return dumpHexBytes(ByteBuffer.wrap(data), itemsPerLine, lineDelim,
+                itemDelim);
+    }
+
+    /**
+     * Dump the hex bytes of a buffer into string form.
+     *
+     * @param data The ByteBuffer to dump to stdout.
+     * @param itemsPerLine The number of bytes to display per line
+     *      if the {@code lineDelim} character is blank then all bytes
+     *      will be printed on a single line.
+     * @param lineDelim The delimiter between lines
+     * @param itemDelim The delimiter between bytes
+     *
+     * @return The hexdump of the byte array
+     */
+    private static String dumpHexBytes(ByteBuffer data, int itemsPerLine,
+            String lineDelim, String itemDelim) {
+        StringBuilder sb = new StringBuilder();
+        if (data != null) {
+            data.mark();
+            int i = 0;
+            while (data.remaining() > 0) {
+                if (i % itemsPerLine == 0 && i != 0) {
+                    sb.append(lineDelim);
+                }
+                sb.append(String.format("%02X", data.get())).append(itemDelim);
+                i++;
+            }
+            data.reset();
+        }
+
+        return sb.toString();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/jdk/internal/reflect/Reflection/Filtering.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2018, 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 8210496
+ * @modules java.base/jdk.internal.reflect
+ * @run testng Filtering
+ * @summary Test that security sensitive fields that filtered by core reflection
+ */
+
+import java.lang.reflect.*;
+import java.lang.invoke.MethodHandles.Lookup;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import static org.testng.Assert.assertTrue;
+
+public class Filtering {
+
+    @DataProvider(name = "sensitiveClasses")
+    private Object[][] sensitiveClasses() {
+        return new Object[][]{
+            { jdk.internal.reflect.Reflection.class, null },
+            { AccessibleObject.class, null },
+            { ClassLoader.class, null },
+            { Constructor.class, null },
+            { Field.class, null },
+            { Method.class, null },
+        };
+    }
+
+    @DataProvider(name = "sensitiveFields")
+    private Object[][] sensitiveFields() {
+        return new Object[][]{
+            { AccessibleObject.class, "override" },
+            { Class.class, "classLoader" },
+            { ClassLoader.class, "parent" },
+            { Field.class, "clazz" },
+            { Field.class, "modifiers" },
+            { Lookup.class, "lookupClass" },
+            { Lookup.class, "allowedModes" },
+            { Method.class, "clazz" },
+            { Method.class, "modifiers" },
+            { System.class, "security" },
+        };
+    }
+
+    @Test(dataProvider = "sensitiveClasses")
+    public void testClass(Class<?> clazz, Object ignore) throws Exception {
+        Field[] fields = clazz.getDeclaredFields();
+        assertTrue(fields.length == 0);
+    }
+
+    @Test(dataProvider = "sensitiveFields",
+          expectedExceptions = NoSuchFieldException.class)
+    public void testField(Class<?> clazz, String name) throws Exception {
+        clazz.getDeclaredField(name);
+    }
+
+}
--- a/test/jdk/jdk/internal/reflect/constantPool/ConstantPoolTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/jdk/internal/reflect/constantPool/ConstantPoolTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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
@@ -27,7 +27,7 @@
  * @summary Tests new public methods at ConstantPool
  * @modules java.base/jdk.internal.misc
  *          java.base/jdk.internal.reflect
- * @library /lib/testlibrary
+ * @library /test/lib
  * @compile ConstantPoolTestDummy.jasm
  * @run main jdk.internal.reflect.constantPool.ConstantPoolTest
  */
@@ -37,7 +37,7 @@
 import java.util.HashMap;
 import java.util.Map;
 import jdk.internal.misc.SharedSecrets;
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 import jdk.internal.reflect.ConstantPool;
 
 public class ConstantPoolTest {
--- a/test/jdk/jdk/nio/zipfs/ZipFSTester.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/jdk/nio/zipfs/ZipFSTester.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
@@ -28,6 +28,7 @@
 import java.net.URI;
 import java.net.URLDecoder;
 import java.nio.ByteBuffer;
+import java.nio.channels.Channels;
 import java.nio.channels.FileChannel;
 import java.nio.channels.SeekableByteChannel;
 import java.nio.file.DirectoryStream;
@@ -58,8 +59,10 @@
 import java.util.Random;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
+import java.util.zip.CRC32;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
+import java.util.zip.ZipOutputStream;
 
 import static java.nio.file.StandardOpenOption.*;
 import static java.nio.file.StandardCopyOption.*;
@@ -70,7 +73,7 @@
  * @test
  * @bug 6990846 7009092 7009085 7015391 7014948 7005986 7017840 7007596
  *      7157656 8002390 7012868 7012856 8015728 8038500 8040059 8069211
- *      8131067
+ *      8131067 8034802 8210899
  * @summary Test Zip filesystem provider
  * @modules jdk.zipfs
  * @run main ZipFSTester
@@ -80,23 +83,26 @@
 public class ZipFSTester {
 
     public static void main(String[] args) throws Exception {
-
         // create JAR file for test, actual contents don't matter
         Path jarFile = Utils.createJarFile("tester.jar",
                 "META-INF/MANIFEST.MF",
                 "dir1/foo",
-                "dir2/bar");
+                "dir2/bar",
+                "dir1/dir3/fooo");
 
         try (FileSystem fs = newZipFileSystem(jarFile, Collections.emptyMap())) {
             test0(fs);
             test1(fs);
             test2(fs);   // more tests
         }
+        testStreamChannel();
         testTime(jarFile);
         test8069211();
         test8131067();
     }
 
+    private static Random rdm = new Random();
+
     static void test0(FileSystem fs)
         throws Exception
     {
@@ -121,13 +127,28 @@
     static void test1(FileSystem fs0)
         throws Exception
     {
-        Random rdm = new Random();
-        // clone a fs and test on it
+        // prepare a src for testing
+        Path src = getTempPath();
+        String tmpName = src.toString();
+        try (OutputStream os = Files.newOutputStream(src)) {
+            byte[] bits = new byte[12345];
+            rdm.nextBytes(bits);
+            os.write(bits);
+        }
+
+        // clone a fs from fs0 and test on it
         Path tmpfsPath = getTempPath();
         Map<String, Object> env = new HashMap<String, Object>();
         env.put("create", "true");
         try (FileSystem copy = newZipFileSystem(tmpfsPath, env)) {
             z2zcopy(fs0, copy, "/", 0);
+
+            // copy the test jar itself in
+            Files.copy(Paths.get(fs0.toString()), copy.getPath("/foo.jar"));
+            Path zpath = copy.getPath("/foo.jar");
+            try (FileSystem zzfs = FileSystems.newFileSystem(zpath, null)) {
+                Files.copy(src, zzfs.getPath("/srcInjarjar"));
+            }
         }
 
         try (FileSystem fs = newZipFileSystem(tmpfsPath, new HashMap<String, Object>())) {
@@ -142,15 +163,6 @@
                 throw new RuntimeException("newFileSystem(URI...) does not throw exception");
             } catch (FileSystemAlreadyExistsException fsaee) {}
 
-            // prepare a src
-            Path src = getTempPath();
-            String tmpName = src.toString();
-            OutputStream os = Files.newOutputStream(src);
-            byte[] bits = new byte[12345];
-            rdm.nextBytes(bits);
-            os.write(bits);
-            os.close();
-
             try {
                 provider.newFileSystem(new File(System.getProperty("test.src", ".")).toPath(),
                                        new HashMap<String, Object>());
@@ -162,6 +174,8 @@
                 throw new RuntimeException("newFileSystem() opens a non-zip file as zipfs");
             } catch (UnsupportedOperationException uoe) {}
 
+            // walk
+            walk(fs.getPath("/"));
 
             // copyin
             Path dst = getPathWithParents(fs, tmpName);
@@ -236,10 +250,29 @@
             // test channels
             channel(fs, dst);
             Files.delete(dst);
-            Files.delete(src);
+
+            // test foo.jar in jar/zipfs #8034802
+            Path jpath = fs.getPath("/foo.jar");
+            System.out.println("walking: " + jpath);
+            try (FileSystem zzfs = FileSystems.newFileSystem(jpath, null)) {
+                walk(zzfs.getPath("/"));
+                // foojar:/srcInjarjar
+                checkEqual(src, zzfs.getPath("/srcInjarjar"));
+
+                dst = getPathWithParents(zzfs, tmpName);
+                fchCopy(src, dst);
+                checkEqual(src, dst);
+                tmp = Paths.get(tmpName + "_Tmp");
+                fchCopy(dst, tmp);   //  out
+                checkEqual(src, tmp);
+                Files.delete(tmp);
+
+                channel(zzfs, dst);
+                Files.delete(dst);
+            }
         } finally {
-            if (Files.exists(tmpfsPath))
-                Files.delete(tmpfsPath);
+            Files.deleteIfExists(tmpfsPath);
+            Files.deleteIfExists(src);
         }
     }
 
@@ -383,6 +416,180 @@
         Files.delete(fs3Path);
     }
 
+    static final int METHOD_STORED     = 0;
+    static final int METHOD_DEFLATED   = 8;
+
+    static Object[][] getEntries() {
+        Object[][] entries = new Object[10 + rdm.nextInt(20)][3];
+        for (int i = 0; i < entries.length; i++) {
+            entries[i][0] = "entries" + i;
+            entries[i][1] = rdm.nextInt(10) % 2 == 0 ?
+                METHOD_STORED : METHOD_DEFLATED;
+            entries[i][2] = new byte[rdm.nextInt(8192)];
+            rdm.nextBytes((byte[])entries[i][2]);
+        }
+        return entries;
+    }
+
+    // check the content of read from zipfs is equal to the "bytes"
+    private static void checkRead(Path path, byte[] expected) throws IOException {
+
+        // fileAttribute
+        CRC32 crc32 = new CRC32();
+        crc32.update(expected);
+
+        if (((Long)Files.getAttribute(path, "zip:crc")).intValue() !=
+            (int)crc32.getValue()) {
+            System.out.printf(" getAttribute.crc <%s> failed %x vs %x ...%n",
+                              path.toString(),
+                              ((Long)Files.getAttribute(path, "zip:crc")).intValue(),
+                              (int)crc32.getValue());
+            throw new RuntimeException("CHECK FAILED!");
+        }
+
+        if (((Long)Files.getAttribute(path, "zip:size")).intValue() != expected.length) {
+            System.out.printf(" getAttribute.size <%s> failed %x vs %x ...%n",
+                              path.toString(),
+                              ((Long)Files.getAttribute(path, "zip:size")).intValue(),
+                              expected.length);
+            throw new RuntimeException("CHECK FAILED!");
+        }
+
+        //streams
+        try (InputStream is = Files.newInputStream(path)) {
+            if (!Arrays.equals(is.readAllBytes(), expected)) {
+                System.out.printf(" newInputStream <%s> failed...%n", path.toString());
+                throw new RuntimeException("CHECK FAILED!");
+            }
+        }
+
+        // channels -- via sun.nio.ch.ChannelInputStream
+        try (SeekableByteChannel sbc = Files.newByteChannel(path);
+            InputStream is = Channels.newInputStream(sbc)) {
+
+            // check all bytes match
+            if (!Arrays.equals(is.readAllBytes(), expected)) {
+                System.out.printf(" newByteChannel <%s> failed...%n", path.toString());
+                throw new RuntimeException("CHECK FAILED!");
+            }
+
+            // Check if read position is at the end
+            if (sbc.position() != expected.length) {
+                System.out.printf("pos [%s]: size=%d, position=%d%n",
+                                  path.toString(), expected.length, sbc.position());
+                throw new RuntimeException("CHECK FAILED!");
+            }
+
+            // Check position(x) + read() at the random/specific pos/len
+            byte[] buf = new byte[1024];
+            ByteBuffer bb = ByteBuffer.wrap(buf);
+            for (int i = 0; i < 10; i++) {
+                int pos = rdm.nextInt((int)sbc.size());
+                int len = rdm.nextInt(Math.min(buf.length, expected.length - pos));
+                // System.out.printf("  --> %d, %d%n", pos, len);
+                bb.position(0).limit(len);    // bb.flip().limit(len);
+                if (sbc.position(pos).position() != pos ||
+                    sbc.read(bb) != len ||
+                    !Arrays.equals(buf, 0, bb.position(), expected, pos, pos + len)) {
+                    System.out.printf("read()/position() failed%n");
+                }
+            }
+        } catch (IOException x) {
+            x.printStackTrace();
+            throw new RuntimeException("CHECK FAILED!");
+        }
+    }
+
+    // test entry stream/channel reading
+    static void testStreamChannel() throws Exception {
+        Path zpath = getTempPath();
+        try {
+            var crc = new CRC32();
+            Object[][] entries = getEntries();
+
+            // [1] create zip via ZipOutputStream
+            try (var os = Files.newOutputStream(zpath);
+                 var zos = new ZipOutputStream(os)) {
+                for (Object[] entry : entries) {
+                   var ze = new ZipEntry((String)entry[0]);
+                   int method = (int)entry[1];
+                   byte[] bytes = (byte[])entry[2];
+                   if (method == METHOD_STORED) {
+                       ze.setSize(bytes.length);
+                       crc.reset();
+                       crc.update(bytes);
+                       ze.setCrc(crc.getValue());
+                   }
+                   ze.setMethod(method);
+                   zos.putNextEntry(ze);
+                   zos.write(bytes);
+                   zos.closeEntry();
+                }
+            }
+            try (var zfs = newZipFileSystem(zpath, Collections.emptyMap())) {
+                for (Object[] e : entries) {
+                    Path path = zfs.getPath((String)e[0]);
+                    int method = (int)e[1];
+                    byte[] bytes = (byte[])e[2];
+                    // System.out.printf("checking read [%s, %d, %d]%n",
+                    //                   path.toString(), bytes.length, method);
+                    checkRead(path, bytes);
+                }
+            }
+            Files.deleteIfExists(zpath);
+
+            // [2] create zip via zfs.newByteChannel
+            try (var zfs = newZipFileSystem(zpath, Map.of("create", "true"))) {
+                for (Object[] e : entries) {
+                    //  tbd: method is not used
+                    try (var sbc = Files.newByteChannel(zfs.getPath((String)e[0]),
+                                                        CREATE_NEW, WRITE)) {
+                        sbc.write(ByteBuffer.wrap((byte[])e[2]));
+                    }
+                }
+            }
+            try (var zfs = newZipFileSystem(zpath, Collections.emptyMap())) {
+                for (Object[] e : entries) {
+                    checkRead(zfs.getPath((String)e[0]), (byte[])e[2]);
+                }
+            }
+            Files.deleteIfExists(zpath);
+
+            // [3] create zip via Files.write()/newoutputStream/
+            try (var zfs = newZipFileSystem(zpath, Map.of("create", "true"))) {
+                for (Object[] e : entries) {
+                    Files.write(zfs.getPath((String)e[0]), (byte[])e[2]);
+                }
+            }
+            try (var zfs = newZipFileSystem(zpath, Collections.emptyMap())) {
+                for (Object[] e : entries) {
+                    checkRead(zfs.getPath((String)e[0]), (byte[])e[2]);
+                }
+            }
+            Files.deleteIfExists(zpath);
+
+            // [4] create zip via zfs.newByteChannel, with "method_stored"
+            try (var zfs = newZipFileSystem(zpath,
+                    Map.of("create", true, "noCompression", true))) {
+                for (Object[] e : entries) {
+                    try (var sbc = Files.newByteChannel(zfs.getPath((String)e[0]),
+                                                        CREATE_NEW, WRITE)) {
+                        sbc.write(ByteBuffer.wrap((byte[])e[2]));
+                    }
+                }
+            }
+            try (var zfs = newZipFileSystem(zpath, Collections.emptyMap())) {
+                for (Object[] e : entries) {
+                    checkRead(zfs.getPath((String)e[0]), (byte[])e[2]);
+                }
+            }
+            Files.deleteIfExists(zpath);
+
+        } finally {
+            Files.deleteIfExists(zpath);
+        }
+    }
+
     // test file stamp
     static void testTime(Path src) throws Exception {
         BasicFileAttributes attrs = Files
@@ -392,34 +599,35 @@
         Map<String, Object> env = new HashMap<String, Object>();
         env.put("create", "true");
         Path fsPath = getTempPath();
-        FileSystem fs = newZipFileSystem(fsPath, env);
+        try (FileSystem fs = newZipFileSystem(fsPath, env)) {
+            System.out.println("test copy with timestamps...");
+            // copyin
+            Path dst = getPathWithParents(fs, "me");
+            Files.copy(src, dst, COPY_ATTRIBUTES);
+            checkEqual(src, dst);
+            System.out.println("mtime: " + attrs.lastModifiedTime());
+            System.out.println("ctime: " + attrs.creationTime());
+            System.out.println("atime: " + attrs.lastAccessTime());
+            System.out.println(" ==============>");
+            BasicFileAttributes dstAttrs = Files
+                            .getFileAttributeView(dst, BasicFileAttributeView.class)
+                            .readAttributes();
+            System.out.println("mtime: " + dstAttrs.lastModifiedTime());
+            System.out.println("ctime: " + dstAttrs.creationTime());
+            System.out.println("atime: " + dstAttrs.lastAccessTime());
 
-        System.out.println("test copy with timestamps...");
-        // copyin
-        Path dst = getPathWithParents(fs, "me");
-        Files.copy(src, dst, COPY_ATTRIBUTES);
-        checkEqual(src, dst);
-        System.out.println("mtime: " + attrs.lastModifiedTime());
-        System.out.println("ctime: " + attrs.creationTime());
-        System.out.println("atime: " + attrs.lastAccessTime());
-        System.out.println(" ==============>");
-        BasicFileAttributes dstAttrs = Files
-                        .getFileAttributeView(dst, BasicFileAttributeView.class)
-                        .readAttributes();
-        System.out.println("mtime: " + dstAttrs.lastModifiedTime());
-        System.out.println("ctime: " + dstAttrs.creationTime());
-        System.out.println("atime: " + dstAttrs.lastAccessTime());
-
-        // 1-second granularity
-        if (attrs.lastModifiedTime().to(TimeUnit.SECONDS) !=
-            dstAttrs.lastModifiedTime().to(TimeUnit.SECONDS) ||
-            attrs.lastAccessTime().to(TimeUnit.SECONDS) !=
-            dstAttrs.lastAccessTime().to(TimeUnit.SECONDS) ||
-            attrs.creationTime().to(TimeUnit.SECONDS) !=
-            dstAttrs.creationTime().to(TimeUnit.SECONDS)) {
-            throw new RuntimeException("Timestamp Copy Failed!");
+            // 1-second granularity
+            if (attrs.lastModifiedTime().to(TimeUnit.SECONDS) !=
+                dstAttrs.lastModifiedTime().to(TimeUnit.SECONDS) ||
+                attrs.lastAccessTime().to(TimeUnit.SECONDS) !=
+                dstAttrs.lastAccessTime().to(TimeUnit.SECONDS) ||
+                attrs.creationTime().to(TimeUnit.SECONDS) !=
+                dstAttrs.creationTime().to(TimeUnit.SECONDS)) {
+                throw new RuntimeException("Timestamp Copy Failed!");
+            }
+        } finally {
+            Files.delete(fsPath);
         }
-        Files.delete(fsPath);
     }
 
     static void test8069211() throws Exception {
@@ -624,8 +832,8 @@
     // check the content of two paths are equal
     private static void checkEqual(Path src, Path dst) throws IOException
     {
-        //System.out.printf("checking <%s> vs <%s>...%n",
-        //                  src.toString(), dst.toString());
+        System.out.printf("checking <%s> vs <%s>...%n",
+                          src.toString(), dst.toString());
 
         //streams
         byte[] bufSrc = new byte[8192];
@@ -702,6 +910,21 @@
                                   chDst.toString(), chDst.size(), chDst.position());
                 throw new RuntimeException("CHECK FAILED!");
             }
+
+            // Check position(x) + read() at the specific pos/len
+            for (int i = 0; i < 10; i++) {
+                int pos = rdm.nextInt((int)chSrc.size());
+                int limit = rdm.nextInt(1024);
+                if (chSrc.position(pos).position() != chDst.position(pos).position()) {
+                    System.out.printf("dst/src.position(pos failed%n");
+                }
+                bbSrc.clear().limit(limit);
+                bbDst.clear().limit(limit);
+                if (chSrc.read(bbSrc) != chDst.read(bbDst) ||
+                    !bbSrc.flip().equals(bbDst.flip())) {
+                    System.out.printf("dst/src.read() failed%n");
+                }
+            }
         } catch (IOException x) {
             x.printStackTrace();
         }
--- a/test/jdk/lib/testlibrary/AssertsTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/lib/testlibrary/AssertsTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
@@ -23,9 +23,11 @@
 
 import java.lang.SuppressWarnings;
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
-/* @test
+/*
+ * @test
+ * @library /test/lib
  * @summary Tests the different assertions in the Assert class
  */
 public class AssertsTest {
--- a/test/jdk/lib/testlibrary/jdk/testlibrary/Asserts.java	Sat Sep 22 20:31:45 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,566 +0,0 @@
-/*
- * 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
- * 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 jdk.testlibrary;
-
-import java.util.Objects;
-
-/**
- * Asserts that can be used for verifying assumptions in tests.
- *
- * An assertion will throw a {@link RuntimeException} if the assertion isn't true.
- * All the asserts can be imported into a test by using a static import:
- *
- * <pre>
- * {@code
- * import static jdk.testlibrary.Asserts.*;
- * }
- *
- * Always provide a message describing the assumption if the line number of the
- * failing assertion isn't enough to understand why the assumption failed. For
- * example, if the assertion is in a loop or in a method that is called
- * multiple times, then the line number won't provide enough context to
- * understand the failure.
- * </pre>
- *
- * @deprecated This class is deprecated. Use the one from
- *             {@code <root>/test/lib/jdk/test/lib}
- */
-@Deprecated
-public class Asserts {
-
-    /**
-     * Shorthand for {@link #assertLessThan(Comparable, Comparable)}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertLessThan(Comparable, Comparable)
-     */
-    public static <T extends Comparable<T>> void assertLT(T lhs, T rhs) {
-        assertLessThan(lhs, rhs);
-    }
-
-    /**
-     * Shorthand for {@link #assertLessThan(Comparable, Comparable, String)}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @see #assertLessThan(Comparable, Comparable, String)
-     */
-    public static <T extends Comparable<T>> void assertLT(T lhs, T rhs, String msg) {
-        assertLessThan(lhs, rhs, msg);
-    }
-
-    /**
-     * Calls {@link #assertLessThan(Comparable, Comparable, String)} with a default message.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertLessThan(Comparable, Comparable, String)
-     */
-    public static <T extends Comparable<T>> void assertLessThan(T lhs, T rhs) {
-        assertLessThan(lhs, rhs, null);
-    }
-
-    /**
-     * Asserts that {@code lhs} is less than {@code rhs}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static <T extends Comparable<T>>void assertLessThan(T lhs, T rhs, String msg) {
-        if (!(compare(lhs, rhs, msg) < 0)) {
-            msg = Objects.toString(msg, "assertLessThan")
-                    + ": expected that " + Objects.toString(lhs)
-                    + " < " + Objects.toString(rhs);
-            fail(msg);
-        }
-    }
-
-    /**
-     * Shorthand for {@link #assertLessThanOrEqual(Comparable, Comparable)}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertLessThanOrEqual(Comparable, Comparable)
-     */
-    public static <T extends Comparable<T>> void assertLTE(T lhs, T rhs) {
-        assertLessThanOrEqual(lhs, rhs);
-    }
-
-    /**
-     * Shorthand for {@link #assertLessThanOrEqual(Comparable, Comparable, String)}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @see #assertLessThanOrEqual(Comparable, Comparable, String)
-     */
-    public static <T extends Comparable<T>> void assertLTE(T lhs, T rhs, String msg) {
-        assertLessThanOrEqual(lhs, rhs, msg);
-    }
-
-    /**
-     * Calls {@link #assertLessThanOrEqual(Comparable, Comparable, String)} with a default message.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertLessThanOrEqual(Comparable, Comparable, String)
-     */
-    public static <T extends Comparable<T>> void assertLessThanOrEqual(T lhs, T rhs) {
-        assertLessThanOrEqual(lhs, rhs, null);
-    }
-
-    /**
-     * Asserts that {@code lhs} is less than or equal to {@code rhs}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static <T extends Comparable<T>> void assertLessThanOrEqual(T lhs, T rhs, String msg) {
-        if (!(compare(lhs, rhs, msg) <= 0)) {
-            msg = Objects.toString(msg, "assertLessThanOrEqual")
-                    + ": expected that " + Objects.toString(lhs)
-                    + " <= " + Objects.toString(rhs);
-            fail(msg);
-        }
-    }
-
-    /**
-     * Shorthand for {@link #assertEquals(Object, Object)}.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertEquals(Object, Object)
-     */
-    public static void assertEQ(Object lhs, Object rhs) {
-        assertEquals(lhs, rhs);
-    }
-
-    /**
-     * Shorthand for {@link #assertEquals(Object, Object, String)}.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @see #assertEquals(Object, Object, String)
-     */
-    public static void assertEQ(Object lhs, Object rhs, String msg) {
-        assertEquals(lhs, rhs, msg);
-    }
-
-    /**
-     * Calls {@link #assertEquals(java.lang.Object, java.lang.Object, java.lang.String)} with a default message.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertEquals(Object, Object, String)
-     */
-    public static void assertEquals(Object lhs, Object rhs) {
-        assertEquals(lhs, rhs, null);
-    }
-
-    /**
-     * Asserts that {@code lhs} is equal to {@code rhs}.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static void assertEquals(Object lhs, Object rhs, String msg) {
-        if ((lhs != rhs) && ((lhs == null) || !(lhs.equals(rhs)))) {
-            msg = Objects.toString(msg, "assertEquals")
-                    + ": expected " + Objects.toString(lhs)
-                    + " to equal " + Objects.toString(rhs);
-            fail(msg);
-        }
-    }
-
-    /**
-     * Calls {@link #assertSame(java.lang.Object, java.lang.Object, java.lang.String)} with a default message.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertSame(Object, Object, String)
-     */
-    public static void assertSame(Object lhs, Object rhs) {
-        assertSame(lhs, rhs, null);
-    }
-
-    /**
-     * Asserts that {@code lhs} is the same as {@code rhs}.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static void assertSame(Object lhs, Object rhs, String msg) {
-        if (lhs != rhs) {
-            msg = Objects.toString(msg, "assertSame")
-                    + ": expected " + Objects.toString(lhs)
-                    + " to equal " + Objects.toString(rhs);
-            fail(msg);
-        }
-    }
-
-    /**
-     * Shorthand for {@link #assertGreaterThanOrEqual(Comparable, Comparable)}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertGreaterThanOrEqual(Comparable, Comparable)
-     */
-    public static <T extends Comparable<T>> void assertGTE(T lhs, T rhs) {
-        assertGreaterThanOrEqual(lhs, rhs);
-    }
-
-    /**
-     * Shorthand for {@link #assertGreaterThanOrEqual(Comparable, Comparable, String)}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @see #assertGreaterThanOrEqual(Comparable, Comparable, String)
-     */
-    public static <T extends Comparable<T>> void assertGTE(T lhs, T rhs, String msg) {
-        assertGreaterThanOrEqual(lhs, rhs, msg);
-    }
-
-    /**
-     * Calls {@link #assertGreaterThanOrEqual(Comparable, Comparable, String)} with a default message.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertGreaterThanOrEqual(Comparable, Comparable, String)
-     */
-    public static <T extends Comparable<T>> void assertGreaterThanOrEqual(T lhs, T rhs) {
-        assertGreaterThanOrEqual(lhs, rhs, null);
-    }
-
-    /**
-     * Asserts that {@code lhs} is greater than or equal to {@code rhs}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static <T extends Comparable<T>> void assertGreaterThanOrEqual(T lhs, T rhs, String msg) {
-        if (!(compare(lhs, rhs, msg) >= 0)) {
-            msg = Objects.toString(msg, "assertGreaterThanOrEqual")
-                    + ": expected " + Objects.toString(lhs)
-                    + " >= " + Objects.toString(rhs);
-            fail(msg);
-        }
-    }
-
-    /**
-     * Shorthand for {@link #assertGreaterThan(Comparable, Comparable)}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertGreaterThan(Comparable, Comparable)
-     */
-    public static <T extends Comparable<T>> void assertGT(T lhs, T rhs) {
-        assertGreaterThan(lhs, rhs);
-    }
-
-    /**
-     * Shorthand for {@link #assertGreaterThan(Comparable, Comparable, String)}.
-     *
-     * @param <T> a type
-     * @param lhs the left hand value
-     * @param rhs the right hand value
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @see #assertGreaterThan(Comparable, Comparable, String)
-     */
-    public static <T extends Comparable<T>> void assertGT(T lhs, T rhs, String msg) {
-        assertGreaterThan(lhs, rhs, msg);
-    }
-
-    /**
-     * Calls {@link #assertGreaterThan(Comparable, Comparable, String)} with a default message.
-     *
-     * @param <T> a type
-     * @param lhs the left hand value
-     * @param rhs the right hand value
-     * @see #assertGreaterThan(Comparable, Comparable, String)
-     */
-    public static <T extends Comparable<T>> void assertGreaterThan(T lhs, T rhs) {
-        assertGreaterThan(lhs, rhs, null);
-    }
-
-    /**
-     * Asserts that {@code lhs} is greater than {@code rhs}.
-     *
-     * @param <T> a type
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static <T extends Comparable<T>> void assertGreaterThan(T lhs, T rhs, String msg) {
-        if (!(compare(lhs, rhs, msg) > 0)) {
-            msg = Objects.toString(msg, "assertGreaterThan")
-                    + ": expected " + Objects.toString(lhs)
-                    + " > " + Objects.toString(rhs);
-            fail(msg);
-        }
-    }
-
-    /**
-     * Shorthand for {@link #assertNotEquals(Object, Object)}.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertNotEquals(Object, Object)
-     */
-    public static void assertNE(Object lhs, Object rhs) {
-        assertNotEquals(lhs, rhs);
-    }
-
-    /**
-     * Shorthand for {@link #assertNotEquals(Object, Object, String)}.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @see #assertNotEquals(Object, Object, String)
-     */
-    public static void assertNE(Object lhs, Object rhs, String msg) {
-        assertNotEquals(lhs, rhs, msg);
-    }
-
-    /**
-     * Calls {@link #assertNotEquals(Object, Object, String)} with a default message.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @see #assertNotEquals(Object, Object, String)
-     */
-    public static void assertNotEquals(Object lhs, Object rhs) {
-        assertNotEquals(lhs, rhs, null);
-    }
-
-    /**
-     * Asserts that {@code lhs} is not equal to {@code rhs}.
-     *
-     * @param lhs The left hand side of the comparison.
-     * @param rhs The right hand side of the comparison.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static void assertNotEquals(Object lhs, Object rhs, String msg) {
-        if ((lhs == rhs) || (lhs != null && lhs.equals(rhs))) {
-            msg = Objects.toString(msg, "assertNotEquals")
-                    + ": expected " + Objects.toString(lhs)
-                    + " to not equal " + Objects.toString(rhs);
-            fail(msg);
-        }
-    }
-
-    /**
-     * Calls {@link #assertNull(Object, String)} with a default message.
-     *
-     * @param o The reference assumed to be null.
-     * @see #assertNull(Object, String)
-     */
-    public static void assertNull(Object o) {
-        assertNull(o, null);
-    }
-
-    /**
-     * Asserts that {@code o} is null.
-     *
-     * @param o The reference assumed to be null.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static void assertNull(Object o, String msg) {
-        assertEquals(o, null, msg);
-    }
-
-    /**
-     * Calls {@link #assertNotNull(Object, String)} with a default message.
-     *
-     * @param o The reference assumed <i>not</i> to be null,
-     * @see #assertNotNull(Object, String)
-     */
-    public static void assertNotNull(Object o) {
-        assertNotNull(o, null);
-    }
-
-    /**
-     * Asserts that {@code o} is <i>not</i> null.
-     *
-     * @param o The reference assumed <i>not</i> to be null,
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static void assertNotNull(Object o, String msg) {
-        assertNotEquals(o, null, msg);
-    }
-
-    /**
-     * Calls {@link #assertFalse(boolean, String)} with a default message.
-     *
-     * @param value The value assumed to be false.
-     * @see #assertFalse(boolean, String)
-     */
-    public static void assertFalse(boolean value) {
-        assertFalse(value, null);
-    }
-
-    /**
-     * Asserts that {@code value} is {@code false}.
-     *
-     * @param value The value assumed to be false.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static void assertFalse(boolean value, String msg) {
-        if (value) {
-            msg = Objects.toString(msg, "assertFalse")
-                    + ": expected false, was true";
-            fail(msg);
-        }
-    }
-
-    /**
-     * Calls {@link #assertTrue(boolean, String)} with a default message.
-     *
-     * @param value The value assumed to be true.
-     * @see #assertTrue(boolean, String)
-     */
-    public static void assertTrue(boolean value) {
-        assertTrue(value, null);
-    }
-
-    /**
-     * Asserts that {@code value} is {@code true}.
-     *
-     * @param value The value assumed to be true.
-     * @param msg A description of the assumption; {@code null} for a default message.
-     * @throws RuntimeException if the assertion is not true.
-     */
-    public static void assertTrue(boolean value, String msg) {
-        if (!value) {
-            msg = Objects.toString(msg, "assertTrue")
-                    + ": expected true, was false";
-            fail(msg);
-        }
-    }
-
-    private static <T extends Comparable<T>> int compare(T lhs, T rhs, String msg) {
-        if (lhs == null || rhs == null) {
-            fail(lhs, rhs, msg + ": values must be non-null:", ",");
-        }
-        return lhs.compareTo(rhs);
-    }
-
-    /**
-     * Returns a string formatted with a message and expected and actual values.
-     * @param lhs the actual value
-     * @param rhs  the expected value
-     * @param message the actual value
-     * @param relation the asserted relationship between lhs and rhs
-     * @return a formatted string
-     */
-    public static String format(Object lhs, Object rhs, String message, String relation) {
-        StringBuilder sb = new StringBuilder(80);
-        if (message != null) {
-            sb.append(message);
-            sb.append(' ');
-        }
-        sb.append("<");
-        sb.append(Objects.toString(lhs));
-        sb.append("> ");
-        sb.append(Objects.toString(relation, ","));
-        sb.append(" <");
-        sb.append(Objects.toString(rhs));
-        sb.append(">");
-        return sb.toString();
-    }
-
-    /**
-     * Fail reports a failure with message fail.
-     *
-     * @throws RuntimeException always
-     */
-    public static void fail() {
-        fail("fail");
-    }
-
-    /**
-     * Fail reports a failure with a message.
-     * @param message for the failure
-     * @throws RuntimeException always
-     */
-    public static void fail(String message) {
-        throw new RuntimeException(message);
-    }
-
-    /**
-     * Fail reports a failure with a formatted message.
-     *
-     * @param lhs the actual value
-     * @param rhs the expected value
-     * @param message to be format before the expected and actual values
-     * @param relation the asserted relationship between lhs and rhs
-     * @throws RuntimeException always
-     */
-    public static void fail(Object lhs, Object rhs, String message, String relation) {
-        throw new RuntimeException(format(lhs, rhs, message, relation));
-    }
-
-    /**
-     * Fail reports a failure with a message and a cause.
-     * @param message to be format before the expected and actual values
-     * @param cause the exception that caused this failure
-     * @throws RuntimeException always
-     */
-    public static void fail(String message, Throwable cause) {
-        throw new RuntimeException(message, cause);
-    }
-
-}
--- a/test/jdk/sun/jvmstat/monitor/MonitoredVm/TestPollingInterval.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/jvmstat/monitor/MonitoredVm/TestPollingInterval.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018, 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
@@ -26,7 +26,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 import jdk.test.lib.Utils;
 import jdk.test.lib.apps.LingeredApp;
 import sun.jvmstat.monitor.MonitorException;
@@ -41,10 +41,8 @@
  * @bug 6672135
  * @summary setInterval() for local MonitoredHost and local MonitoredVm
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.*
  * @build jdk.test.lib.apps.*
  * @run main TestPollingInterval
  */
--- a/test/jdk/sun/management/jdp/JdpDefaultsTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jdp/JdpDefaultsTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -31,10 +31,9 @@
  * @test JdpDefaultsTest
  * @summary Assert that we can read JDP packets from a multicast socket connection, on default IP and port.
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.* ClientConnection JdpTestUtil JdpTestCase JdpOnTestCase DynamicLauncher
+ * @build ClientConnection JdpTestUtil JdpTestCase JdpOnTestCase DynamicLauncher
  * @run main/othervm JdpDefaultsTest
  */
 
--- a/test/jdk/sun/management/jdp/JdpJmxRemoteDynamicPortTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jdp/JdpJmxRemoteDynamicPortTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -27,10 +27,9 @@
  * @summary Verify a non-zero value is assigned to jmxremote.port
  *          when VM is started with jmxremote.port=0.
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.* ClientConnection JdpTestUtil JdpTestCase JdpJmxRemoteDynamicPortTestCase DynamicLauncher
+ * @build ClientConnection JdpTestUtil JdpTestCase JdpJmxRemoteDynamicPortTestCase DynamicLauncher
  * @run main/othervm JdpJmxRemoteDynamicPortTest
  */
 
--- a/test/jdk/sun/management/jdp/JdpOffTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jdp/JdpOffTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -32,10 +32,9 @@
  * @test JdpOffTest.java
  * @summary Assert that no JDP packets are sent to the default address and port.
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.* ClientConnection JdpTestUtil JdpTestCase JdpOffTestCase DynamicLauncher
+ * @build ClientConnection JdpTestUtil JdpTestCase JdpOffTestCase DynamicLauncher
  * @run main/othervm JdpOffTest
  */
 
--- a/test/jdk/sun/management/jdp/JdpOnTestCase.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jdp/JdpOnTestCase.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
@@ -31,7 +31,7 @@
 
 import java.net.SocketTimeoutException;
 import java.util.Map;
-import static jdk.testlibrary.Asserts.assertNotEquals;
+import static jdk.test.lib.Asserts.assertNotEquals;
 
 public class JdpOnTestCase extends JdpTestCase {
 
--- a/test/jdk/sun/management/jdp/JdpSpecificAddressTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jdp/JdpSpecificAddressTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -31,10 +31,9 @@
  * @test JdpSpecificAddressTest
  * @summary Assert that we can read JDP packets from a multicast socket connection, on specific IP and port.
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.* ClientConnection JdpTestUtil JdpTestCase JdpOnTestCase DynamicLauncher
+ * @build ClientConnection JdpTestUtil JdpTestCase JdpOnTestCase DynamicLauncher
  * @run main/othervm JdpSpecificAddressTest
  */
 
--- a/test/jdk/sun/management/jdp/JdpTestUtilTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jdp/JdpTestUtilTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -27,7 +27,7 @@
 import java.io.UnsupportedEncodingException;
 import java.util.Map;
 
-import static jdk.testlibrary.Asserts.assertEquals;
+import static jdk.test.lib.Asserts.assertEquals;
 
 
 /*
--- a/test/jdk/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, 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/test/jdk/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2018, 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/test/jdk/sun/management/jmxremote/bootstrap/RmiRegistrySslTestApp.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jmxremote/bootstrap/RmiRegistrySslTestApp.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, 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/test/jdk/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2018, 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/test/jdk/sun/net/InetAddress/nameservice/dns/CNameTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/net/InetAddress/nameservice/dns/CNameTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, 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
@@ -38,7 +38,7 @@
  * @summary Test DNS provider's handling of CNAME records
  */
 public class CNameTest {
-    private static final String HOST = "www-proxy.us.oracle.com";
+    private static final String HOST = "www.w3c.org";
     private static final String POLICY = "grant {" + System.lineSeparator() +
             " permission java.net .SocketPermission \"${HOST}\", \"resolve\";" +
             System.lineSeparator() + "};";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/sun/security/pkcs11/fips/TestTLS12.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,454 @@
+/*
+ * Copyright (c) 2018, Red Hat, Inc. and/or its affiliates.
+ *
+ * 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 8029661
+ * @summary Test TLS 1.2
+ * @modules java.base/sun.security.internal.spec
+ *          java.base/sun.security.util
+ *          java.base/com.sun.net.ssl.internal.ssl
+ *          java.base/com.sun.crypto.provider
+ * @library /test/lib ..
+ * @run main/othervm/timeout=120 TestTLS12
+ */
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.nio.ByteBuffer;
+
+import java.security.interfaces.RSAPrivateKey;
+import java.security.interfaces.RSAPublicKey;
+import java.security.KeyStore;
+import java.security.NoSuchAlgorithmException;
+import java.security.Provider;
+import java.security.SecureRandom;
+import java.security.Security;
+
+import java.util.Arrays;
+
+import javax.crypto.Cipher;
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLEngine;
+import javax.net.ssl.SSLEngineResult;
+import javax.net.ssl.SSLEngineResult.HandshakeStatus;
+import javax.net.ssl.SSLParameters;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManagerFactory;
+
+import sun.security.internal.spec.TlsMasterSecretParameterSpec;
+import sun.security.internal.spec.TlsPrfParameterSpec;
+import sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec;
+
+public final class TestTLS12 extends SecmodTest {
+
+    private static final boolean enableDebug = true;
+
+    private static Provider sunPKCS11NSSProvider;
+    private static Provider sunJCEProvider;
+    private static com.sun.net.ssl.internal.ssl.Provider jsseProvider;
+    private static KeyStore ks;
+    private static KeyStore ts;
+    private static char[] passphrase = "JAHshj131@@".toCharArray();
+    private static RSAPrivateKey privateKey;
+    private static RSAPublicKey publicKey;
+
+    public static void main(String[] args) throws Exception {
+        try {
+            initialize();
+        } catch (Exception e) {
+            System.out.println("Test skipped: failure during" +
+                    " initialization");
+            return;
+        }
+
+        if (shouldRun()) {
+            // Test against JCE
+            testTlsAuthenticationCodeGeneration();
+
+            // Self-integrity test (complete TLS 1.2 communication)
+            new testTLS12SunPKCS11Communication().run();
+
+            System.out.println("Test PASS - OK");
+        } else {
+            System.out.println("Test skipped: TLS 1.2 mechanisms" +
+                    " not supported by current SunPKCS11 back-end");
+        }
+    }
+
+    private static boolean shouldRun() {
+        if (sunPKCS11NSSProvider == null) {
+            return false;
+        }
+        try {
+            KeyGenerator.getInstance("SunTls12MasterSecret",
+                    sunPKCS11NSSProvider);
+            KeyGenerator.getInstance(
+                    "SunTls12RsaPremasterSecret", sunPKCS11NSSProvider);
+            KeyGenerator.getInstance("SunTls12Prf", sunPKCS11NSSProvider);
+        } catch (NoSuchAlgorithmException e) {
+            return false;
+        }
+        return true;
+    }
+
+    private static void testTlsAuthenticationCodeGeneration()
+            throws Exception {
+        // Generate RSA Pre-Master Secret in SunPKCS11 provider
+        SecretKey rsaPreMasterSecret = null;
+        @SuppressWarnings("deprecation")
+        TlsRsaPremasterSecretParameterSpec rsaPreMasterSecretSpec =
+                new TlsRsaPremasterSecretParameterSpec(0x0303, 0x0303);
+        {
+            KeyGenerator rsaPreMasterSecretKG = KeyGenerator.getInstance(
+                    "SunTls12RsaPremasterSecret", sunPKCS11NSSProvider);
+            rsaPreMasterSecretKG.init(rsaPreMasterSecretSpec, null);
+            rsaPreMasterSecret = rsaPreMasterSecretKG.generateKey();
+        }
+
+        // Get RSA Pre-Master Secret in plain (from SunPKCS11 provider)
+        byte[] rsaPlainPreMasterSecret = null;
+        {
+            Cipher rsaPreMasterSecretWrapperCipher =
+                    Cipher.getInstance("RSA/ECB/PKCS1Padding",
+                            sunPKCS11NSSProvider);
+            rsaPreMasterSecretWrapperCipher.init(Cipher.WRAP_MODE, publicKey,
+                    new SecureRandom());
+            byte[] rsaEncryptedPreMasterSecret =
+                    rsaPreMasterSecretWrapperCipher.wrap(rsaPreMasterSecret);
+            Cipher rsaPreMasterSecretUnwrapperCipher =
+                    Cipher.getInstance("RSA/ECB/PKCS1Padding", sunJCEProvider);
+            rsaPreMasterSecretUnwrapperCipher.init(Cipher.UNWRAP_MODE,
+                    privateKey, rsaPreMasterSecretSpec);
+            rsaPlainPreMasterSecret = rsaPreMasterSecretUnwrapperCipher.unwrap(
+                    rsaEncryptedPreMasterSecret, "TlsRsaPremasterSecret",
+                    Cipher.SECRET_KEY).getEncoded();
+
+            if (enableDebug) {
+                System.out.println("rsaPlainPreMasterSecret:");
+                for (byte b : rsaPlainPreMasterSecret) {
+                    System.out.printf("%02X, ", b);
+                }
+                System.out.println("");
+            }
+        }
+
+        // Generate Master Secret
+        SecretKey sunPKCS11MasterSecret = null;
+        SecretKey jceMasterSecret = null;
+        {
+            KeyGenerator sunPKCS11MasterSecretGenerator =
+                    KeyGenerator.getInstance("SunTls12MasterSecret",
+                            sunPKCS11NSSProvider);
+            KeyGenerator jceMasterSecretGenerator = KeyGenerator.getInstance(
+                    "SunTls12MasterSecret", sunJCEProvider);
+            @SuppressWarnings("deprecation")
+            TlsMasterSecretParameterSpec sunPKCS11MasterSecretSpec =
+                    new TlsMasterSecretParameterSpec(rsaPreMasterSecret, 3, 3,
+                            new byte[32], new byte[32], "SHA-256", 32, 64);
+            @SuppressWarnings("deprecation")
+            TlsMasterSecretParameterSpec jceMasterSecretSpec =
+                    new TlsMasterSecretParameterSpec(
+                            new SecretKeySpec(rsaPlainPreMasterSecret,
+                                    "Generic"), 3, 3, new byte[32],
+                            new byte[32], "SHA-256", 32, 64);
+            sunPKCS11MasterSecretGenerator.init(sunPKCS11MasterSecretSpec,
+                    null);
+            jceMasterSecretGenerator.init(jceMasterSecretSpec, null);
+            sunPKCS11MasterSecret =
+                    sunPKCS11MasterSecretGenerator.generateKey();
+            jceMasterSecret = jceMasterSecretGenerator.generateKey();
+            if (enableDebug) {
+                System.out.println("Master Secret (SunJCE):");
+                if (jceMasterSecret != null) {
+                    for (byte b : jceMasterSecret.getEncoded()) {
+                        System.out.printf("%02X, ", b);
+                    }
+                    System.out.println("");
+                }
+            }
+        }
+
+        // Generate authentication codes
+        byte[] sunPKCS11AuthenticationCode = null;
+        byte[] jceAuthenticationCode = null;
+        {
+            // Generate SunPKCS11 authentication code
+            {
+                @SuppressWarnings("deprecation")
+                TlsPrfParameterSpec sunPKCS11AuthenticationCodeSpec =
+                        new TlsPrfParameterSpec(sunPKCS11MasterSecret,
+                                "client finished", "a".getBytes(), 12,
+                                "SHA-256", 32, 64);
+                KeyGenerator sunPKCS11AuthCodeGenerator =
+                        KeyGenerator.getInstance("SunTls12Prf",
+                                sunPKCS11NSSProvider);
+                sunPKCS11AuthCodeGenerator.init(
+                        sunPKCS11AuthenticationCodeSpec);
+                sunPKCS11AuthenticationCode =
+                        sunPKCS11AuthCodeGenerator.generateKey().getEncoded();
+            }
+
+            // Generate SunJCE authentication code
+            {
+                @SuppressWarnings("deprecation")
+                TlsPrfParameterSpec jceAuthenticationCodeSpec =
+                        new TlsPrfParameterSpec(jceMasterSecret,
+                                "client finished", "a".getBytes(), 12,
+                                "SHA-256", 32, 64);
+                KeyGenerator jceAuthCodeGenerator =
+                        KeyGenerator.getInstance("SunTls12Prf",
+                                sunJCEProvider);
+                jceAuthCodeGenerator.init(jceAuthenticationCodeSpec);
+                jceAuthenticationCode =
+                        jceAuthCodeGenerator.generateKey().getEncoded();
+            }
+
+            if (enableDebug) {
+                System.out.println("SunPKCS11 Authentication Code: ");
+                for (byte b : sunPKCS11AuthenticationCode) {
+                    System.out.printf("%02X, ", b);
+                }
+                System.out.println("");
+                System.out.println("SunJCE Authentication Code: ");
+                for (byte b : jceAuthenticationCode) {
+                    System.out.printf("%02X, ", b);
+                }
+                System.out.println("");
+            }
+        }
+
+        if (sunPKCS11AuthenticationCode == null ||
+                jceAuthenticationCode == null ||
+                sunPKCS11AuthenticationCode.length == 0 ||
+                jceAuthenticationCode.length == 0 ||
+                !Arrays.equals(sunPKCS11AuthenticationCode,
+                        jceAuthenticationCode)) {
+            throw new Exception("Authentication codes from JCE" +
+                        " and SunPKCS11 differ.");
+        }
+    }
+
+    private static class testTLS12SunPKCS11Communication {
+        public static void run() throws Exception {
+            SSLEngine[][] enginesToTest = getSSLEnginesToTest();
+
+            for (SSLEngine[] engineToTest : enginesToTest) {
+
+                SSLEngine clientSSLEngine = engineToTest[0];
+                SSLEngine serverSSLEngine = engineToTest[1];
+
+                // SSLEngine code based on RedhandshakeFinished.java
+
+                boolean dataDone = false;
+
+                ByteBuffer clientOut = null;
+                ByteBuffer clientIn = null;
+                ByteBuffer serverOut = null;
+                ByteBuffer serverIn = null;
+                ByteBuffer cTOs;
+                ByteBuffer sTOc;
+
+                SSLSession session = clientSSLEngine.getSession();
+                int appBufferMax = session.getApplicationBufferSize();
+                int netBufferMax = session.getPacketBufferSize();
+
+                clientIn = ByteBuffer.allocate(appBufferMax + 50);
+                serverIn = ByteBuffer.allocate(appBufferMax + 50);
+
+                cTOs = ByteBuffer.allocateDirect(netBufferMax);
+                sTOc = ByteBuffer.allocateDirect(netBufferMax);
+
+                clientOut = ByteBuffer.wrap(
+                        "Hi Server, I'm Client".getBytes());
+                serverOut = ByteBuffer.wrap(
+                        "Hello Client, I'm Server".getBytes());
+
+                SSLEngineResult clientResult;
+                SSLEngineResult serverResult;
+
+                while (!dataDone) {
+                    clientResult = clientSSLEngine.wrap(clientOut, cTOs);
+                    runDelegatedTasks(clientResult, clientSSLEngine);
+                    serverResult = serverSSLEngine.wrap(serverOut, sTOc);
+                    runDelegatedTasks(serverResult, serverSSLEngine);
+                    cTOs.flip();
+                    sTOc.flip();
+
+                    if (enableDebug) {
+                        System.out.println("Client -> Network");
+                        printTlsNetworkPacket("", cTOs);
+                        System.out.println("");
+                        System.out.println("Server -> Network");
+                        printTlsNetworkPacket("", sTOc);
+                        System.out.println("");
+                    }
+
+                    clientResult = clientSSLEngine.unwrap(sTOc, clientIn);
+                    runDelegatedTasks(clientResult, clientSSLEngine);
+                    serverResult = serverSSLEngine.unwrap(cTOs, serverIn);
+                    runDelegatedTasks(serverResult, serverSSLEngine);
+
+                    cTOs.compact();
+                    sTOc.compact();
+
+                    if (!dataDone &&
+                            (clientOut.limit() == serverIn.position()) &&
+                            (serverOut.limit() == clientIn.position())) {
+                        checkTransfer(serverOut, clientIn);
+                        checkTransfer(clientOut, serverIn);
+                        dataDone = true;
+                    }
+                }
+            }
+        }
+
+        static void printTlsNetworkPacket(String prefix, ByteBuffer bb) {
+            ByteBuffer slice = bb.slice();
+            byte[] buffer = new byte[slice.remaining()];
+            slice.get(buffer);
+            for (int i = 0; i < buffer.length; i++) {
+                System.out.printf("%02X, ", (byte)(buffer[i] & (byte)0xFF));
+                if (i % 8 == 0 && i % 16 != 0) {
+                    System.out.print(" ");
+                }
+                if (i % 16 == 0) {
+                    System.out.println("");
+                }
+            }
+            System.out.flush();
+        }
+
+        private static void checkTransfer(ByteBuffer a, ByteBuffer b)
+                throws Exception {
+            a.flip();
+            b.flip();
+            if (!a.equals(b)) {
+                throw new Exception("Data didn't transfer cleanly");
+            }
+            a.position(a.limit());
+            b.position(b.limit());
+            a.limit(a.capacity());
+            b.limit(b.capacity());
+        }
+
+        private static void runDelegatedTasks(SSLEngineResult result,
+                SSLEngine engine) throws Exception {
+
+            if (result.getHandshakeStatus() == HandshakeStatus.NEED_TASK) {
+                Runnable runnable;
+                while ((runnable = engine.getDelegatedTask()) != null) {
+                    runnable.run();
+                }
+                HandshakeStatus hsStatus = engine.getHandshakeStatus();
+                if (hsStatus == HandshakeStatus.NEED_TASK) {
+                    throw new Exception(
+                        "handshake shouldn't need additional tasks");
+                }
+            }
+        }
+
+        private static SSLEngine[][] getSSLEnginesToTest() throws Exception {
+            SSLEngine[][] enginesToTest = new SSLEngine[2][2];
+            String[][] preferredSuites = new String[][]{ new String[] {
+                    "TLS_RSA_WITH_AES_128_CBC_SHA256"
+            },  new String[] {
+                    "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"
+            }};
+            for (int i = 0; i < enginesToTest.length; i++) {
+                enginesToTest[i][0] = createSSLEngine(true);
+                enginesToTest[i][1] = createSSLEngine(false);
+                enginesToTest[i][0].setEnabledCipherSuites(preferredSuites[i]);
+                enginesToTest[i][1].setEnabledCipherSuites(preferredSuites[i]);
+            }
+            return enginesToTest;
+        }
+
+        static private SSLEngine createSSLEngine(boolean client)
+                throws Exception {
+            SSLEngine ssle;
+            KeyManagerFactory kmf = KeyManagerFactory.getInstance("PKIX",
+                    jsseProvider);
+            kmf.init(ks, passphrase);
+
+            TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX",
+                    jsseProvider);
+            tmf.init(ts);
+
+            SSLContext sslCtx = SSLContext.getInstance("TLSv1.2",
+                    jsseProvider);
+            sslCtx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+            ssle = sslCtx.createSSLEngine("localhost", 443);
+            ssle.setUseClientMode(client);
+            SSLParameters sslParameters = ssle.getSSLParameters();
+            ssle.setSSLParameters(sslParameters);
+
+            return ssle;
+        }
+    }
+
+    private static void initialize() throws Exception {
+        if (initSecmod() == false) {
+            return;
+        }
+        String configName = BASE + SEP + "fips.cfg";
+        sunPKCS11NSSProvider = getSunPKCS11(configName);
+        System.out.println("SunPKCS11 provider: " + sunPKCS11NSSProvider);
+        Security.addProvider(sunPKCS11NSSProvider);
+
+        sunJCEProvider = new com.sun.crypto.provider.SunJCE();
+        Security.addProvider(sunJCEProvider);
+
+        Security.removeProvider("SunJSSE");
+        jsseProvider =new com.sun.net.ssl.internal.ssl.Provider(
+                sunPKCS11NSSProvider);
+        Security.addProvider(jsseProvider);
+        System.out.println(jsseProvider.getInfo());
+
+        ks = KeyStore.getInstance("PKCS11", sunPKCS11NSSProvider);
+        ks.load(null, "test12".toCharArray());
+        ts = ks;
+
+        KeyStore ksPlain = readTestKeyStore();
+        privateKey = (RSAPrivateKey)ksPlain.getKey("rh_rsa_sha256",
+                passphrase);
+        publicKey = (RSAPublicKey)ksPlain.getCertificate(
+                "rh_rsa_sha256").getPublicKey();
+    }
+
+    private static KeyStore readTestKeyStore() throws Exception {
+        File file = new File(System.getProperty("test.src", "."), "keystore");
+        InputStream in = new FileInputStream(file);
+        KeyStore ks = KeyStore.getInstance("JKS");
+        ks.load(in, "passphrase".toCharArray());
+        in.close();
+        return ks;
+    }
+}
\ No newline at end of file
Binary file test/jdk/sun/security/pkcs11/fips/cert8.db has changed
Binary file test/jdk/sun/security/pkcs11/fips/key3.db has changed
Binary file test/jdk/sun/security/pkcs11/fips/keystore has changed
--- a/test/jdk/sun/security/provider/MessageDigest/SHA512.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/security/provider/MessageDigest/SHA512.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
@@ -21,7 +21,7 @@
  * questions.
  */
 
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 
 import java.security.MessageDigest;
 import java.util.Arrays;
@@ -29,7 +29,7 @@
 /**
  * @test
  * @bug 8051408
- * @library /lib/testlibrary
+ * @library /test/lib
  * @summary testing SHA-512/224 and SHA-512/256.
  */
 public class SHA512 {
--- a/test/jdk/sun/security/ssl/SSLContextImpl/CustomizedDTLSDefaultProtocols.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/security/ssl/SSLContextImpl/CustomizedDTLSDefaultProtocols.java	Mon Sep 24 10:59:26 2018 -0700
@@ -191,33 +191,13 @@
             // Check SSLParameters of SSLSocket
             System.out.println();
             System.out.println("\tChecking SSLSocket of this SSLContext");
-            System.out.println("\tChecking SSLSocket.getSSLParameters()");
-            SocketFactory fac = context.getSocketFactory();
-            SSLSocket socket = (SSLSocket)fac.createSocket();
-            parameters = socket.getSSLParameters();
-
-            protocols = parameters.getProtocols();
-            failed |= !checkProtocols(protocols, cv.enabledProtocols);
-
-            ciphers = parameters.getCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
-            protocols = socket.getEnabledProtocols();
-            failed |= !checkProtocols(protocols, cv.enabledProtocols);
-
-            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
-            ciphers = socket.getEnabledCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
-            protocols = socket.getSupportedProtocols();
-            failed |= !checkProtocols(protocols, cv.supportedProtocols);
-
-            System.out.println(
-                    "\tChecking SSLEngine.getSupportedCipherSuites()");
-            ciphers = socket.getSupportedCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
+            try {
+                context.getSocketFactory();
+                failed = true;
+                System.out.println("SSLSocket returned a socket for DTLS");
+            } catch (UnsupportedOperationException e) {
+                System.out.println("\t  " + e.getMessage());
+            }
 
             //
             // Check SSLServerSocket
@@ -225,33 +205,13 @@
             // Check SSLParameters of SSLServerSocket
             System.out.println();
             System.out.println("\tChecking SSLServerSocket of this SSLContext");
-            System.out.println("\tChecking SSLServerSocket.getSSLParameters()");
-            SSLServerSocketFactory sf = context.getServerSocketFactory();
-            SSLServerSocket ssocket = (SSLServerSocket)sf.createServerSocket();
-            parameters = ssocket.getSSLParameters();
-
-            protocols = parameters.getProtocols();
-            failed |= !checkProtocols(protocols, cv.supportedProtocols);
-
-            ciphers = parameters.getCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
-            protocols = ssocket.getEnabledProtocols();
-            failed |= !checkProtocols(protocols, cv.supportedProtocols);
-
-            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
-            ciphers = ssocket.getEnabledCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
-            protocols = ssocket.getSupportedProtocols();
-            failed |= !checkProtocols(protocols, cv.supportedProtocols);
-
-            System.out.println(
-                    "\tChecking SSLEngine.getSupportedCipherSuites()");
-            ciphers = ssocket.getSupportedCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
+            try {
+                context.getServerSocketFactory();
+                failed = true;
+                System.out.println("SSLServerSocket returned a socket for DTLS");
+            } catch (UnsupportedOperationException e) {
+                System.out.println("\t  " + e.getMessage());
+            }
         }
 
         if (failed) {
--- a/test/jdk/sun/security/ssl/SSLContextImpl/CustomizedDTLSServerDefaultProtocols.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/security/ssl/SSLContextImpl/CustomizedDTLSServerDefaultProtocols.java	Mon Sep 24 10:59:26 2018 -0700
@@ -31,6 +31,7 @@
  *      CustomizedDTLSServerDefaultProtocols
  */
 
+import java.lang.UnsupportedOperationException;
 import java.security.NoSuchAlgorithmException;
 import java.security.Security;
 import java.util.Arrays;
@@ -211,33 +212,13 @@
             // Check SSLParameters of SSLSocket
             System.out.println();
             System.out.println("\tChecking SSLSocket of this SSLContext");
-            System.out.println("\tChecking SSLSocket.getSSLParameters()");
-            SocketFactory fac = context.getSocketFactory();
-            SSLSocket socket = (SSLSocket) fac.createSocket();
-            parameters = socket.getSSLParameters();
-
-            protocols = parameters.getProtocols();
-            failed |= !checkProtocols(protocols, cv.clientEnabledProtocols);
-
-            ciphers = parameters.getCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLSocket.getEnabledProtocols()");
-            protocols = socket.getEnabledProtocols();
-            failed |= !checkProtocols(protocols, cv.clientEnabledProtocols);
-
-            System.out.println("\tChecking SSLSocket.getEnabledCipherSuites()");
-            ciphers = socket.getEnabledCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLSocket.getSupportedProtocols()");
-            protocols = socket.getSupportedProtocols();
-            failed |= !checkProtocols(protocols, supportedProtocols);
-
-            System.out.println(
-                    "\tChecking SSLSocket.getSupportedCipherSuites()");
-            ciphers = socket.getSupportedCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
+            try {
+                context.getSocketFactory();
+                failed = true;
+                System.out.println("SSLSocket returned a socket for DTLS");
+            } catch (UnsupportedOperationException e) {
+                System.out.println("\t  " + e.getMessage());
+            }
 
             //
             // Check SSLServerSocket
@@ -245,33 +226,13 @@
             // Check SSLParameters of SSLServerSocket
             System.out.println();
             System.out.println("\tChecking SSLServerSocket of this SSLContext");
-            System.out.println("\tChecking SSLServerSocket.getSSLParameters()");
-            SSLServerSocketFactory sf = context.getServerSocketFactory();
-            SSLServerSocket ssocket = (SSLServerSocket) sf.createServerSocket();
-            parameters = ssocket.getSSLParameters();
-
-            protocols = parameters.getProtocols();
-            failed |= !checkProtocols(protocols, cv.serverEnabledProtocols);
-
-            ciphers = parameters.getCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
-            protocols = ssocket.getEnabledProtocols();
-            failed |= !checkProtocols(protocols, cv.serverEnabledProtocols);
-
-            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
-            ciphers = ssocket.getEnabledCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
-            protocols = ssocket.getSupportedProtocols();
-            failed |= !checkProtocols(protocols, supportedProtocols);
-
-            System.out.println(
-                    "\tChecking SSLEngine.getSupportedCipherSuites()");
-            ciphers = ssocket.getSupportedCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
+            try {
+                context.getServerSocketFactory();
+                failed = true;
+                System.out.println("SSLServerSocket returned a socket for DTLS");
+            } catch (UnsupportedOperationException e) {
+                System.out.println("\t  " + e.getMessage());
+            }
 
             if (failed) {
                 throw new Exception("Run into problems, see log for more details");
--- a/test/jdk/sun/security/ssl/SSLContextImpl/DefaultDTLSEnabledProtocols.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/security/ssl/SSLContextImpl/DefaultDTLSEnabledProtocols.java	Mon Sep 24 10:59:26 2018 -0700
@@ -188,33 +188,13 @@
             // Check SSLParameters of SSLSocket
             System.out.println();
             System.out.println("\tChecking SSLSocket of this SSLContext");
-            System.out.println("\tChecking SSLSocket.getSSLParameters()");
-            SocketFactory fac = context.getSocketFactory();
-            SSLSocket socket = (SSLSocket)fac.createSocket();
-            parameters = socket.getSSLParameters();
-
-            protocols = parameters.getProtocols();
-            failed |= !checkProtocols(protocols, cv.enabledProtocols);
-
-            ciphers = parameters.getCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
-            protocols = socket.getEnabledProtocols();
-            failed |= !checkProtocols(protocols, cv.enabledProtocols);
-
-            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
-            ciphers = socket.getEnabledCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
-            protocols = socket.getSupportedProtocols();
-            failed |= !checkProtocols(protocols, cv.supportedProtocols);
-
-            System.out.println(
-                    "\tChecking SSLEngine.getSupportedCipherSuites()");
-            ciphers = socket.getSupportedCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
+            try {
+                context.getSocketFactory();
+                failed = true;
+                System.out.println("SSLSocket returned a socket for DTLS");
+            } catch (UnsupportedOperationException e) {
+                System.out.println("\t  " + e.getMessage());
+            }
 
             //
             // Check SSLServerSocket
@@ -222,33 +202,13 @@
             // Check SSLParameters of SSLServerSocket
             System.out.println();
             System.out.println("\tChecking SSLServerSocket of this SSLContext");
-            System.out.println("\tChecking SSLServerSocket.getSSLParameters()");
-            SSLServerSocketFactory sf = context.getServerSocketFactory();
-            SSLServerSocket ssocket = (SSLServerSocket)sf.createServerSocket();
-            parameters = ssocket.getSSLParameters();
-
-            protocols = parameters.getProtocols();
-            failed |= !checkProtocols(protocols, cv.supportedProtocols);
-
-            ciphers = parameters.getCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
-            protocols = ssocket.getEnabledProtocols();
-            failed |= !checkProtocols(protocols, cv.supportedProtocols);
-
-            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
-            ciphers = ssocket.getEnabledCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
-
-            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
-            protocols = ssocket.getSupportedProtocols();
-            failed |= !checkProtocols(protocols, cv.supportedProtocols);
-
-            System.out.println(
-                    "\tChecking SSLEngine.getSupportedCipherSuites()");
-            ciphers = ssocket.getSupportedCipherSuites();
-            failed |= !checkCipherSuites(ciphers);
+            try {
+                context.getServerSocketFactory();
+                failed = true;
+                System.out.println("SSLServerSocket returned a socket for DTLS");
+            } catch (UnsupportedOperationException e) {
+                System.out.println("\t  " + e.getMessage());
+            }
         }
 
         if (failed) {
--- a/test/jdk/sun/tools/jcmd/TestJcmdDefaults.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jcmd/TestJcmdDefaults.java	Mon Sep 24 10:59:26 2018 -0700
@@ -21,7 +21,7 @@
  * questions.
  */
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 import java.io.IOException;
 import java.nio.file.Files;
@@ -38,10 +38,8 @@
  * @summary Unit test for jcmd utility. Tests jcmd options which do not send
  * requests to a specific JVM process.
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.*
  * @run main TestJcmdDefaults
  */
 public class TestJcmdDefaults {
--- a/test/jdk/sun/tools/jcmd/TestJcmdSanity.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jcmd/TestJcmdSanity.java	Mon Sep 24 10:59:26 2018 -0700
@@ -21,7 +21,7 @@
  * questions.
  */
 
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 
 import java.io.File;
 import java.io.IOException;
@@ -40,10 +40,8 @@
  * @summary Unit test for jcmd utility. The test will send different diagnostic
  * command requests to the current java process.
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.*
  * @run main/othervm -XX:+UsePerfData TestJcmdSanity
  */
 public class TestJcmdSanity {
--- a/test/jdk/sun/tools/jhsdb/HeapDumpTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jhsdb/HeapDumpTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -27,12 +27,11 @@
  * @summary Test hashing of extended characters in Serviceability Agent.
  * @requires vm.hasSAandCanAttach
  * @library /test/lib
- * @library /lib/testlibrary
  * @compile -encoding utf8 HeapDumpTest.java
  * @run main/timeout=240 HeapDumpTest
  */
 
-import static jdk.testlibrary.Asserts.assertTrue;
+import static jdk.test.lib.Asserts.assertTrue;
 
 import java.io.IOException;
 import java.io.File;
--- a/test/jdk/sun/tools/jhsdb/heapconfig/TmtoolTestScenario.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jhsdb/heapconfig/TmtoolTestScenario.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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/test/jdk/sun/tools/jmap/BasicJMapTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jmap/BasicJMapTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -21,8 +21,8 @@
  * questions.
  */
 
-import static jdk.testlibrary.Asserts.assertTrue;
-import static jdk.testlibrary.Asserts.fail;
+import static jdk.test.lib.Asserts.assertTrue;
+import static jdk.test.lib.Asserts.fail;
 
 import java.io.File;
 import java.util.Arrays;
@@ -36,9 +36,7 @@
  * @test
  * @summary Unit test for jmap utility
  * @key intermittent
- * @library /lib/testlibrary
  * @library /test/lib
- * @build jdk.testlibrary.*
  * @build jdk.test.lib.hprof.*
  * @build jdk.test.lib.hprof.model.*
  * @build jdk.test.lib.hprof.parser.*
--- a/test/jdk/sun/tools/jps/JpsHelper.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jps/JpsHelper.java	Mon Sep 24 10:59:26 2018 -0700
@@ -21,8 +21,8 @@
  * questions.
  */
 
-import static jdk.testlibrary.Asserts.assertGreaterThan;
-import static jdk.testlibrary.Asserts.assertTrue;
+import static jdk.test.lib.Asserts.assertGreaterThan;
+import static jdk.test.lib.Asserts.assertTrue;
 
 import java.io.BufferedWriter;
 import java.io.File;
@@ -38,7 +38,7 @@
 import jdk.test.lib.JDKToolLauncher;
 import jdk.test.lib.process.OutputAnalyzer;
 import jdk.test.lib.process.ProcessTools;
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 import jdk.test.lib.Utils;
 
 /**
--- a/test/jdk/sun/tools/jps/TestJps.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jps/TestJps.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @library /lib/testlibrary /test/lib
+ * @library /test/lib
  * @modules jdk.jartool/sun.tools.jar
  * @build LingeredAppForJps
  * @build LingeredApp
--- a/test/jdk/sun/tools/jps/TestJpsSanity.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jps/TestJpsSanity.java	Mon Sep 24 10:59:26 2018 -0700
@@ -21,7 +21,7 @@
  * questions.
  */
 
-import jdk.testlibrary.Asserts;
+import jdk.test.lib.Asserts;
 import jdk.test.lib.process.OutputAnalyzer;
 import jdk.test.lib.apps.LingeredApp;
 
@@ -29,11 +29,11 @@
  * @test
  * @summary This test verifies jps usage and checks that appropriate error message is shown
  *          when running jps with illegal arguments.
- * @library /lib/testlibrary /test/lib
+ * @library /test/lib
  * @modules jdk.jartool/sun.tools.jar
  *          java.management
  *          java.base/jdk.internal.misc
- * @build jdk.testlibrary.* jdk.test.lib.apps.* JpsHelper
+ * @build jdk.test.lib.apps.* JpsHelper
  * @run driver TestJpsSanity
  */
 public class TestJpsSanity {
--- a/test/jdk/sun/tools/jstatd/JstatGCUtilParser.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jstatd/JstatGCUtilParser.java	Mon Sep 24 10:59:26 2018 -0700
@@ -22,10 +22,10 @@
  */
 
 import java.util.Arrays;
+import java.text.NumberFormat;
 
+import static jdk.test.lib.Asserts.*;
 import jdk.test.lib.Utils;
-import static jdk.testlibrary.Asserts.*;
-import java.text.NumberFormat;
 
 /**
  * The helper class for parsing following output from command 'jstat -gcutil':
--- a/test/jdk/sun/tools/jstatd/JstatdTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jstatd/JstatdTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -28,12 +28,12 @@
 import java.rmi.registry.Registry;
 import java.util.Arrays;
 
-import jdk.test.lib.thread.ProcessThread;
-import static jdk.testlibrary.Asserts.*;
+import static jdk.test.lib.Asserts.*;
 import jdk.test.lib.Utils;
 import jdk.test.lib.JDKToolLauncher;
 import jdk.test.lib.process.OutputAnalyzer;
 import jdk.test.lib.process.ProcessTools;
+import jdk.test.lib.thread.ProcessThread;
 
 /**
  * The base class for tests of jstatd.
--- a/test/jdk/sun/tools/jstatd/TestJstatdDefaults.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jstatd/TestJstatdDefaults.java	Mon Sep 24 10:59:26 2018 -0700
@@ -26,10 +26,9 @@
  * @bug 4990825
  * @key intermittent
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.* JstatdTest JstatGCUtilParser
+ * @build JstatdTest JstatGCUtilParser
  * @run main/timeout=60 TestJstatdDefaults
  */
 public class TestJstatdDefaults {
--- a/test/jdk/sun/tools/jstatd/TestJstatdExternalRegistry.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jstatd/TestJstatdExternalRegistry.java	Mon Sep 24 10:59:26 2018 -0700
@@ -26,10 +26,9 @@
  * @bug 4990825 7092186
  * @key intermittent
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.* JstatdTest JstatGCUtilParser
+ * @build JstatdTest JstatGCUtilParser
  * @run main/timeout=60 TestJstatdExternalRegistry
  */
 public class TestJstatdExternalRegistry {
--- a/test/jdk/sun/tools/jstatd/TestJstatdPort.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jstatd/TestJstatdPort.java	Mon Sep 24 10:59:26 2018 -0700
@@ -26,10 +26,9 @@
  * @bug 4990825
  * @key intermittent
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.* JstatdTest JstatGCUtilParser
+ * @build JstatdTest JstatGCUtilParser
  * @run main/timeout=60 TestJstatdPort
  */
 public class TestJstatdPort {
--- a/test/jdk/sun/tools/jstatd/TestJstatdPortAndServer.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jstatd/TestJstatdPortAndServer.java	Mon Sep 24 10:59:26 2018 -0700
@@ -26,10 +26,9 @@
  * @bug 4990825
  * @key intermittent
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.* JstatdTest JstatGCUtilParser
+ * @build JstatdTest JstatGCUtilParser
  * @run main/timeout=60 TestJstatdPortAndServer
  */
 public class TestJstatdPortAndServer {
--- a/test/jdk/sun/tools/jstatd/TestJstatdServer.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/sun/tools/jstatd/TestJstatdServer.java	Mon Sep 24 10:59:26 2018 -0700
@@ -26,10 +26,9 @@
  * @bug 4990825
  * @key intermittent
  *
- * @library /lib/testlibrary
  * @library /test/lib
  *
- * @build jdk.testlibrary.* JstatdTest JstatGCUtilParser
+ * @build JstatdTest JstatGCUtilParser
  * @run main/timeout=60 TestJstatdServer
  */
 public class TestJstatdServer {
--- a/test/jdk/tools/jar/compat/CLICompatibility.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/tools/jar/compat/CLICompatibility.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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/test/jdk/tools/launcher/SourceMode.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/jdk/tools/launcher/SourceMode.java	Mon Sep 24 10:59:26 2018 -0700
@@ -23,7 +23,7 @@
 
 /**
  * @test
- * @bug 8192920 8204588
+ * @bug 8192920 8204588 8210275
  * @summary Test source mode
  * @modules jdk.compiler jdk.jlink
  * @run main SourceMode
@@ -251,6 +251,31 @@
         show(tr);
     }
 
+    // java --source N -cp ... HelloWorld
+    @Test
+    void testSourceClasspath() throws IOException {
+        starting("testSourceClasspath");
+        Path base = Files.createDirectories(Paths.get("testSourceClasspath"));
+        Path src = Files.createDirectories(base.resolve("src"));
+        Path srcfile = src.resolve("java.java");
+        createFile(srcfile, List.of(
+                "class HelloWorld {",
+                "    public static void main(String... args) {",
+                "        System.out.println(\"Hello World\");",
+                "    }",
+                "}"
+        ));
+        Path classes = base.resolve("classes");
+        compile("-d", classes.toString(), srcfile.toString());
+        TestResult tr =
+            doExec(javaCmd, "--source", thisVersion, "-cp", classes.toString(), "HelloWorld");
+        if (tr.isOK())
+            error(tr, "Command succeeded unexpectedly");
+        if (!tr.contains("file not found: HelloWorld"))
+            error(tr, "Expected output not found");
+        show(tr);
+    }
+
     // java --source
     @Test
     void testSourceNoArg() throws IOException {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLankmarkRegions.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,223 @@
+/*
+ * Copyright (c) 2018, 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.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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 8210047
+ * @summary some pages contains content outside of landmark region
+ * @library /tools/lib ../lib
+ * @modules
+ *      jdk.javadoc/jdk.javadoc.internal.tool
+ *      jdk.compiler/com.sun.tools.javac.api
+ *      jdk.compiler/com.sun.tools.javac.main
+ * @build JavadocTester
+ * @run main TestHtmlLankmarkRegions
+ */
+
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import builder.ClassBuilder;
+import toolbox.ModuleBuilder;
+import toolbox.ToolBox;
+
+public class TestHtmlLankmarkRegions extends JavadocTester {
+
+    final ToolBox tb;
+
+    public static void main(String... args) throws Exception {
+        TestHtmlLankmarkRegions tester = new TestHtmlLankmarkRegions();
+        tester.runTests(m -> new Object[]{Paths.get(m.getName())});
+    }
+
+    TestHtmlLankmarkRegions() {
+        tb = new ToolBox();
+    }
+
+    @Test
+    void testModules(Path base) throws Exception {
+        Path srcDir = base.resolve("src");
+        createModules(srcDir);
+
+        Path outDir = base.resolve("out");
+        javadoc("-d", outDir.toString(),
+                "-doctitle", "Document Title",
+                "-header", "Test Header",
+                "--frames",
+                "--module-source-path", srcDir.toString(),
+                "--module", "m1,m2");
+
+        checkExit(Exit.OK);
+
+        checkOrder("module-overview-frame.html",
+                "<header role=\"banner\">\n"
+                + "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+                + "<nav role=\"navigation\" class=\"indexNav\">",
+                "<main role=\"main\">\n"
+                + "<div class=\"indexContainer\">\n"
+                + "<h2 title=\"Modules\">Modules</h2>\n"
+                + "<ul title=\"Modules\">",
+                "<footer role=\"contentinfo\">");
+
+        checkOrder("m1/module-frame.html",
+                "<header role=\"banner\">\n"
+                + "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+                + "<nav role=\"navigation\" class=\"indexNav\">",
+                "<main role=\"main\">\n"
+                + "<div class=\"indexContainer\">\n"
+                + "<h2 title=\"m1\"><a href=\"module-summary.html\" target=\"classFrame\">m1</a>&nbsp;Packages</h2>",
+                "<footer role=\"contentinfo\">");
+
+        checkOrder("overview-summary.html",
+                "<header role=\"banner\">\n"
+                + "<nav role=\"navigation\">",
+                "<main role=\"main\">\n"
+                + "<div class=\"header\">\n"
+                + "<h1 class=\"title\">Document Title</h1>",
+                "<footer role=\"contentinfo\">\n"
+                + "<nav role=\"navigation\">");
+    }
+
+    @Test
+    void testModulesHtml4(Path base) throws Exception {
+        Path srcDir = base.resolve("src");
+        createModules(srcDir);
+
+        Path outDir = base.resolve("out2");
+        javadoc("-d", outDir.toString(),
+                "-doctitle", "Document Title",
+                "-header", "Test Header",
+                "--frames",
+                "--module-source-path", srcDir.toString(),
+                "--module", "m1,m2",
+                "-html4");
+
+        checkExit(Exit.OK);
+
+        checkOrder("module-overview-frame.html",
+                "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+                + "<div class=\"indexNav\">",
+                "<div class=\"indexContainer\">\n"
+                + "<h2 title=\"Modules\">Modules</h2>\n"
+                + "<ul title=\"Modules\">");
+
+        checkOrder("m1/module-frame.html",
+                "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+                + "<div class=\"indexNav\">",
+                "<div class=\"indexContainer\">\n"
+                + "<h2 title=\"m1\"><a href=\"module-summary.html\" target=\"classFrame\">m1</a>&nbsp;Packages</h2>");
+
+        checkOrder("overview-summary.html",
+                "<div class=\"fixedNav\">",
+                "<div class=\"header\">\n"
+                + "<h1 class=\"title\">Document Title</h1>",
+                "<div class=\"bottomNav\"><a name=\"navbar.bottom\">");
+    }
+
+    @Test
+    void testPackages(Path base) throws Exception {
+        Path srcDir = base.resolve("src");
+        createPackages(srcDir);
+
+        Path outDir = base.resolve("out3");
+        javadoc("-d", outDir.toString(),
+                "-doctitle", "Document Title",
+                "-header", "Test Header",
+                "--frames",
+                "-sourcepath", srcDir.toString(),
+                "pkg1", "pkg2");
+
+        checkExit(Exit.OK);
+
+        checkOrder("overview-summary.html",
+                "<header role=\"banner\">\n"
+                + "<nav role=\"navigation\">",
+                "<main role=\"main\">\n"
+                + "<div class=\"header\">\n"
+                + "<h1 class=\"title\">Document Title</h1>",
+                "<footer role=\"contentinfo\">\n" +
+                        "<nav role=\"navigation\">");
+
+        checkOrder("overview-frame.html",
+                "<header role=\"banner\">\n"
+                + "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+                + "<nav role=\"navigation\" class=\"indexNav\">",
+                "<main role=\"main\">\n"
+                + "<div class=\"indexContainer\">\n"
+                + "<h2 title=\"Packages\">Packages</h2>",
+                "<footer role=\"contentinfo\">");
+    }
+
+    @Test
+    void testPackagesHtml4(Path base) throws Exception {
+        Path srcDir = base.resolve("src");
+        createPackages(srcDir);
+
+        Path outDir = base.resolve("out4");
+        javadoc("-d", outDir.toString(),
+                "-doctitle", "Document Title",
+                "-header", "Test Header",
+                "--frames",
+                "-sourcepath", srcDir.toString(),
+                "pkg1", "pkg2",
+                "-html4");
+
+        checkExit(Exit.OK);
+
+        checkOrder("overview-summary.html",
+                "<div class=\"fixedNav\">",
+                "<div class=\"header\">\n"
+                + "<h1 class=\"title\">Document Title</h1>",
+                "<div class=\"bottomNav\"><a name=\"navbar.bottom\">");
+
+        checkOrder("overview-frame.html",
+                "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+                + "<div class=\"indexNav\">",
+                "<div class=\"indexContainer\">\n"
+                + "<h2 title=\"Packages\">Packages</h2>"
+        );
+    }
+
+    void createModules(Path srcDir) throws Exception {
+        new ModuleBuilder(tb, "m1")
+                .classes("package p1; public class a{}")
+                .classes("package p2; public class b{}")
+                .write(srcDir);
+        new ModuleBuilder(tb, "m2")
+                .classes("package p3; public class c{}")
+                .classes("package p4; public class d{}")
+                .write(srcDir);
+    }
+
+    void createPackages(Path srcDir) throws Exception {
+        new ClassBuilder(tb, "pkg1.A")
+                .setModifiers("public", "class")
+                .write(srcDir);
+        new ClassBuilder(tb, "pkg2.B")
+                .setModifiers("public", "class")
+                .write(srcDir);
+    }
+}
--- a/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java	Mon Sep 24 10:59:26 2018 -0700
@@ -24,7 +24,7 @@
 /*
  * @test
  * @bug 8072945 8081854 8141492 8148985 8150188 4649116 8173707 8151743 8169819 8183037 8182765 8196202
- *      8202624
+ *      8202624 8210047
  * @summary Test the version of HTML generated by the javadoc tool.
  * @author bpatel
  * @library ../lib
@@ -106,14 +106,17 @@
                 "<nav role=\"navigation\" class=\"indexNav\">\n"
                 + "<ul>\n"
                 + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All&nbsp;Classes</a></li>",
-                "<main role=\"main\" class=\"indexContainer\">\n"
+                "<main role=\"main\">\n"
+                + "<div class=\"indexContainer\">\n"
                 + "<h2 title=\"Packages\">Packages</h2>");
 
         // Test for allclasses-frame page
         checkOutput("allclasses-frame.html", true,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<main role=\"main\" class=\"indexContainer\">\n"
+                "<main role=\"main\">\n"
+                + "<h1 class=\"bar\">All&nbsp;Classes</h1>\n"
+                + "<div class=\"indexContainer\">\n"
                 + "<ul>\n"
                 + "<li>");
 
@@ -636,14 +639,14 @@
                 "<div class=\"indexNav\">\n"
                 + "<ul>\n"
                 + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All&nbsp;Classes</a></li>",
-                "<div class=\"indexContainer\">\n"
+                "<main class=\"indexContainer\">\n"
                 + "<h2 title=\"Packages\">Packages</h2>");
 
         // Negated test for allclasses-frame page
         checkOutput("allclasses-frame.html", false,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<div class=\"indexContainer\">\n"
+                "<main class=\"indexContainer\">\n"
                 + "<ul>\n"
                 + "<li>");
 
--- a/test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java	Mon Sep 24 10:59:26 2018 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8173302 8182765 8196202
+ * @bug 8173302 8182765 8196202 8210047
  * @summary make sure the overview-summary and module-summary pages don't
  *          don't have the See link, and the overview is copied correctly.
  * @library ../lib
@@ -95,10 +95,10 @@
 
     void checkOverview() {
         checkOutput("overview-summary.html", true,
-                "<div class=\"header\">\n"
+                "<main role=\"main\">\n"
+                + "<div class=\"header\">\n"
                 + "<h1 class=\"title\">Document Title</h1>\n"
                 + "</div>\n"
-                + "<main role=\"main\">\n"
                 + "<div class=\"contentContainer\">\n"
                 + "<div class=\"block\">This is line1. This is line 2.</div>\n"
                 + "</div>\n"
--- a/test/langtools/tools/javac/launcher/SourceLauncherTest.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/langtools/tools/javac/launcher/SourceLauncherTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -229,7 +229,7 @@
         Files.createDirectories(base);
         Path file = base.resolve("NoClass.java");
         Files.write(file, List.of("package p;"));
-        testError(file, "", "error: no class declared in file");
+        testError(file, "", "error: no class declared in source file");
     }
 
     @Test
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/platform/CanHandleClassFilesTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2018, 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 8207954
+ * @summary Verify that CreateSymbols can handle classfiles from the current release.
+ * @library /tools/lib /tools/javac/lib
+ * @modules jdk.compiler/com.sun.tools.javac.api
+ *          jdk.compiler/com.sun.tools.javac.main
+ * @build toolbox.ToolBox toolbox.JavacTask toolbox.Task
+ * @run main CanHandleClassFilesTest
+ */
+
+import java.io.Writer;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import javax.tools.StandardLocation;
+
+import toolbox.JavacTask;
+import toolbox.ToolBox;
+
+public class CanHandleClassFilesTest {
+
+    public static void main(String... args) throws Exception {
+        new CanHandleClassFilesTest().run();
+    }
+
+    void run() throws Exception {
+        var testSrc = Paths.get(System.getProperty("test.src", "."));
+        var targetDir = Paths.get(".");
+        Path createSymbols = null;
+        Path includeList = null;
+        for (Path d = testSrc; d != null; d = d.getParent()) {
+            if (Files.exists(d.resolve("TEST.ROOT"))) {
+                d = d.getParent().getParent();
+                Path test = d.resolve("make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java");
+                if (Files.exists(test)) {
+                    createSymbols = test;
+                    includeList = d.resolve("make/data/symbols/include.list");
+                    break;
+                }
+            }
+        }
+        if (createSymbols == null || includeList == null || !Files.isReadable(includeList)) {
+            System.err.println("Warning: sources not found, test skipped.");
+            return ;
+        }
+        try (ToolBox.MemoryFileManager mfm = new ToolBox.MemoryFileManager()) {
+            ToolBox tb = new ToolBox();
+            new JavacTask(tb)
+              .options("--add-exports", "jdk.jdeps/com.sun.tools.classfile=ALL-UNNAMED",
+                       "--add-exports", "jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
+                       "--add-exports", "jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED",
+                       "--add-exports", "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
+                       "--add-modules", "jdk.jdeps")
+              .files(createSymbols)
+              .fileManager(mfm)
+              .run()
+              .writeAll();
+
+            ClassLoader cl = new ClassLoader() {
+                @Override
+                protected Class<?> findClass(String name) throws ClassNotFoundException {
+                    byte[] data = mfm.getFileBytes(StandardLocation.CLASS_OUTPUT, name);
+                    if (data != null) {
+                        return defineClass(name, data, 0, data.length);
+                    } else {
+                        throw new ClassNotFoundException(name);
+                    }
+                }
+            };
+
+            var createSymbolsClass = Class.forName("build.tools.symbolgenerator.CreateSymbols", false, cl);
+            var main = createSymbolsClass.getDeclaredMethod("main", String[].class);
+            var symbols = targetDir.resolve("symbols");
+
+            try (Writer w = Files.newBufferedWriter(symbols)) {}
+
+            main.invoke(null,
+                        (Object) new String[] {"build-description-incremental",
+                                               symbols.toAbsolutePath().toString(),
+                                               includeList.toAbsolutePath().toString()});
+
+            main.invoke(null,
+                        (Object) new String[] {"build-ctsym",
+                                               "does-not-exist",
+                                               symbols.toAbsolutePath().toString(),
+                                               targetDir.resolve("ct.sym").toAbsolutePath().toString()});
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/platform/NoProfileAnnotationWarning.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2018, 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 8209058
+ * @summary Verify the synthetic Profile+Annotation is ignored when using --release
+ * @modules java.compiler
+ * @compile -Xlint:all -Werror --release 10 NoProfileAnnotationWarning.java
+ */
+
+import javax.annotation.processing.ProcessingEnvironment;
+
+public class NoProfileAnnotationWarning {
+    void t(ProcessingEnvironment pe) {
+        pe.getElementUtils().getTypeElement("a");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/platform/ReleaseModulesAndTypeElement.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2018, 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 8209865
+ * @summary Verify that when reading from ct.sym, classes are only visible from modules from which
+ *          they are exported.
+ * @modules jdk.compiler
+ * @build ReleaseModulesAndTypeElement
+ * @compile -processor ReleaseModulesAndTypeElement --release 11 ReleaseModulesAndTypeElement.java
+ */
+
+import java.util.Set;
+
+import javax.annotation.processing.AbstractProcessor;
+import javax.annotation.processing.RoundEnvironment;
+import javax.annotation.processing.SupportedAnnotationTypes;
+import javax.lang.model.SourceVersion;
+import javax.lang.model.element.ModuleElement;
+import javax.lang.model.element.TypeElement;
+import javax.lang.model.util.Elements;
+
+@SupportedAnnotationTypes("*")
+public class ReleaseModulesAndTypeElement extends AbstractProcessor {
+
+    @Override
+    public boolean process(Set<? extends TypeElement> roots, RoundEnvironment roundEnv) {
+        Elements elements = processingEnv.getElementUtils();
+        if (elements.getTypeElement(JX_A_P_GENERATED) == null) {
+            throw new AssertionError("jx.a.p.Generated not found by unqualified search!");
+        }
+        ModuleElement javaBase = elements.getModuleElement("java.base");
+        if (elements.getTypeElement(javaBase, JX_A_P_GENERATED) != null) {
+            throw new AssertionError("jx.a.p.Generated found in java.base!");
+        }
+        ModuleElement javaCompiler = elements.getModuleElement("java.compiler");
+        if (elements.getTypeElement(javaCompiler, JX_A_P_GENERATED) == null) {
+            throw new AssertionError("jx.a.p.Generated not found in java.compiler!");
+        }
+        return false;
+    }
+    //where:
+        private static final String JX_A_P_GENERATED = "javax.annotation.processing.Generated";
+
+    @Override
+    public SourceVersion getSupportedSourceVersion() {
+        return SourceVersion.latestSupported();
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/typeVariableCast/TypeVariableCastTest.java	Mon Sep 24 10:59:26 2018 -0700
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2018, 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 8209022
+ * @run testng TypeVariableCastTest
+ * @summary Missing checkcast when casting to type parameter bounded by intersection type
+ */
+
+import java.util.*;
+import org.testng.annotations.Test;
+
+@Test
+public class TypeVariableCastTest {
+    static <T extends List<?> & Runnable> void f() {
+        Runnable r = (T) new ArrayList<>();
+    }
+
+    static <T extends Runnable & List<?>> void g() {
+        Runnable r = (T) new ArrayList<>();
+    }
+
+    @Test(expectedExceptions = ClassCastException.class)
+    static void testMethodF() {
+        f();
+    }
+
+    @Test(expectedExceptions = ClassCastException.class)
+    static void testMethodG() {
+        g();
+    }
+}
--- a/test/lib/jdk/test/lib/Asserts.java	Sat Sep 22 20:31:45 2018 -0700
+++ b/test/lib/jdk/test/lib/Asserts.java	Mon Sep 24 10:59:26 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
@@ -33,7 +33,7 @@
  *
  * <pre>
  * {@code
- * import static jdk.testlibrary.Asserts.*;
+ * import static jdk.test.lib.Asserts.*;
  * }
  *
  * Always provide a message describing the assumption if the line number of the