Merge JDK-8200758-branch
authorherrick
Tue, 17 Jul 2018 11:05:06 -0400
branchJDK-8200758-branch
changeset 56837 d63675085e09
parent 56836 40abf95122b0 (current diff)
parent 51103 cecc2e10edf4 (diff)
child 56838 4b73e9ef108a
Merge
make/data/symbols/java.base-6.sym.txt
make/data/symbols/java.compiler-6.sym.txt
make/data/symbols/java.desktop-6.sym.txt
make/data/symbols/java.logging-6.sym.txt
make/data/symbols/java.management-6.sym.txt
make/data/symbols/java.rmi-6.sym.txt
make/data/symbols/java.security.jgss-6.sym.txt
make/data/symbols/java.sql-6.sym.txt
make/data/symbols/java.sql.rowset-6.sym.txt
make/data/symbols/java.xml-6.sym.txt
make/data/symbols/java.xml.bind-6.sym.txt
make/data/symbols/java.xml.ws-6.sym.txt
make/data/symbols/java.xml.ws.annotation-6.sym.txt
make/data/symbols/jdk.management-6.sym.txt
make/data/symbols/jdk.sctp-6.sym.txt
make/data/symbols/jdk.security.jgss-6.sym.txt
test/langtools/tools/javac/TryWithResources/WeirdTwr.out
test/langtools/tools/javac/diags/examples/MethodInvokedWithWrongNumberOfArgs.java
test/langtools/tools/javac/diags/examples/MulticatchNotSupported.java
test/langtools/tools/javac/diags/examples/StringSwitchNotSupported.java
test/langtools/tools/javac/diags/examples/TryResourceNotSupported.java
test/langtools/tools/javac/diags/examples/TryWithoutCatchOrFinally.java
test/langtools/tools/javac/diags/examples/UnsupportedBinaryLiteral.java
test/langtools/tools/javac/diags/examples/UnsupportedUnderscoreLiteral.java
test/langtools/tools/javac/warnings/6594914/T6594914b.out
--- a/.hgtags	Tue Jul 17 10:54:15 2018 -0400
+++ b/.hgtags	Tue Jul 17 11:05:06 2018 -0400
@@ -495,4 +495,5 @@
 9816d7cc655e53ba081f938b656e31971b8f097a jdk-11+20
 14708e1acdc3974f4539027cbbcfa6d69f83cf51 jdk-11+21
 00b16d0457e43d23f6ca5ade6b243edce62750a0 jdk-12+1
+9937ef7499dcd7673714517fd5e450410c14ba4e jdk-11+22
 69b438908512d3dfef5852c6a843a5778333a309 jdk-12+2
--- a/make/autoconf/flags-cflags.m4	Tue Jul 17 10:54:15 2018 -0400
+++ b/make/autoconf/flags-cflags.m4	Tue Jul 17 11:05:06 2018 -0400
@@ -106,11 +106,17 @@
 
 AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
 [
+  # By default don't set any specific assembler debug
+  # info flags for toolchains unless we know they work.
+  # See JDK-8207057.
+  ASFLAGS_DEBUG_SYMBOLS=""
   # Debug symbols
   if test "x$TOOLCHAIN_TYPE" = xgcc; then
     CFLAGS_DEBUG_SYMBOLS="-g"
+    ASFLAGS_DEBUG_SYMBOLS="-g"
   elif test "x$TOOLCHAIN_TYPE" = xclang; then
     CFLAGS_DEBUG_SYMBOLS="-g"
+    ASFLAGS_DEBUG_SYMBOLS="-g"
   elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
     # -g0 enables debug symbols without disabling inlining.
     CFLAGS_DEBUG_SYMBOLS="-g0 -xs"
@@ -121,6 +127,7 @@
   fi
 
   AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
+  AC_SUBST(ASFLAGS_DEBUG_SYMBOLS)
 ])
 
 AC_DEFUN([FLAGS_SETUP_WARNINGS],
--- a/make/autoconf/hotspot.m4	Tue Jul 17 10:54:15 2018 -0400
+++ b/make/autoconf/hotspot.m4	Tue Jul 17 11:05:06 2018 -0400
@@ -500,7 +500,7 @@
 
   # Enable features depending on variant.
   JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci $JVM_FEATURES_aot $JVM_FEATURES_graal"
-  JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci"
+  JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES"
   JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES"
   JVM_FEATURES_minimal="compiler1 minimal serialgc $JVM_FEATURES $JVM_FEATURES_link_time_opt"
   JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES"
--- a/make/autoconf/spec.gmk.in	Tue Jul 17 10:54:15 2018 -0400
+++ b/make/autoconf/spec.gmk.in	Tue Jul 17 11:05:06 2018 -0400
@@ -532,6 +532,7 @@
 ZIP_EXTERNAL_DEBUG_SYMBOLS := @ZIP_EXTERNAL_DEBUG_SYMBOLS@
 
 CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@
+ASFLAGS_DEBUG_SYMBOLS:=@ASFLAGS_DEBUG_SYMBOLS@
 
 #
 # Compress (or not) jars
--- a/make/common/MakeBase.gmk	Tue Jul 17 10:54:15 2018 -0400
+++ b/make/common/MakeBase.gmk	Tue Jul 17 11:05:06 2018 -0400
@@ -1015,7 +1015,7 @@
   $(call LogCmdlines, Exececuting: [$(strip $2)]) \
   $(call MakeDir, $(dir $(strip $1))) \
   $(call WriteFile, $2, $(strip $1).cmdline) \
-  ( $(strip $2) > >($(TEE) $(strip $1).log) 2> >($(TEE) $(strip $1).log >&2) || \
+  ( $(RM) $(strip $1).log && $(strip $2) > >($(TEE) -a $(strip $1).log) 2> >($(TEE) -a $(strip $1).log >&2) || \
       ( exitcode=$(DOLLAR)? && \
       $(CP) $(strip $1).log $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(subst /,_,$(patsubst $(OUTPUTDIR)/%,%,$(strip $1))).log && \
       $(CP) $(strip $1).cmdline $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(subst /,_,$(patsubst $(OUTPUTDIR)/%,%,$(strip $1))).cmdline && \
--- a/make/common/NativeCompilation.gmk	Tue Jul 17 10:54:15 2018 -0400
+++ b/make/common/NativeCompilation.gmk	Tue Jul 17 11:05:06 2018 -0400
@@ -251,6 +251,7 @@
         $$($$($1_BASE)_SYSROOT_CFLAGS)
     $1_BASE_CXXFLAGS := $$($$($1_BASE)_CXXFLAGS) $$($$($1_BASE)_EXTRA_CXXFLAGS) \
         $$($$($1_BASE)_SYSROOT_CFLAGS) $$($1_EXTRA_CXXFLAGS)
+    $1_BASE_ASFLAGS := $$($$($1_BASE)_ASFLAGS) $$($$($1_BASE)_EXTRA_ASFLAGS)
 
     ifneq ($$(filter %.c, $$($1_FILENAME)), )
       # Compile as a C file
@@ -266,7 +267,7 @@
       $1_DEP_FLAG := $(C_FLAG_DEPS)
     else ifneq ($$(filter %.s %.S, $$($1_FILENAME)), )
       # Compile as assembler file
-      $1_FLAGS := $$($$($1_BASE)_ASFLAGS)
+      $1_FLAGS := $$($1_BASE_ASFLAGS)
       $1_COMPILER := $(AS)
       $1_DEP_FLAG :=
     else ifneq ($$(filter %.cpp %.cc %.mm, $$($1_FILENAME)), )
@@ -576,6 +577,7 @@
   ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
     $1_EXTRA_CFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
     $1_EXTRA_CXXFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
+    $1_EXTRA_ASFLAGS += $$(ASFLAGS_DEBUG_SYMBOLS)
   endif
 
   ifneq ($$($1_REORDER), )
--- a/make/data/symbols/java.base-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,890 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name java/io/Closeable
-header extends java/lang/Object flags 601
-
-class name java/io/File
--method name toPath descriptor ()Ljava/nio/file/Path;
-
-class name java/io/FileOutputStream
--method name write descriptor (I)V
-method name write descriptor (I)V thrownTypes java/io/IOException flags 101
-
-class name java/io/ObjectInput
-header extends java/lang/Object implements java/io/DataInput flags 601
-
-class name java/io/ObjectOutput
-header extends java/lang/Object implements java/io/DataOutput flags 601
-
-class name java/lang/AssertionError
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V
-
--class name java/lang/AutoCloseable
-
-class name java/lang/Boolean
--method name compare descriptor (ZZ)I
-
--class name java/lang/BootstrapMethodError
-
-class name java/lang/Byte
--method name compare descriptor (BB)I
-
-class name java/lang/Character
-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/Character;>;
-innerclass innerClass java/lang/Character$Subset outerClass java/lang/Character innerClassName Subset flags 9
-innerclass innerClass java/lang/Character$UnicodeBlock outerClass java/lang/Character innerClassName UnicodeBlock flags 19
--method name isBmpCodePoint descriptor (I)Z
--method name isSurrogate descriptor (C)Z
--method name highSurrogate descriptor (I)C
--method name lowSurrogate descriptor (I)C
--method name isAlphabetic descriptor (I)Z
--method name isIdeographic descriptor (I)Z
--method name compare descriptor (CC)I
--method name getName descriptor (I)Ljava/lang/String;
-
-class name java/lang/Character$UnicodeBlock
--field name ARABIC_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock;
--field name NKO descriptor Ljava/lang/Character$UnicodeBlock;
--field name SAMARITAN descriptor Ljava/lang/Character$UnicodeBlock;
--field name MANDAIC descriptor Ljava/lang/Character$UnicodeBlock;
--field name ETHIOPIC_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock;
--field name UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED descriptor Ljava/lang/Character$UnicodeBlock;
--field name NEW_TAI_LUE descriptor Ljava/lang/Character$UnicodeBlock;
--field name BUGINESE descriptor Ljava/lang/Character$UnicodeBlock;
--field name TAI_THAM descriptor Ljava/lang/Character$UnicodeBlock;
--field name BALINESE descriptor Ljava/lang/Character$UnicodeBlock;
--field name SUNDANESE descriptor Ljava/lang/Character$UnicodeBlock;
--field name BATAK descriptor Ljava/lang/Character$UnicodeBlock;
--field name LEPCHA descriptor Ljava/lang/Character$UnicodeBlock;
--field name OL_CHIKI descriptor Ljava/lang/Character$UnicodeBlock;
--field name VEDIC_EXTENSIONS descriptor Ljava/lang/Character$UnicodeBlock;
--field name PHONETIC_EXTENSIONS_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock;
--field name COMBINING_DIACRITICAL_MARKS_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock;
--field name GLAGOLITIC descriptor Ljava/lang/Character$UnicodeBlock;
--field name LATIN_EXTENDED_C descriptor Ljava/lang/Character$UnicodeBlock;
--field name COPTIC descriptor Ljava/lang/Character$UnicodeBlock;
--field name GEORGIAN_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock;
--field name TIFINAGH descriptor Ljava/lang/Character$UnicodeBlock;
--field name ETHIOPIC_EXTENDED descriptor Ljava/lang/Character$UnicodeBlock;
--field name CYRILLIC_EXTENDED_A descriptor Ljava/lang/Character$UnicodeBlock;
--field name SUPPLEMENTAL_PUNCTUATION descriptor Ljava/lang/Character$UnicodeBlock;
--field name CJK_STROKES descriptor Ljava/lang/Character$UnicodeBlock;
--field name LISU descriptor Ljava/lang/Character$UnicodeBlock;
--field name VAI descriptor Ljava/lang/Character$UnicodeBlock;
--field name CYRILLIC_EXTENDED_B descriptor Ljava/lang/Character$UnicodeBlock;
--field name BAMUM descriptor Ljava/lang/Character$UnicodeBlock;
--field name MODIFIER_TONE_LETTERS descriptor Ljava/lang/Character$UnicodeBlock;
--field name LATIN_EXTENDED_D descriptor Ljava/lang/Character$UnicodeBlock;
--field name SYLOTI_NAGRI descriptor Ljava/lang/Character$UnicodeBlock;
--field name COMMON_INDIC_NUMBER_FORMS descriptor Ljava/lang/Character$UnicodeBlock;
--field name PHAGS_PA descriptor Ljava/lang/Character$UnicodeBlock;
--field name SAURASHTRA descriptor Ljava/lang/Character$UnicodeBlock;
--field name DEVANAGARI_EXTENDED descriptor Ljava/lang/Character$UnicodeBlock;
--field name KAYAH_LI descriptor Ljava/lang/Character$UnicodeBlock;
--field name REJANG descriptor Ljava/lang/Character$UnicodeBlock;
--field name HANGUL_JAMO_EXTENDED_A descriptor Ljava/lang/Character$UnicodeBlock;
--field name JAVANESE descriptor Ljava/lang/Character$UnicodeBlock;
--field name CHAM descriptor Ljava/lang/Character$UnicodeBlock;
--field name MYANMAR_EXTENDED_A descriptor Ljava/lang/Character$UnicodeBlock;
--field name TAI_VIET descriptor Ljava/lang/Character$UnicodeBlock;
--field name ETHIOPIC_EXTENDED_A descriptor Ljava/lang/Character$UnicodeBlock;
--field name MEETEI_MAYEK descriptor Ljava/lang/Character$UnicodeBlock;
--field name HANGUL_JAMO_EXTENDED_B descriptor Ljava/lang/Character$UnicodeBlock;
--field name VERTICAL_FORMS descriptor Ljava/lang/Character$UnicodeBlock;
--field name ANCIENT_GREEK_NUMBERS descriptor Ljava/lang/Character$UnicodeBlock;
--field name ANCIENT_SYMBOLS descriptor Ljava/lang/Character$UnicodeBlock;
--field name PHAISTOS_DISC descriptor Ljava/lang/Character$UnicodeBlock;
--field name LYCIAN descriptor Ljava/lang/Character$UnicodeBlock;
--field name CARIAN descriptor Ljava/lang/Character$UnicodeBlock;
--field name OLD_PERSIAN descriptor Ljava/lang/Character$UnicodeBlock;
--field name IMPERIAL_ARAMAIC descriptor Ljava/lang/Character$UnicodeBlock;
--field name PHOENICIAN descriptor Ljava/lang/Character$UnicodeBlock;
--field name LYDIAN descriptor Ljava/lang/Character$UnicodeBlock;
--field name KHAROSHTHI descriptor Ljava/lang/Character$UnicodeBlock;
--field name OLD_SOUTH_ARABIAN descriptor Ljava/lang/Character$UnicodeBlock;
--field name AVESTAN descriptor Ljava/lang/Character$UnicodeBlock;
--field name INSCRIPTIONAL_PARTHIAN descriptor Ljava/lang/Character$UnicodeBlock;
--field name INSCRIPTIONAL_PAHLAVI descriptor Ljava/lang/Character$UnicodeBlock;
--field name OLD_TURKIC descriptor Ljava/lang/Character$UnicodeBlock;
--field name RUMI_NUMERAL_SYMBOLS descriptor Ljava/lang/Character$UnicodeBlock;
--field name BRAHMI descriptor Ljava/lang/Character$UnicodeBlock;
--field name KAITHI descriptor Ljava/lang/Character$UnicodeBlock;
--field name CUNEIFORM descriptor Ljava/lang/Character$UnicodeBlock;
--field name CUNEIFORM_NUMBERS_AND_PUNCTUATION descriptor Ljava/lang/Character$UnicodeBlock;
--field name EGYPTIAN_HIEROGLYPHS descriptor Ljava/lang/Character$UnicodeBlock;
--field name BAMUM_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock;
--field name KANA_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock;
--field name ANCIENT_GREEK_MUSICAL_NOTATION descriptor Ljava/lang/Character$UnicodeBlock;
--field name COUNTING_ROD_NUMERALS descriptor Ljava/lang/Character$UnicodeBlock;
--field name MAHJONG_TILES descriptor Ljava/lang/Character$UnicodeBlock;
--field name DOMINO_TILES descriptor Ljava/lang/Character$UnicodeBlock;
--field name PLAYING_CARDS descriptor Ljava/lang/Character$UnicodeBlock;
--field name ENCLOSED_ALPHANUMERIC_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock;
--field name ENCLOSED_IDEOGRAPHIC_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock;
--field name MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS descriptor Ljava/lang/Character$UnicodeBlock;
--field name EMOTICONS descriptor Ljava/lang/Character$UnicodeBlock;
--field name TRANSPORT_AND_MAP_SYMBOLS descriptor Ljava/lang/Character$UnicodeBlock;
--field name ALCHEMICAL_SYMBOLS descriptor Ljava/lang/Character$UnicodeBlock;
--field name CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C descriptor Ljava/lang/Character$UnicodeBlock;
--field name CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D descriptor Ljava/lang/Character$UnicodeBlock;
-
--class name java/lang/Character$UnicodeScript
-
-class name java/lang/ClassLoader
--method name loadClass descriptor (Ljava/lang/String;Z)Ljava/lang/Class;
--method name getClassLoadingLock descriptor (Ljava/lang/String;)Ljava/lang/Object;
--method name setDefaultAssertionStatus descriptor (Z)V
--method name setPackageAssertionStatus descriptor (Ljava/lang/String;Z)V
--method name setClassAssertionStatus descriptor (Ljava/lang/String;Z)V
--method name clearAssertionStatus descriptor ()V
--method name registerAsParallelCapable descriptor ()Z
-method name loadClass descriptor (Ljava/lang/String;Z)Ljava/lang/Class; thrownTypes java/lang/ClassNotFoundException flags 24 signature (Ljava/lang/String;Z)Ljava/lang/Class<*>;
-method name setDefaultAssertionStatus descriptor (Z)V flags 21
-method name setPackageAssertionStatus descriptor (Ljava/lang/String;Z)V flags 21
-method name setClassAssertionStatus descriptor (Ljava/lang/String;Z)V flags 21
-method name clearAssertionStatus descriptor ()V flags 21
-
-class name java/lang/ClassNotFoundException
-header extends java/lang/Exception flags 21
-
--class name java/lang/ClassValue
-
-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;)
-
-class name java/lang/Error
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
-
-class name java/lang/Exception
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
-
-class name java/lang/IllegalAccessException
-header extends java/lang/Exception flags 21
-
-class name java/lang/InstantiationException
-header extends java/lang/Exception flags 21
-
-class name java/lang/Integer
--method name compare descriptor (II)I
-
-class name java/lang/LinkageError
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V
-
-class name java/lang/Long
--method name compare descriptor (JJ)I
-
-class name java/lang/NoSuchFieldException
-header extends java/lang/Exception flags 21
-
-class name java/lang/NoSuchMethodException
-header extends java/lang/Exception flags 21
-
-class name java/lang/ProcessBuilder
-header extends java/lang/Object flags 31
--method name redirectInput descriptor (Ljava/lang/ProcessBuilder$Redirect;)Ljava/lang/ProcessBuilder;
--method name redirectOutput descriptor (Ljava/lang/ProcessBuilder$Redirect;)Ljava/lang/ProcessBuilder;
--method name redirectError descriptor (Ljava/lang/ProcessBuilder$Redirect;)Ljava/lang/ProcessBuilder;
--method name redirectInput descriptor (Ljava/io/File;)Ljava/lang/ProcessBuilder;
--method name redirectOutput descriptor (Ljava/io/File;)Ljava/lang/ProcessBuilder;
--method name redirectError descriptor (Ljava/io/File;)Ljava/lang/ProcessBuilder;
--method name redirectInput descriptor ()Ljava/lang/ProcessBuilder$Redirect;
--method name redirectOutput descriptor ()Ljava/lang/ProcessBuilder$Redirect;
--method name redirectError descriptor ()Ljava/lang/ProcessBuilder$Redirect;
--method name inheritIO descriptor ()Ljava/lang/ProcessBuilder;
-
--class name java/lang/ProcessBuilder$Redirect
-
--class name java/lang/ProcessBuilder$Redirect$Type
-
--class name java/lang/ReflectiveOperationException
-
-class name java/lang/RuntimeException
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
-
--class name java/lang/SafeVarargs
-
-class name java/lang/Short
--method name compare descriptor (SS)I
-
-class name java/lang/StrictMath
--method name ceil descriptor (D)D
--method name floor descriptor (D)D
-method name ceil descriptor (D)D flags 109
-method name floor descriptor (D)D flags 109
-
-class name java/lang/System
--method name lineSeparator descriptor ()Ljava/lang/String;
-
-class name java/lang/Thread
--method name clone descriptor ()Ljava/lang/Object;
-
-class name java/lang/Throwable
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
--method name getCause descriptor ()Ljava/lang/Throwable;
--method name fillInStackTrace descriptor ()Ljava/lang/Throwable;
--method name addSuppressed descriptor (Ljava/lang/Throwable;)V
--method name getSuppressed descriptor ()[Ljava/lang/Throwable;
-method name getCause descriptor ()Ljava/lang/Throwable; flags 1
-method name fillInStackTrace descriptor ()Ljava/lang/Throwable; flags 121
-
--class name java/lang/invoke/CallSite
-
--class name java/lang/invoke/ConstantCallSite
-
--class name java/lang/invoke/MethodHandle
-
--class name java/lang/invoke/MethodHandleProxies
-
--class name java/lang/invoke/MethodHandles
-
--class name java/lang/invoke/MethodHandles$Lookup
-
--class name java/lang/invoke/MethodType
-
--class name java/lang/invoke/MutableCallSite
-
--class name java/lang/invoke/SwitchPoint
-
--class name java/lang/invoke/VolatileCallSite
-
--class name java/lang/invoke/WrongMethodTypeException
-
-class name java/lang/reflect/InvocationTargetException
-header extends java/lang/Exception flags 21
-
-class name java/lang/reflect/Modifier
--method name classModifiers descriptor ()I
--method name interfaceModifiers descriptor ()I
--method name constructorModifiers descriptor ()I
--method name methodModifiers descriptor ()I
--method name fieldModifiers descriptor ()I
-
-class name java/net/DatagramSocket
-header extends java/lang/Object flags 21
-
-class name java/net/HttpCookie
--method name isHttpOnly descriptor ()Z
--method name setHttpOnly descriptor (Z)V
-
-class name java/net/HttpURLConnection
--field name fixedContentLengthLong descriptor J
--method name setFixedLengthStreamingMode descriptor (J)V
-
-class name java/net/InetAddress
--method name getLoopbackAddress descriptor ()Ljava/net/InetAddress;
-
-class name java/net/InetSocketAddress
--method name getHostString descriptor ()Ljava/lang/String;
-
-class name java/net/NetworkInterface
--method name getIndex descriptor ()I
--method name getByIndex descriptor (I)Ljava/net/NetworkInterface;
-
--class name java/net/ProtocolFamily
-
-class name java/net/ServerSocket
-header extends java/lang/Object flags 21
-
-class name java/net/Socket
-header extends java/lang/Object flags 21
-
--class name java/net/SocketOption
-
--class name java/net/StandardProtocolFamily
-
--class name java/net/StandardSocketOptions
-
-class name java/net/URLClassLoader
-header extends java/security/SecureClassLoader flags 21
--method name getResourceAsStream descriptor (Ljava/lang/String;)Ljava/io/InputStream;
--method name close descriptor ()V
-
-class name java/net/URLConnection
--method name getContentLengthLong descriptor ()J
--method name getHeaderFieldLong descriptor (Ljava/lang/String;J)J
-
-class name java/nio/CharBuffer
--method name subSequence descriptor (II)Ljava/nio/CharBuffer;
--method name subSequence descriptor (II)Ljava/lang/CharSequence;
-method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 401
-
--class name java/nio/channels/AcceptPendingException
-
--class name java/nio/channels/AlreadyBoundException
-
--class name java/nio/channels/AsynchronousByteChannel
-
--class name java/nio/channels/AsynchronousChannel
-
--class name java/nio/channels/AsynchronousChannelGroup
-
--class name java/nio/channels/AsynchronousFileChannel
-
--class name java/nio/channels/AsynchronousServerSocketChannel
-
--class name java/nio/channels/AsynchronousSocketChannel
-
-class name java/nio/channels/Channels
--method name newInputStream descriptor (Ljava/nio/channels/AsynchronousByteChannel;)Ljava/io/InputStream;
--method name newOutputStream descriptor (Ljava/nio/channels/AsynchronousByteChannel;)Ljava/io/OutputStream;
-
--class name java/nio/channels/CompletionHandler
-
-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 flags 421
--method name open descriptor (Ljava/net/ProtocolFamily;)Ljava/nio/channels/DatagramChannel;
--method name bind descriptor (Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
--method name setOption descriptor (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/DatagramChannel;
--method name getRemoteAddress descriptor ()Ljava/net/SocketAddress;
--method name setOption descriptor (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/NetworkChannel;
--method name bind descriptor (Ljava/net/SocketAddress;)Ljava/nio/channels/NetworkChannel;
-
-class name java/nio/channels/FileChannel
-header extends java/nio/channels/spi/AbstractInterruptibleChannel implements java/nio/channels/ByteChannel,java/nio/channels/GatheringByteChannel,java/nio/channels/ScatteringByteChannel flags 421
-innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9
--method name open descriptor (Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/FileChannel;
--method name open descriptor (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
--method name truncate descriptor (J)Ljava/nio/channels/SeekableByteChannel;
--method name position descriptor (J)Ljava/nio/channels/SeekableByteChannel;
-
-class name java/nio/channels/FileLock
-header extends java/lang/Object flags 421
--method name <init> descriptor (Ljava/nio/channels/AsynchronousFileChannel;JJZ)V
--method name acquiredBy descriptor ()Ljava/nio/channels/Channel;
--method name close descriptor ()V
-
--class name java/nio/channels/IllegalChannelGroupException
-
--class name java/nio/channels/InterruptedByTimeoutException
-
--class name java/nio/channels/MembershipKey
-
--class name java/nio/channels/MulticastChannel
-
--class name java/nio/channels/NetworkChannel
-
--class name java/nio/channels/ReadPendingException
-
--class name java/nio/channels/SeekableByteChannel
-
-class name java/nio/channels/Selector
-header extends java/lang/Object flags 421
-
-class name java/nio/channels/ServerSocketChannel
-header extends java/nio/channels/spi/AbstractSelectableChannel flags 421
--method name bind descriptor (Ljava/net/SocketAddress;)Ljava/nio/channels/ServerSocketChannel;
--method name bind descriptor (Ljava/net/SocketAddress;I)Ljava/nio/channels/ServerSocketChannel;
--method name setOption descriptor (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/ServerSocketChannel;
--method name setOption descriptor (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/NetworkChannel;
--method name bind descriptor (Ljava/net/SocketAddress;)Ljava/nio/channels/NetworkChannel;
-
--class name java/nio/channels/ShutdownChannelGroupException
-
-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 flags 421
--method name bind descriptor (Ljava/net/SocketAddress;)Ljava/nio/channels/SocketChannel;
--method name setOption descriptor (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/SocketChannel;
--method name shutdownInput descriptor ()Ljava/nio/channels/SocketChannel;
--method name shutdownOutput descriptor ()Ljava/nio/channels/SocketChannel;
--method name getRemoteAddress descriptor ()Ljava/net/SocketAddress;
--method name setOption descriptor (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/NetworkChannel;
--method name bind descriptor (Ljava/net/SocketAddress;)Ljava/nio/channels/NetworkChannel;
-
--class name java/nio/channels/WritePendingException
-
--class name java/nio/channels/spi/AsynchronousChannelProvider
-
-class name java/nio/channels/spi/SelectorProvider
--method name openDatagramChannel descriptor (Ljava/net/ProtocolFamily;)Ljava/nio/channels/DatagramChannel;
-
--class name java/nio/charset/StandardCharsets
-
--class name java/nio/file/AccessDeniedException
-
--class name java/nio/file/AccessMode
-
--class name java/nio/file/AtomicMoveNotSupportedException
-
--class name java/nio/file/ClosedDirectoryStreamException
-
--class name java/nio/file/ClosedFileSystemException
-
--class name java/nio/file/ClosedWatchServiceException
-
--class name java/nio/file/CopyOption
-
--class name java/nio/file/DirectoryIteratorException
-
--class name java/nio/file/DirectoryNotEmptyException
-
--class name java/nio/file/DirectoryStream
-
--class name java/nio/file/DirectoryStream$Filter
-
--class name java/nio/file/FileAlreadyExistsException
-
--class name java/nio/file/FileStore
-
--class name java/nio/file/FileSystem
-
--class name java/nio/file/FileSystemAlreadyExistsException
-
--class name java/nio/file/FileSystemException
-
--class name java/nio/file/FileSystemLoopException
-
--class name java/nio/file/FileSystemNotFoundException
-
--class name java/nio/file/FileSystems
-
--class name java/nio/file/FileVisitOption
-
--class name java/nio/file/FileVisitResult
-
--class name java/nio/file/FileVisitor
-
--class name java/nio/file/Files
-
--class name java/nio/file/InvalidPathException
-
--class name java/nio/file/LinkOption
-
--class name java/nio/file/LinkPermission
-
--class name java/nio/file/NoSuchFileException
-
--class name java/nio/file/NotDirectoryException
-
--class name java/nio/file/NotLinkException
-
--class name java/nio/file/OpenOption
-
--class name java/nio/file/Path
-
--class name java/nio/file/PathMatcher
-
--class name java/nio/file/Paths
-
--class name java/nio/file/ProviderMismatchException
-
--class name java/nio/file/ProviderNotFoundException
-
--class name java/nio/file/ReadOnlyFileSystemException
-
--class name java/nio/file/SecureDirectoryStream
-
--class name java/nio/file/SimpleFileVisitor
-
--class name java/nio/file/StandardCopyOption
-
--class name java/nio/file/StandardOpenOption
-
--class name java/nio/file/StandardWatchEventKinds
-
--class name java/nio/file/WatchEvent
-
--class name java/nio/file/WatchEvent$Kind
-
--class name java/nio/file/WatchEvent$Modifier
-
--class name java/nio/file/WatchKey
-
--class name java/nio/file/WatchService
-
--class name java/nio/file/Watchable
-
--class name java/nio/file/attribute/AclEntry
-
--class name java/nio/file/attribute/AclEntry$Builder
-
--class name java/nio/file/attribute/AclEntryFlag
-
--class name java/nio/file/attribute/AclEntryPermission
-
--class name java/nio/file/attribute/AclEntryType
-
--class name java/nio/file/attribute/AclFileAttributeView
-
--class name java/nio/file/attribute/AttributeView
-
--class name java/nio/file/attribute/BasicFileAttributeView
-
--class name java/nio/file/attribute/BasicFileAttributes
-
--class name java/nio/file/attribute/DosFileAttributeView
-
--class name java/nio/file/attribute/DosFileAttributes
-
--class name java/nio/file/attribute/FileAttribute
-
--class name java/nio/file/attribute/FileAttributeView
-
--class name java/nio/file/attribute/FileOwnerAttributeView
-
--class name java/nio/file/attribute/FileStoreAttributeView
-
--class name java/nio/file/attribute/FileTime
-
--class name java/nio/file/attribute/GroupPrincipal
-
--class name java/nio/file/attribute/PosixFileAttributeView
-
--class name java/nio/file/attribute/PosixFileAttributes
-
--class name java/nio/file/attribute/PosixFilePermission
-
--class name java/nio/file/attribute/PosixFilePermissions
-
--class name java/nio/file/attribute/UserDefinedFileAttributeView
-
--class name java/nio/file/attribute/UserPrincipal
-
--class name java/nio/file/attribute/UserPrincipalLookupService
-
--class name java/nio/file/attribute/UserPrincipalNotFoundException
-
--class name java/nio/file/spi/FileSystemProvider
-
--class name java/nio/file/spi/FileTypeDetector
-
--class name java/security/AlgorithmConstraints
-
--class name java/security/CryptoPrimitive
-
--class name java/security/cert/CRLReason
-
-class name java/security/cert/CertPathValidatorException
-header extends java/security/GeneralSecurityException flags 21
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
--method name getReason descriptor ()Ljava/security/cert/CertPathValidatorException$Reason;
-
--class name java/security/cert/CertPathValidatorException$BasicReason
-
--class name java/security/cert/CertPathValidatorException$Reason
-
--class name java/security/cert/CertificateRevokedException
-
--class name java/security/cert/Extension
-
--class name java/security/cert/PKIXReason
-
-class name java/security/cert/X509CRLEntry
--method name getRevocationReason descriptor ()Ljava/security/cert/CRLReason;
-
-class name java/util/ArrayList
--method name removeAll descriptor (Ljava/util/Collection;)Z
--method name retainAll descriptor (Ljava/util/Collection;)Z
--method name listIterator descriptor (I)Ljava/util/ListIterator;
--method name listIterator descriptor ()Ljava/util/ListIterator;
--method name iterator descriptor ()Ljava/util/Iterator;
--method name subList descriptor (II)Ljava/util/List;
-
-class name java/util/Arrays
--method name asList descriptor ([Ljava/lang/Object;)Ljava/util/List;
-method name asList descriptor ([Ljava/lang/Object;)Ljava/util/List; flags 89 signature <T:Ljava/lang/Object;>([TT;)Ljava/util/List<TT;>;
-
-class name java/util/BitSet
--method name valueOf descriptor ([J)Ljava/util/BitSet;
--method name valueOf descriptor (Ljava/nio/LongBuffer;)Ljava/util/BitSet;
--method name valueOf descriptor ([B)Ljava/util/BitSet;
--method name valueOf descriptor (Ljava/nio/ByteBuffer;)Ljava/util/BitSet;
--method name toByteArray descriptor ()[B
--method name toLongArray descriptor ()[J
--method name previousSetBit descriptor (I)I
--method name previousClearBit descriptor (I)I
-
-class name java/util/Calendar
--method name isWeekDateSupported descriptor ()Z
--method name getWeekYear descriptor ()I
--method name setWeekDate descriptor (III)V
--method name getWeeksInWeekYear descriptor ()I
-
-class name java/util/Collections
--method name emptyIterator descriptor ()Ljava/util/Iterator;
--method name emptyListIterator descriptor ()Ljava/util/ListIterator;
--method name emptyEnumeration descriptor ()Ljava/util/Enumeration;
--method name addAll descriptor (Ljava/util/Collection;[Ljava/lang/Object;)Z
-method name addAll descriptor (Ljava/util/Collection;[Ljava/lang/Object;)Z flags 89 signature <T:Ljava/lang/Object;>(Ljava/util/Collection<-TT;>;[TT;)Z
-
-class name java/util/ConcurrentModificationException
--method name <init> descriptor (Ljava/lang/Throwable;)V
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V
-
-class name java/util/Currency
--method name getAvailableCurrencies descriptor ()Ljava/util/Set;
--method name getNumericCode descriptor ()I
--method name getDisplayName descriptor ()Ljava/lang/String;
--method name getDisplayName descriptor (Ljava/util/Locale;)Ljava/lang/String;
-
-class name java/util/EnumMap
--method name hashCode descriptor ()I
-
-class name java/util/EnumSet
--method name of descriptor (Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
-method name of descriptor (Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet; flags 89 signature <E:Ljava/lang/Enum<TE;>;>(TE;[TE;)Ljava/util/EnumSet<TE;>;
-
-class name java/util/EventListenerProxy
-header extends java/lang/Object implements java/util/EventListener flags 421
--method name <init> descriptor (Ljava/util/EventListener;)V
--method name getListener descriptor ()Ljava/util/EventListener;
-method name <init> descriptor (Ljava/util/EventListener;)V flags 1
-method name getListener descriptor ()Ljava/util/EventListener; flags 1
-
-class name java/util/GregorianCalendar
--method name isWeekDateSupported descriptor ()Z
--method name getWeekYear descriptor ()I
--method name setWeekDate descriptor (III)V
--method name getWeeksInWeekYear descriptor ()I
-
--class name java/util/IllformedLocaleException
-
-class name java/util/Locale
-header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 31
--field name PRIVATE_USE_EXTENSION descriptor C
--field name UNICODE_LOCALE_EXTENSION descriptor C
--method name getDefault descriptor (Ljava/util/Locale$Category;)Ljava/util/Locale;
--method name setDefault descriptor (Ljava/util/Locale$Category;Ljava/util/Locale;)V
--method name getScript descriptor ()Ljava/lang/String;
--method name getExtension descriptor (C)Ljava/lang/String;
--method name getExtensionKeys descriptor ()Ljava/util/Set;
--method name getUnicodeLocaleAttributes descriptor ()Ljava/util/Set;
--method name getUnicodeLocaleType descriptor (Ljava/lang/String;)Ljava/lang/String;
--method name getUnicodeLocaleKeys descriptor ()Ljava/util/Set;
--method name toLanguageTag descriptor ()Ljava/lang/String;
--method name forLanguageTag descriptor (Ljava/lang/String;)Ljava/util/Locale;
--method name getDisplayScript descriptor ()Ljava/lang/String;
--method name getDisplayScript descriptor (Ljava/util/Locale;)Ljava/lang/String;
-
--class name java/util/Locale$Builder
-
--class name java/util/Locale$Category
-
--class name java/util/Objects
-
-class name java/util/Properties
--method name save descriptor (Ljava/io/OutputStream;Ljava/lang/String;)V
--method name storeToXML descriptor (Ljava/io/OutputStream;Ljava/lang/String;)V
--method name storeToXML descriptor (Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)V
-method name save descriptor (Ljava/io/OutputStream;Ljava/lang/String;)V flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
-method name storeToXML descriptor (Ljava/io/OutputStream;Ljava/lang/String;)V thrownTypes java/io/IOException flags 21
-method name storeToXML descriptor (Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)V thrownTypes java/io/IOException flags 21
-
-class name java/util/Scanner
-header extends java/lang/Object implements java/util/Iterator flags 31 signature Ljava/lang/Object;Ljava/util/Iterator<Ljava/lang/String;>;
--method name <init> descriptor (Ljava/nio/file/Path;)V
--method name <init> descriptor (Ljava/nio/file/Path;Ljava/lang/String;)V
-
-class name java/util/SimpleTimeZone
--method name observesDaylightTime descriptor ()Z
-
-class name java/util/TimeZone
--method name observesDaylightTime descriptor ()Z
-
-class name java/util/Vector
--method name listIterator descriptor (I)Ljava/util/ListIterator;
--method name listIterator descriptor ()Ljava/util/ListIterator;
--method name iterator descriptor ()Ljava/util/Iterator;
-
--class name java/util/concurrent/ConcurrentLinkedDeque
-
-class name java/util/concurrent/ConcurrentLinkedQueue
--method name addAll descriptor (Ljava/util/Collection;)Z
-
--class name java/util/concurrent/ForkJoinPool
-
--class name java/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory
-
--class name java/util/concurrent/ForkJoinPool$ManagedBlocker
-
--class name java/util/concurrent/ForkJoinTask
-
--class name java/util/concurrent/ForkJoinWorkerThread
-
-class name java/util/concurrent/LinkedBlockingQueue
--method name contains descriptor (Ljava/lang/Object;)Z
-
--class name java/util/concurrent/LinkedTransferQueue
-
--class name java/util/concurrent/Phaser
-
--class name java/util/concurrent/RecursiveAction
-
--class name java/util/concurrent/RecursiveTask
-
-class name java/util/concurrent/ScheduledThreadPoolExecutor
--method name setRemoveOnCancelPolicy descriptor (Z)V
--method name getRemoveOnCancelPolicy descriptor ()Z
-method name remove descriptor (Ljava/lang/Runnable;)Z flags 1
-
--class name java/util/concurrent/ThreadLocalRandom
-
-class name java/util/concurrent/ThreadPoolExecutor
--method name toString descriptor ()Ljava/lang/String;
-
--class name java/util/concurrent/TransferQueue
-
-class name java/util/concurrent/locks/AbstractQueuedLongSynchronizer
--method name hasQueuedPredecessors descriptor ()Z
-
-class name java/util/concurrent/locks/AbstractQueuedSynchronizer
--method name hasQueuedPredecessors descriptor ()Z
-
-class name java/util/regex/Matcher
--method name group descriptor (Ljava/lang/String;)Ljava/lang/String;
-
-class name java/util/regex/Pattern
--field name UNICODE_CHARACTER_CLASS descriptor I
-
-class name java/util/spi/CurrencyNameProvider
--method name getDisplayName descriptor (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
-
-class name java/util/spi/LocaleNameProvider
--method name getDisplayScript descriptor (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
-
-class name java/util/zip/Deflater
--field name NO_FLUSH descriptor I
--field name SYNC_FLUSH descriptor I
--field name FULL_FLUSH descriptor I
--method name setInput descriptor ([BII)V
--method name setDictionary descriptor ([BII)V
--method name setStrategy descriptor (I)V
--method name setLevel descriptor (I)V
--method name finish descriptor ()V
--method name finished descriptor ()Z
--method name deflate descriptor ([BII)I
--method name deflate descriptor ([BIII)I
--method name getAdler descriptor ()I
--method name getBytesRead descriptor ()J
--method name getBytesWritten descriptor ()J
--method name reset descriptor ()V
--method name end descriptor ()V
-method name setInput descriptor ([BII)V flags 21
-method name setDictionary descriptor ([BII)V flags 21
-method name setStrategy descriptor (I)V flags 21
-method name setLevel descriptor (I)V flags 21
-method name finish descriptor ()V flags 21
-method name finished descriptor ()Z flags 21
-method name deflate descriptor ([BII)I flags 21
-method name getAdler descriptor ()I flags 21
-method name getBytesRead descriptor ()J flags 21
-method name getBytesWritten descriptor ()J flags 21
-method name reset descriptor ()V flags 21
-method name end descriptor ()V flags 21
-
-class name java/util/zip/DeflaterOutputStream
--method name <init> descriptor (Ljava/io/OutputStream;Ljava/util/zip/Deflater;IZ)V
--method name <init> descriptor (Ljava/io/OutputStream;Ljava/util/zip/Deflater;Z)V
--method name <init> descriptor (Ljava/io/OutputStream;Z)V
--method name flush descriptor ()V
-
-class name java/util/zip/GZIPOutputStream
--method name <init> descriptor (Ljava/io/OutputStream;IZ)V
--method name <init> descriptor (Ljava/io/OutputStream;Z)V
-
-class name java/util/zip/Inflater
--method name setInput descriptor ([BII)V
--method name setDictionary descriptor ([BII)V
--method name getRemaining descriptor ()I
--method name needsInput descriptor ()Z
--method name needsDictionary descriptor ()Z
--method name finished descriptor ()Z
--method name inflate descriptor ([BII)I
--method name getAdler descriptor ()I
--method name getBytesRead descriptor ()J
--method name getBytesWritten descriptor ()J
--method name reset descriptor ()V
--method name end descriptor ()V
-method name setInput descriptor ([BII)V flags 21
-method name setDictionary descriptor ([BII)V flags 21
-method name getRemaining descriptor ()I flags 21
-method name needsInput descriptor ()Z flags 21
-method name needsDictionary descriptor ()Z flags 21
-method name finished descriptor ()Z flags 21
-method name inflate descriptor ([BII)I thrownTypes java/util/zip/DataFormatException flags 21
-method name getAdler descriptor ()I flags 21
-method name getBytesRead descriptor ()J flags 21
-method name getBytesWritten descriptor ()J flags 21
-method name reset descriptor ()V flags 21
-method name end descriptor ()V flags 21
-
-class name java/util/zip/ZipFile
-header extends java/lang/Object implements java/util/zip/ZipConstants flags 21
--method name <init> descriptor (Ljava/io/File;ILjava/nio/charset/Charset;)V
--method name <init> descriptor (Ljava/lang/String;Ljava/nio/charset/Charset;)V
--method name <init> descriptor (Ljava/io/File;Ljava/nio/charset/Charset;)V
--method name getComment descriptor ()Ljava/lang/String;
-
-class name java/util/zip/ZipInputStream
--method name <init> descriptor (Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
-
-class name java/util/zip/ZipOutputStream
--method name <init> descriptor (Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
-
--class name javax/crypto/AEADBadTagException
-
-class name javax/crypto/Cipher
--method name updateAAD descriptor ([B)V
--method name updateAAD descriptor ([BII)V
--method name updateAAD descriptor (Ljava/nio/ByteBuffer;)V
-
-class name javax/crypto/CipherSpi
--method name engineUpdateAAD descriptor ([BII)V
--method name engineUpdateAAD descriptor (Ljava/nio/ByteBuffer;)V
-
--class name javax/crypto/spec/GCMParameterSpec
-
--class name javax/net/ssl/ExtendedSSLSession
-
-class name javax/net/ssl/SSLEngine
--method name getHandshakeSession descriptor ()Ljavax/net/ssl/SSLSession;
-
-class name javax/net/ssl/SSLEngineResult
-header extends java/lang/Object 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/SSLParameters
--method name getAlgorithmConstraints descriptor ()Ljava/security/AlgorithmConstraints;
--method name setAlgorithmConstraints descriptor (Ljava/security/AlgorithmConstraints;)V
--method name getEndpointIdentificationAlgorithm descriptor ()Ljava/lang/String;
--method name setEndpointIdentificationAlgorithm descriptor (Ljava/lang/String;)V
-
-class name javax/net/ssl/SSLServerSocket
--method name getSSLParameters descriptor ()Ljavax/net/ssl/SSLParameters;
--method name setSSLParameters descriptor (Ljavax/net/ssl/SSLParameters;)V
-
-class name javax/net/ssl/SSLSocket
--method name getHandshakeSession descriptor ()Ljavax/net/ssl/SSLSession;
-
--class name javax/net/ssl/X509ExtendedTrustManager
-
-class name javax/security/auth/login/Configuration
--method name getConfiguration descriptor ()Ljavax/security/auth/login/Configuration;
-method name getConfiguration descriptor ()Ljavax/security/auth/login/Configuration; flags 29
-
--- a/make/data/symbols/java.compiler-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name javax/lang/model/SourceVersion
--field name RELEASE_7 descriptor Ljavax/lang/model/SourceVersion;
-
--class name javax/lang/model/UnknownEntityException
-
-class name javax/lang/model/element/ElementKind
--field name RESOURCE_VARIABLE descriptor Ljavax/lang/model/element/ElementKind;
-
-class name javax/lang/model/element/ExecutableElement
-header extends java/lang/Object implements javax/lang/model/element/Element flags 601
--method name getSimpleName descriptor ()Ljavax/lang/model/element/Name;
-
-class name javax/lang/model/element/PackageElement
-header extends java/lang/Object implements javax/lang/model/element/Element flags 601
--method name getSimpleName descriptor ()Ljavax/lang/model/element/Name;
--method name getEnclosingElement descriptor ()Ljavax/lang/model/element/Element;
-
--class name javax/lang/model/element/Parameterizable
-
--class name javax/lang/model/element/QualifiedNameable
-
-class name javax/lang/model/element/TypeElement
-header extends java/lang/Object implements javax/lang/model/element/Element flags 601
--method name getEnclosedElements descriptor ()Ljava/util/List;
--method name getSimpleName descriptor ()Ljavax/lang/model/element/Name;
--method name getEnclosingElement descriptor ()Ljavax/lang/model/element/Element;
-
-class name javax/lang/model/element/TypeParameterElement
--method name getEnclosingElement descriptor ()Ljavax/lang/model/element/Element;
-
-class name javax/lang/model/element/UnknownAnnotationValueException
-header extends java/lang/RuntimeException flags 21
-
-class name javax/lang/model/element/UnknownElementException
-header extends java/lang/RuntimeException flags 21
-
-class name javax/lang/model/type/MirroredTypeException
-header extends java/lang/RuntimeException flags 21
-
-class name javax/lang/model/type/TypeKind
--field name UNION descriptor Ljavax/lang/model/type/TypeKind;
-
-class name javax/lang/model/type/TypeVisitor
--method name visitUnion descriptor (Ljavax/lang/model/type/UnionType;Ljava/lang/Object;)Ljava/lang/Object;
-
--class name javax/lang/model/type/UnionType
-
-class name javax/lang/model/type/UnknownTypeException
-header extends java/lang/RuntimeException flags 21
-
--class name javax/lang/model/util/AbstractAnnotationValueVisitor7
-
--class name javax/lang/model/util/AbstractElementVisitor7
-
-class name javax/lang/model/util/AbstractTypeVisitor6
--method name visitUnion descriptor (Ljavax/lang/model/type/UnionType;Ljava/lang/Object;)Ljava/lang/Object;
-
--class name javax/lang/model/util/AbstractTypeVisitor7
-
-class name javax/lang/model/util/ElementKindVisitor6
--method name visitVariableAsResourceVariable descriptor (Ljavax/lang/model/element/VariableElement;Ljava/lang/Object;)Ljava/lang/Object;
-
--class name javax/lang/model/util/ElementKindVisitor7
-
--class name javax/lang/model/util/ElementScanner7
-
--class name javax/lang/model/util/SimpleAnnotationValueVisitor7
-
--class name javax/lang/model/util/SimpleElementVisitor7
-
--class name javax/lang/model/util/SimpleTypeVisitor7
-
--class name javax/lang/model/util/TypeKindVisitor7
-
--- a/make/data/symbols/java.desktop-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1136 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name java/applet/Applet
--method name isValidateRoot descriptor ()Z
-
-class name java/awt/BasicStroke
--method name <init> descriptor (FIIF[FF)V
-method name <init> descriptor (FIIF[FF)V flags 1
-
-class name java/awt/Color
--method name <init> descriptor (IIII)V
-method name <init> descriptor (IIII)V flags 1
-
-class name java/awt/Component
--method name isVisible descriptor ()Z
--method name getForeground descriptor ()Ljava/awt/Color;
--method name getBackground descriptor ()Ljava/awt/Color;
--method name getFont descriptor ()Ljava/awt/Font;
--method name revalidate descriptor ()V
--method name add descriptor (Ljava/awt/PopupMenu;)V
--method name remove descriptor (Ljava/awt/MenuComponent;)V
--method name addPropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V
--method name removePropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V
--method name getPropertyChangeListeners descriptor ()[Ljava/beans/PropertyChangeListener;
--method name addPropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
--method name removePropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
--method name getPropertyChangeListeners descriptor (Ljava/lang/String;)[Ljava/beans/PropertyChangeListener;
-method name isVisible descriptor ()Z flags 1
-method name getForeground descriptor ()Ljava/awt/Color; flags 1
-method name getBackground descriptor ()Ljava/awt/Color; flags 1
-method name getFont descriptor ()Ljava/awt/Font; flags 1
-method name add descriptor (Ljava/awt/PopupMenu;)V flags 21
-method name remove descriptor (Ljava/awt/MenuComponent;)V flags 21
-method name addPropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 21
-method name removePropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 21
-method name getPropertyChangeListeners descriptor ()[Ljava/beans/PropertyChangeListener; flags 21
-method name addPropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V flags 21
-method name removePropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V flags 21
-method name getPropertyChangeListeners descriptor (Ljava/lang/String;)[Ljava/beans/PropertyChangeListener; flags 21
-
-class name java/awt/Container
--method name isValidateRoot descriptor ()Z
-method name transferFocusBackward descriptor ()V flags 1
-
-class name java/awt/Cursor
--field name predefined descriptor [Ljava/awt/Cursor;
-field name predefined descriptor [Ljava/awt/Cursor; flags c
--method name <init> descriptor (I)V
-method name <init> descriptor (I)V flags 1
-
-class name java/awt/Dialog
--method name setOpacity descriptor (F)V
--method name setShape descriptor (Ljava/awt/Shape;)V
--method name setBackground descriptor (Ljava/awt/Color;)V
-
-class name java/awt/Dimension
--method name getSize descriptor ()Ljava/awt/Dimension;
-method name getSize descriptor ()Ljava/awt/Dimension; flags 1
-
-class name java/awt/EventQueue
--method name peekEvent descriptor ()Ljava/awt/AWTEvent;
--method name peekEvent descriptor (I)Ljava/awt/AWTEvent;
--method name push descriptor (Ljava/awt/EventQueue;)V
--method name createSecondaryLoop descriptor ()Ljava/awt/SecondaryLoop;
-method name peekEvent descriptor ()Ljava/awt/AWTEvent; flags 21
-method name peekEvent descriptor (I)Ljava/awt/AWTEvent; flags 21
-method name push descriptor (Ljava/awt/EventQueue;)V flags 21
-
-class name java/awt/FileDialog
--method name getFiles descriptor ()[Ljava/io/File;
--method name setMultipleMode descriptor (Z)V
--method name isMultipleMode descriptor ()Z
-
-class name java/awt/Font
-method name finalize descriptor ()V thrownTypes java/lang/Throwable flags 4
-
-class name java/awt/Frame
--method name setExtendedState descriptor (I)V
--method name getExtendedState descriptor ()I
--method name setMaximizedBounds descriptor (Ljava/awt/Rectangle;)V
--method name setOpacity descriptor (F)V
--method name setShape descriptor (Ljava/awt/Shape;)V
--method name setBackground descriptor (Ljava/awt/Color;)V
-method name setExtendedState descriptor (I)V flags 21
-method name getExtendedState descriptor ()I flags 21
-method name setMaximizedBounds descriptor (Ljava/awt/Rectangle;)V flags 21
-
-class name java/awt/GradientPaint
--method name <init> descriptor (Ljava/awt/geom/Point2D;Ljava/awt/Color;Ljava/awt/geom/Point2D;Ljava/awt/Color;Z)V
-method name <init> descriptor (Ljava/awt/geom/Point2D;Ljava/awt/Color;Ljava/awt/geom/Point2D;Ljava/awt/Color;Z)V flags 1
-
-class name java/awt/GraphicsConfiguration
--method name createCompatibleImage descriptor (II)Ljava/awt/image/BufferedImage;
--method name isTranslucencyCapable descriptor ()Z
-method name createCompatibleImage descriptor (II)Ljava/awt/image/BufferedImage; flags 401
-
-class name java/awt/GraphicsDevice
-header extends java/lang/Object flags 421
--method name isWindowTranslucencySupported descriptor (Ljava/awt/GraphicsDevice$WindowTranslucency;)Z
-
--class name java/awt/GraphicsDevice$WindowTranslucency
-
-class name java/awt/LinearGradientPaint
--method name <init> descriptor (Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;[F[Ljava/awt/Color;Ljava/awt/MultipleGradientPaint$CycleMethod;Ljava/awt/MultipleGradientPaint$ColorSpaceType;Ljava/awt/geom/AffineTransform;)V
-method name <init> descriptor (Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;[F[Ljava/awt/Color;Ljava/awt/MultipleGradientPaint$CycleMethod;Ljava/awt/MultipleGradientPaint$ColorSpaceType;Ljava/awt/geom/AffineTransform;)V flags 1
-
-class name java/awt/Point
--method name getLocation descriptor ()Ljava/awt/Point;
-method name getLocation descriptor ()Ljava/awt/Point; flags 1
-
-class name java/awt/RadialGradientPaint
--method name <init> descriptor (Ljava/awt/geom/Point2D;FLjava/awt/geom/Point2D;[F[Ljava/awt/Color;Ljava/awt/MultipleGradientPaint$CycleMethod;Ljava/awt/MultipleGradientPaint$ColorSpaceType;Ljava/awt/geom/AffineTransform;)V
-method name <init> descriptor (Ljava/awt/geom/Point2D;FLjava/awt/geom/Point2D;[F[Ljava/awt/Color;Ljava/awt/MultipleGradientPaint$CycleMethod;Ljava/awt/MultipleGradientPaint$ColorSpaceType;Ljava/awt/geom/AffineTransform;)V flags 1
-
-class name java/awt/Rectangle
--method name getBounds descriptor ()Ljava/awt/Rectangle;
-method name getBounds descriptor ()Ljava/awt/Rectangle; flags 1
-
-class name java/awt/ScrollPane
--method name <init> descriptor (I)V
--method name getScrollPosition descriptor ()Ljava/awt/Point;
-method name <init> descriptor (I)V thrownTypes java/awt/HeadlessException flags 1
-method name getScrollPosition descriptor ()Ljava/awt/Point; flags 1
-
--class name java/awt/SecondaryLoop
-
-class name java/awt/SplashScreen
--method name getSplashScreen descriptor ()Ljava/awt/SplashScreen;
--method name getImageURL descriptor ()Ljava/net/URL;
--method name close descriptor ()V
-method name getSplashScreen descriptor ()Ljava/awt/SplashScreen; flags 29
-method name getImageURL descriptor ()Ljava/net/URL; thrownTypes java/lang/IllegalStateException flags 21
-method name close descriptor ()V thrownTypes java/lang/IllegalStateException flags 21
-
-class name java/awt/SystemColor
-method name getRGB descriptor ()I flags 1
-method name createContext descriptor (Ljava/awt/image/ColorModel;Ljava/awt/Rectangle;Ljava/awt/geom/Rectangle2D;Ljava/awt/geom/AffineTransform;Ljava/awt/RenderingHints;)Ljava/awt/PaintContext; flags 1
-
-class name java/awt/TextField
--method name setColumns descriptor (I)V
-method name setColumns descriptor (I)V flags 21
-
-class name java/awt/Toolkit
--method name addPropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
--method name removePropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
--method name getPropertyChangeListeners descriptor (Ljava/lang/String;)[Ljava/beans/PropertyChangeListener;
--method name areExtraMouseButtonsEnabled descriptor ()Z
-method name addPropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V flags 21
-method name removePropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V flags 21
-method name getPropertyChangeListeners descriptor (Ljava/lang/String;)[Ljava/beans/PropertyChangeListener; flags 21
-
-class name java/awt/Window
-header extends java/awt/Container implements javax/accessibility/Accessible flags 21
-innerclass innerClass java/awt/Window$AccessibleAWTWindow outerClass java/awt/Window innerClassName AccessibleAWTWindow flags 4
-innerclass innerClass java/awt/Dialog$ModalExclusionType outerClass java/awt/Dialog innerClassName ModalExclusionType flags 4019
--method name setLocation descriptor (II)V
--method name setLocation descriptor (Ljava/awt/Point;)V
--method name setAutoRequestFocus descriptor (Z)V
--method name isAutoRequestFocus descriptor ()Z
--method name isValidateRoot descriptor ()Z
--method name setType descriptor (Ljava/awt/Window$Type;)V
--method name getType descriptor ()Ljava/awt/Window$Type;
--method name getOpacity descriptor ()F
--method name setOpacity descriptor (F)V
--method name getShape descriptor ()Ljava/awt/Shape;
--method name setShape descriptor (Ljava/awt/Shape;)V
--method name getBackground descriptor ()Ljava/awt/Color;
--method name setBackground descriptor (Ljava/awt/Color;)V
--method name isOpaque descriptor ()Z
--method name paint descriptor (Ljava/awt/Graphics;)V
-method name getGraphicsConfiguration descriptor ()Ljava/awt/GraphicsConfiguration; flags 1
-
--class name java/awt/Window$Type
-
-class name java/awt/event/AWTEventListenerProxy
-header extends java/util/EventListenerProxy implements java/awt/event/AWTEventListener flags 21
-
-class name java/awt/event/InputEvent
--method name getMaskForButton descriptor (I)I
-
-class name java/awt/event/InvocationEvent
--method name isDispatched descriptor ()Z
-
-class name java/awt/event/KeyEvent
--method name getExtendedKeyCode descriptor ()I
--method name getExtendedKeyCodeForChar descriptor (I)I
-
-class name java/awt/event/MouseEvent
--method name getModifiersEx descriptor ()I
-
-class name java/awt/event/MouseWheelEvent
--method name <init> descriptor (Ljava/awt/Component;IJIIIIIIZIIID)V
--method name getPreciseWheelRotation descriptor ()D
-
-class name java/awt/font/NumericShaper
-header extends java/lang/Object implements java/io/Serializable flags 31
--method name getShaper descriptor (Ljava/awt/font/NumericShaper$Range;)Ljava/awt/font/NumericShaper;
--method name getContextualShaper descriptor (Ljava/util/Set;)Ljava/awt/font/NumericShaper;
--method name getContextualShaper descriptor (Ljava/util/Set;Ljava/awt/font/NumericShaper$Range;)Ljava/awt/font/NumericShaper;
--method name shape descriptor ([CIILjava/awt/font/NumericShaper$Range;)V
--method name getRangeSet descriptor ()Ljava/util/Set;
-
--class name java/awt/font/NumericShaper$Range
-
-class name java/awt/geom/AffineTransform
--method name <init> descriptor (FFFFFF)V
-method name <init> descriptor (FFFFFF)V flags 1
-
-class name java/awt/geom/Arc2D
--method name <init> descriptor ()V
-
-class name java/awt/geom/Path2D
--method name getPathIterator descriptor (Ljava/awt/geom/AffineTransform;D)Ljava/awt/geom/PathIterator;
-method name getPathIterator descriptor (Ljava/awt/geom/AffineTransform;D)Ljava/awt/geom/PathIterator; flags 1
-
-class name java/awt/geom/Path2D$Double
--method name getPathIterator descriptor (Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
-method name getPathIterator descriptor (Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator; flags 1
-
-class name java/awt/geom/Path2D$Float
--method name getPathIterator descriptor (Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
-method name getPathIterator descriptor (Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator; flags 1
-
-class name java/awt/geom/RectangularShape
--method name getFrame descriptor ()Ljava/awt/geom/Rectangle2D;
-method name getFrame descriptor ()Ljava/awt/geom/Rectangle2D; flags 1
-
-class name java/awt/im/InputContext
--method name isCompositionEnabled descriptor ()Z
-method name isCompositionEnabled descriptor ()Z flags 1
-
-class name java/awt/peer/CanvasPeer
--method name getAppropriateGraphicsConfiguration descriptor (Ljava/awt/GraphicsConfiguration;)Ljava/awt/GraphicsConfiguration;
-
-class name java/awt/peer/ChoicePeer
-method name addItem descriptor (Ljava/lang/String;I)V flags 401
-
-class name java/awt/peer/ComponentPeer
--method name flip descriptor (IIIILjava/awt/BufferCapabilities$FlipContents;)V
--method name applyShape descriptor (Lsun/java2d/pipe/Region;)V
--method name setZOrder descriptor (Ljava/awt/peer/ComponentPeer;)V
--method name updateGraphicsData descriptor (Ljava/awt/GraphicsConfiguration;)Z
-method name repaint descriptor (JIIII)V flags 401
-method name flip descriptor (Ljava/awt/BufferCapabilities$FlipContents;)V flags 401
-method name getBounds descriptor ()Ljava/awt/Rectangle; flags 401
-method name preferredSize descriptor ()Ljava/awt/Dimension; flags 401
-method name minimumSize descriptor ()Ljava/awt/Dimension; flags 401
-method name show descriptor ()V flags 401
-method name hide descriptor ()V flags 401
-method name enable descriptor ()V flags 401
-method name disable descriptor ()V flags 401
-method name reshape descriptor (IIII)V flags 401
-
-class name java/awt/peer/ContainerPeer
-method name isPaintPending descriptor ()Z flags 401
-method name restack descriptor ()V flags 401
-method name isRestackSupported descriptor ()Z flags 401
-method name insets descriptor ()Ljava/awt/Insets; flags 401
-
-class name java/awt/peer/DialogPeer
--method name blockWindows descriptor (Ljava/util/List;)V
-
-class name java/awt/peer/KeyboardFocusManagerPeer
-method name setCurrentFocusedWindow descriptor (Ljava/awt/Window;)V flags 401
-
-class name java/awt/peer/ListPeer
-method name addItem descriptor (Ljava/lang/String;I)V flags 401
-method name clear descriptor ()V flags 401
-method name setMultipleSelections descriptor (Z)V flags 401
-method name preferredSize descriptor (I)Ljava/awt/Dimension; flags 401
-method name minimumSize descriptor (I)Ljava/awt/Dimension; flags 401
-
-class name java/awt/peer/MenuItemPeer
-method name enable descriptor ()V flags 401
-method name disable descriptor ()V flags 401
-
-class name java/awt/peer/RobotPeer
--method name dispose descriptor ()V
-
-class name java/awt/peer/TextAreaPeer
-method name insertText descriptor (Ljava/lang/String;I)V flags 401
-method name replaceText descriptor (Ljava/lang/String;II)V flags 401
-method name preferredSize descriptor (II)Ljava/awt/Dimension; flags 401
-method name minimumSize descriptor (II)Ljava/awt/Dimension; flags 401
-
-class name java/awt/peer/TextComponentPeer
-method name getIndexAtPoint descriptor (II)I flags 401
-method name getCharacterBounds descriptor (I)Ljava/awt/Rectangle; flags 401
-method name filterEvents descriptor (J)J flags 401
-
-class name java/awt/peer/TextFieldPeer
-method name setEchoCharacter descriptor (C)V flags 401
-method name preferredSize descriptor (I)Ljava/awt/Dimension; flags 401
-method name minimumSize descriptor (I)Ljava/awt/Dimension; flags 401
-
-class name java/awt/peer/WindowPeer
--method name setOpacity descriptor (F)V
--method name setOpaque descriptor (Z)V
--method name updateWindow descriptor ()V
--method name repositionSecurityWarning descriptor ()V
-method name requestWindowFocus descriptor ()Z flags 401
-
-class name java/beans/EventHandler
--method name <init> descriptor (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-method name <init> descriptor (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V flags 1
-
-class name java/beans/Expression
--method name <init> descriptor (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
--method name execute descriptor ()V
-method name <init> descriptor (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V flags 1
-
-class name java/beans/FeatureDescriptor
--method name toString descriptor ()Ljava/lang/String;
-
-class name java/beans/Introspector
--method name getBeanInfo descriptor (Ljava/lang/Class;Ljava/lang/Class;I)Ljava/beans/BeanInfo;
--method name getBeanInfoSearchPath descriptor ()[Ljava/lang/String;
--method name setBeanInfoSearchPath descriptor ([Ljava/lang/String;)V
-method name getBeanInfoSearchPath descriptor ()[Ljava/lang/String; flags 29
-method name setBeanInfoSearchPath descriptor ([Ljava/lang/String;)V flags 29
-
-class name java/beans/PropertyChangeEvent
--method name toString descriptor ()Ljava/lang/String;
-
-class name java/beans/PropertyChangeListenerProxy
-header extends java/util/EventListenerProxy implements java/beans/PropertyChangeListener flags 21
-
-class name java/beans/PropertyChangeSupport
--method name addPropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V
--method name removePropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V
--method name getPropertyChangeListeners descriptor ()[Ljava/beans/PropertyChangeListener;
--method name addPropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
--method name removePropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
--method name getPropertyChangeListeners descriptor (Ljava/lang/String;)[Ljava/beans/PropertyChangeListener;
--method name hasListeners descriptor (Ljava/lang/String;)Z
-method name addPropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 21
-method name removePropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 21
-method name getPropertyChangeListeners descriptor ()[Ljava/beans/PropertyChangeListener; flags 21
-method name addPropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V flags 21
-method name removePropertyChangeListener descriptor (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V flags 21
-method name getPropertyChangeListeners descriptor (Ljava/lang/String;)[Ljava/beans/PropertyChangeListener; flags 21
-method name hasListeners descriptor (Ljava/lang/String;)Z flags 21
-
-class name java/beans/PropertyEditorManager
--method name findEditor descriptor (Ljava/lang/Class;)Ljava/beans/PropertyEditor;
--method name getEditorSearchPath descriptor ()[Ljava/lang/String;
--method name setEditorSearchPath descriptor ([Ljava/lang/String;)V
-method name findEditor descriptor (Ljava/lang/Class;)Ljava/beans/PropertyEditor; flags 29 signature (Ljava/lang/Class<*>;)Ljava/beans/PropertyEditor;
-method name getEditorSearchPath descriptor ()[Ljava/lang/String; flags 29
-method name setEditorSearchPath descriptor ([Ljava/lang/String;)V flags 29
-
-class name java/beans/Statement
--method name <init> descriptor (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
-method name <init> descriptor (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V flags 1
-
--class name java/beans/Transient
-
-class name java/beans/VetoableChangeListenerProxy
-header extends java/util/EventListenerProxy implements java/beans/VetoableChangeListener flags 21
-
-class name java/beans/VetoableChangeSupport
--method name addVetoableChangeListener descriptor (Ljava/beans/VetoableChangeListener;)V
--method name removeVetoableChangeListener descriptor (Ljava/beans/VetoableChangeListener;)V
--method name getVetoableChangeListeners descriptor ()[Ljava/beans/VetoableChangeListener;
--method name addVetoableChangeListener descriptor (Ljava/lang/String;Ljava/beans/VetoableChangeListener;)V
--method name removeVetoableChangeListener descriptor (Ljava/lang/String;Ljava/beans/VetoableChangeListener;)V
--method name getVetoableChangeListeners descriptor (Ljava/lang/String;)[Ljava/beans/VetoableChangeListener;
--method name hasListeners descriptor (Ljava/lang/String;)Z
-method name addVetoableChangeListener descriptor (Ljava/beans/VetoableChangeListener;)V flags 21
-method name removeVetoableChangeListener descriptor (Ljava/beans/VetoableChangeListener;)V flags 21
-method name getVetoableChangeListeners descriptor ()[Ljava/beans/VetoableChangeListener; flags 21
-method name addVetoableChangeListener descriptor (Ljava/lang/String;Ljava/beans/VetoableChangeListener;)V flags 21
-method name removeVetoableChangeListener descriptor (Ljava/lang/String;Ljava/beans/VetoableChangeListener;)V flags 21
-method name getVetoableChangeListeners descriptor (Ljava/lang/String;)[Ljava/beans/VetoableChangeListener; flags 21
-method name hasListeners descriptor (Ljava/lang/String;)Z flags 21
-
-class name java/beans/XMLDecoder
-header extends java/lang/Object flags 21
--method name <init> descriptor (Lorg/xml/sax/InputSource;)V
--method name createHandler descriptor (Ljava/lang/Object;Ljava/beans/ExceptionListener;Ljava/lang/ClassLoader;)Lorg/xml/sax/helpers/DefaultHandler;
-
-class name java/beans/XMLEncoder
-header extends java/beans/Encoder flags 21
--method name <init> descriptor (Ljava/io/OutputStream;Ljava/lang/String;ZI)V
-
-class name javax/imageio/metadata/IIOMetadataNode
--method name getNodeValue descriptor ()Ljava/lang/String;
--method name setNodeValue descriptor (Ljava/lang/String;)V
--method name getSchemaTypeInfo descriptor ()Lorg/w3c/dom/TypeInfo;
--method name setUserData descriptor (Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;
--method name getUserData descriptor (Ljava/lang/String;)Ljava/lang/Object;
--method name getFeature descriptor (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
--method name isSameNode descriptor (Lorg/w3c/dom/Node;)Z
--method name isEqualNode descriptor (Lorg/w3c/dom/Node;)Z
--method name lookupNamespaceURI descriptor (Ljava/lang/String;)Ljava/lang/String;
--method name isDefaultNamespace descriptor (Ljava/lang/String;)Z
--method name lookupPrefix descriptor (Ljava/lang/String;)Ljava/lang/String;
--method name getBaseURI descriptor ()Ljava/lang/String;
-method name getNodeValue descriptor ()Ljava/lang/String; thrownTypes org/w3c/dom/DOMException flags 1
-method name setNodeValue descriptor (Ljava/lang/String;)V thrownTypes org/w3c/dom/DOMException flags 1
-method name getSchemaTypeInfo descriptor ()Lorg/w3c/dom/TypeInfo; flags 1
-method name setUserData descriptor (Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object; flags 1
-method name getUserData descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 1
-method name getFeature descriptor (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object; flags 1
-method name isSameNode descriptor (Lorg/w3c/dom/Node;)Z flags 1
-method name isEqualNode descriptor (Lorg/w3c/dom/Node;)Z flags 1
-method name lookupNamespaceURI descriptor (Ljava/lang/String;)Ljava/lang/String; flags 1
-method name isDefaultNamespace descriptor (Ljava/lang/String;)Z flags 1
-method name lookupPrefix descriptor (Ljava/lang/String;)Ljava/lang/String; flags 1
-method name getBaseURI descriptor ()Ljava/lang/String; flags 1
-
-class name javax/imageio/spi/ImageReaderSpi
--field name STANDARD_INPUT_TYPE descriptor [Ljava/lang/Class;
-field name STANDARD_INPUT_TYPE descriptor [Ljava/lang/Class; flags 19
-
-class name javax/imageio/spi/ImageWriterSpi
--field name STANDARD_OUTPUT_TYPE descriptor [Ljava/lang/Class;
-field name STANDARD_OUTPUT_TYPE descriptor [Ljava/lang/Class; flags 19
-
-class name javax/imageio/stream/ImageInputStream
-header extends java/lang/Object implements java/io/DataInput flags 601
-
--class name javax/print/attribute/standard/DialogTypeSelection
-
-class name javax/sound/midi/MetaMessage
--method name <init> descriptor (I[BI)V
-
-class name javax/sound/midi/MidiDevice
-header extends java/lang/Object flags 601
-innerclass innerClass javax/sound/midi/MidiDevice$Info outerClass javax/sound/midi/MidiDevice innerClassName Info flags 9
-
--class name javax/sound/midi/MidiDeviceReceiver
-
--class name javax/sound/midi/MidiDeviceTransmitter
-
-class name javax/sound/midi/Receiver
-header extends java/lang/Object flags 601
-
-class name javax/sound/midi/ShortMessage
--method name <init> descriptor (I)V
--method name <init> descriptor (III)V
--method name <init> descriptor (IIII)V
-
-class name javax/sound/midi/SysexMessage
--method name <init> descriptor ([BI)V
--method name <init> descriptor (I[BI)V
-
-class name javax/sound/midi/Transmitter
-header extends java/lang/Object flags 601
-
-class name javax/sound/sampled/AudioFormat$Encoding
--field name PCM_FLOAT descriptor Ljavax/sound/sampled/AudioFormat$Encoding;
-
-class name javax/sound/sampled/Line
-header extends java/lang/Object 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/swing/AbstractButton
--method name getDisabledIcon descriptor ()Ljavax/swing/Icon;
-method name getDisabledIcon descriptor ()Ljavax/swing/Icon; flags 1
-
-class name javax/swing/AbstractListModel
-header extends java/lang/Object implements javax/swing/ListModel,java/io/Serializable flags 421
-
-class name javax/swing/AbstractSpinnerModel
-header extends java/lang/Object implements javax/swing/SpinnerModel flags 421
-
-class name javax/swing/BorderFactory
--method name createLineBorder descriptor (Ljava/awt/Color;IZ)Ljavax/swing/border/Border;
--method name createRaisedSoftBevelBorder descriptor ()Ljavax/swing/border/Border;
--method name createLoweredSoftBevelBorder descriptor ()Ljavax/swing/border/Border;
--method name createSoftBevelBorder descriptor (I)Ljavax/swing/border/Border;
--method name createSoftBevelBorder descriptor (ILjava/awt/Color;Ljava/awt/Color;)Ljavax/swing/border/Border;
--method name createSoftBevelBorder descriptor (ILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)Ljavax/swing/border/Border;
--method name createStrokeBorder descriptor (Ljava/awt/BasicStroke;)Ljavax/swing/border/Border;
--method name createStrokeBorder descriptor (Ljava/awt/BasicStroke;Ljava/awt/Paint;)Ljavax/swing/border/Border;
--method name createDashedBorder descriptor (Ljava/awt/Paint;)Ljavax/swing/border/Border;
--method name createDashedBorder descriptor (Ljava/awt/Paint;FF)Ljavax/swing/border/Border;
--method name createDashedBorder descriptor (Ljava/awt/Paint;FFFZ)Ljavax/swing/border/Border;
-
-class name javax/swing/Box$Filler
--method name <init> descriptor (Ljava/awt/Dimension;Ljava/awt/Dimension;Ljava/awt/Dimension;)V
-method name <init> descriptor (Ljava/awt/Dimension;Ljava/awt/Dimension;Ljava/awt/Dimension;)V flags 1
-
-class name javax/swing/BoxLayout
--method name <init> descriptor (Ljava/awt/Container;I)V
-method name <init> descriptor (Ljava/awt/Container;I)V flags 1
-
-class name javax/swing/ComboBoxModel
-header extends java/lang/Object implements javax/swing/ListModel flags 601
-
-class name javax/swing/DefaultCellEditor
--method name <init> descriptor (Ljavax/swing/JTextField;)V
-method name <init> descriptor (Ljavax/swing/JTextField;)V flags 1
-
-class name javax/swing/DefaultComboBoxModel
-header extends javax/swing/AbstractListModel implements javax/swing/MutableComboBoxModel,java/io/Serializable flags 21
--method name <init> descriptor ([Ljava/lang/Object;)V
--method name <init> descriptor (Ljava/util/Vector;)V
--method name getElementAt descriptor (I)Ljava/lang/Object;
--method name addElement descriptor (Ljava/lang/Object;)V
--method name insertElementAt descriptor (Ljava/lang/Object;I)V
-method name <init> descriptor ([Ljava/lang/Object;)V flags 1
-method name <init> descriptor (Ljava/util/Vector;)V flags 1 signature (Ljava/util/Vector<*>;)V
-method name getElementAt descriptor (I)Ljava/lang/Object; flags 1
-method name addElement descriptor (Ljava/lang/Object;)V flags 1
-method name insertElementAt descriptor (Ljava/lang/Object;I)V flags 1
-
-class name javax/swing/DefaultListCellRenderer
-header extends javax/swing/JLabel implements javax/swing/ListCellRenderer,java/io/Serializable flags 21
-innerclass innerClass javax/swing/DefaultListCellRenderer$UIResource outerClass javax/swing/DefaultListCellRenderer innerClassName UIResource flags 9
--method name getListCellRendererComponent descriptor (Ljavax/swing/JList;Ljava/lang/Object;IZZ)Ljava/awt/Component;
-method name getListCellRendererComponent descriptor (Ljavax/swing/JList;Ljava/lang/Object;IZZ)Ljava/awt/Component; flags 1
-
-class name javax/swing/DefaultListModel
-header extends javax/swing/AbstractListModel flags 21
--method name getElementAt descriptor (I)Ljava/lang/Object;
--method name elements descriptor ()Ljava/util/Enumeration;
--method name elementAt descriptor (I)Ljava/lang/Object;
--method name firstElement descriptor ()Ljava/lang/Object;
--method name lastElement descriptor ()Ljava/lang/Object;
--method name setElementAt descriptor (Ljava/lang/Object;I)V
--method name insertElementAt descriptor (Ljava/lang/Object;I)V
--method name addElement descriptor (Ljava/lang/Object;)V
--method name get descriptor (I)Ljava/lang/Object;
--method name set descriptor (ILjava/lang/Object;)Ljava/lang/Object;
--method name add descriptor (ILjava/lang/Object;)V
--method name remove descriptor (I)Ljava/lang/Object;
-method name getElementAt descriptor (I)Ljava/lang/Object; flags 1
-method name elements descriptor ()Ljava/util/Enumeration; flags 1 signature ()Ljava/util/Enumeration<*>;
-method name elementAt descriptor (I)Ljava/lang/Object; flags 1
-method name firstElement descriptor ()Ljava/lang/Object; flags 1
-method name lastElement descriptor ()Ljava/lang/Object; flags 1
-method name setElementAt descriptor (Ljava/lang/Object;I)V flags 1
-method name insertElementAt descriptor (Ljava/lang/Object;I)V flags 1
-method name addElement descriptor (Ljava/lang/Object;)V flags 1
-method name get descriptor (I)Ljava/lang/Object; flags 1
-method name set descriptor (ILjava/lang/Object;)Ljava/lang/Object; flags 1
-method name add descriptor (ILjava/lang/Object;)V flags 1
-method name remove descriptor (I)Ljava/lang/Object; flags 1
-
-class name javax/swing/DefaultListSelectionModel
--method name getAnchorSelectionIndex descriptor ()I
--method name getLeadSelectionIndex descriptor ()I
-method name getAnchorSelectionIndex descriptor ()I flags 1
-method name getLeadSelectionIndex descriptor ()I flags 1
-
-class name javax/swing/ImageIcon
--method name <init> descriptor (Ljava/lang/String;)V
--method name getImage descriptor ()Ljava/awt/Image;
--method name getImageObserver descriptor ()Ljava/awt/image/ImageObserver;
-method name <init> descriptor (Ljava/lang/String;)V flags 1
-method name getImage descriptor ()Ljava/awt/Image; flags 1
-method name getImageObserver descriptor ()Ljava/awt/image/ImageObserver; flags 1
-
-class name javax/swing/JButton
--method name <init> descriptor (Ljava/lang/String;)V
-method name <init> descriptor (Ljava/lang/String;)V flags 1
-
-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 flags 21
-innerclass innerClass javax/swing/JComboBox$KeySelectionManager outerClass javax/swing/JComboBox innerClassName KeySelectionManager flags 609
-innerclass innerClass javax/swing/JComboBox$AccessibleJComboBox outerClass javax/swing/JComboBox innerClassName AccessibleJComboBox flags 4
--field name dataModel descriptor Ljavax/swing/ComboBoxModel;
--field name renderer descriptor Ljavax/swing/ListCellRenderer;
-field name dataModel descriptor Ljavax/swing/ComboBoxModel; flags 4
-field name renderer descriptor Ljavax/swing/ListCellRenderer; flags 4
--method name <init> descriptor (Ljavax/swing/ComboBoxModel;)V
--method name <init> descriptor ([Ljava/lang/Object;)V
--method name <init> descriptor (Ljava/util/Vector;)V
--method name setModel descriptor (Ljavax/swing/ComboBoxModel;)V
--method name getModel descriptor ()Ljavax/swing/ComboBoxModel;
--method name setRenderer descriptor (Ljavax/swing/ListCellRenderer;)V
--method name getRenderer descriptor ()Ljavax/swing/ListCellRenderer;
--method name getSelectedIndex descriptor ()I
--method name getPrototypeDisplayValue descriptor ()Ljava/lang/Object;
--method name setPrototypeDisplayValue descriptor (Ljava/lang/Object;)V
--method name addItem descriptor (Ljava/lang/Object;)V
--method name insertItemAt descriptor (Ljava/lang/Object;I)V
--method name getItemAt descriptor (I)Ljava/lang/Object;
-method name <init> descriptor (Ljavax/swing/ComboBoxModel;)V flags 1
-method name <init> descriptor ([Ljava/lang/Object;)V flags 1
-method name <init> descriptor (Ljava/util/Vector;)V flags 1 signature (Ljava/util/Vector<*>;)V
-method name setModel descriptor (Ljavax/swing/ComboBoxModel;)V flags 1
-method name getModel descriptor ()Ljavax/swing/ComboBoxModel; flags 1
-method name setRenderer descriptor (Ljavax/swing/ListCellRenderer;)V flags 1
-method name getRenderer descriptor ()Ljavax/swing/ListCellRenderer; flags 1
-method name getSelectedIndex descriptor ()I flags 1
-method name getPrototypeDisplayValue descriptor ()Ljava/lang/Object; flags 1
-method name setPrototypeDisplayValue descriptor (Ljava/lang/Object;)V flags 1
-method name addItem descriptor (Ljava/lang/Object;)V flags 1
-method name insertItemAt descriptor (Ljava/lang/Object;I)V flags 1
-method name getItemAt descriptor (I)Ljava/lang/Object; flags 1
-
-class name javax/swing/JComponent
--method name getPreferredSize descriptor ()Ljava/awt/Dimension;
--method name getMaximumSize descriptor ()Ljava/awt/Dimension;
--method name getMinimumSize descriptor ()Ljava/awt/Dimension;
--method name isPaintingOrigin descriptor ()Z
-method name getPreferredSize descriptor ()Ljava/awt/Dimension; flags 1
-method name getMaximumSize descriptor ()Ljava/awt/Dimension; flags 1
-method name getMinimumSize descriptor ()Ljava/awt/Dimension; flags 1
-
-class name javax/swing/JLabel
--method name getDisabledIcon descriptor ()Ljavax/swing/Icon;
-method name getDisabledIcon descriptor ()Ljavax/swing/Icon; flags 1
-
--class name javax/swing/JLayer
-
-class name javax/swing/JList
-header extends javax/swing/JComponent implements javax/swing/Scrollable,javax/accessibility/Accessible flags 21
-innerclass innerClass javax/swing/JList$DropLocation outerClass javax/swing/JList innerClassName DropLocation flags 19
-innerclass innerClass javax/swing/JList$AccessibleJList outerClass javax/swing/JList innerClassName AccessibleJList flags 4
-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
--method name <init> descriptor (Ljavax/swing/ListModel;)V
--method name <init> descriptor ([Ljava/lang/Object;)V
--method name <init> descriptor (Ljava/util/Vector;)V
--method name getPrototypeCellValue descriptor ()Ljava/lang/Object;
--method name setPrototypeCellValue descriptor (Ljava/lang/Object;)V
--method name getCellRenderer descriptor ()Ljavax/swing/ListCellRenderer;
--method name setCellRenderer descriptor (Ljavax/swing/ListCellRenderer;)V
--method name getModel descriptor ()Ljavax/swing/ListModel;
--method name setModel descriptor (Ljavax/swing/ListModel;)V
--method name setListData descriptor ([Ljava/lang/Object;)V
--method name setListData descriptor (Ljava/util/Vector;)V
--method name getSelectedIndices descriptor ()[I
--method name getSelectedValues descriptor ()[Ljava/lang/Object;
--method name getSelectedValuesList descriptor ()Ljava/util/List;
--method name getSelectedValue descriptor ()Ljava/lang/Object;
-method name <init> descriptor (Ljavax/swing/ListModel;)V flags 1
-method name <init> descriptor ([Ljava/lang/Object;)V flags 1
-method name <init> descriptor (Ljava/util/Vector;)V flags 1 signature (Ljava/util/Vector<*>;)V
-method name getPrototypeCellValue descriptor ()Ljava/lang/Object; flags 1
-method name setPrototypeCellValue descriptor (Ljava/lang/Object;)V flags 1
-method name getCellRenderer descriptor ()Ljavax/swing/ListCellRenderer; flags 1
-method name setCellRenderer descriptor (Ljavax/swing/ListCellRenderer;)V flags 1
-method name getModel descriptor ()Ljavax/swing/ListModel; flags 1
-method name setModel descriptor (Ljavax/swing/ListModel;)V flags 1
-method name setListData descriptor ([Ljava/lang/Object;)V flags 1
-method name setListData descriptor (Ljava/util/Vector;)V flags 1 signature (Ljava/util/Vector<*>;)V
-method name getSelectedIndices descriptor ()[I flags 1
-method name getSelectedValues descriptor ()[Ljava/lang/Object; flags 1
-method name getSelectedValue descriptor ()Ljava/lang/Object; flags 1
-
-class name javax/swing/JList$AccessibleJList$AccessibleJListChild
--method name <init> descriptor (Ljavax/swing/JList$AccessibleJList;Ljavax/swing/JList;I)V
-method name <init> descriptor (Ljavax/swing/JList$AccessibleJList;Ljavax/swing/JList;I)V flags 1
-
-class name javax/swing/JMenuBar
--method name getHelpMenu descriptor ()Ljavax/swing/JMenu;
-method name getHelpMenu descriptor ()Ljavax/swing/JMenu; flags 1
-
-class name javax/swing/JScrollPane
--method name getHorizontalScrollBar descriptor ()Ljavax/swing/JScrollBar;
--method name getVerticalScrollBar descriptor ()Ljavax/swing/JScrollBar;
--method name getRowHeader descriptor ()Ljavax/swing/JViewport;
--method name getColumnHeader descriptor ()Ljavax/swing/JViewport;
-method name getHorizontalScrollBar descriptor ()Ljavax/swing/JScrollBar; flags 1
-method name getVerticalScrollBar descriptor ()Ljavax/swing/JScrollBar; flags 1
-method name getRowHeader descriptor ()Ljavax/swing/JViewport; flags 1
-method name getColumnHeader descriptor ()Ljavax/swing/JViewport; flags 1
-
-class name javax/swing/JSlider
--method name imageUpdate descriptor (Ljava/awt/Image;IIIII)Z
-
-class name javax/swing/JSplitPane
--method name <init> descriptor (I)V
-method name <init> descriptor (I)V flags 1
-
-class name javax/swing/JTabbedPane
--method name getSelectedIndex descriptor ()I
--method name getSelectedComponent descriptor ()Ljava/awt/Component;
-method name getSelectedIndex descriptor ()I flags 1
-method name getSelectedComponent descriptor ()Ljava/awt/Component; flags 1
-
-class name javax/swing/JTree
--method name <init> descriptor (Ljavax/swing/tree/TreeModel;)V
-method name <init> descriptor (Ljavax/swing/tree/TreeModel;)V flags 1
-
-class name javax/swing/JTree$EmptySelectionModel
--method name setSelectionMode descriptor (I)V
--method name setRowMapper descriptor (Ljavax/swing/tree/RowMapper;)V
--method name addTreeSelectionListener descriptor (Ljavax/swing/event/TreeSelectionListener;)V
--method name removeTreeSelectionListener descriptor (Ljavax/swing/event/TreeSelectionListener;)V
--method name addPropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V
--method name removePropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V
-
-class name javax/swing/JViewport
--method name isPaintingOrigin descriptor ()Z
--method name getExtentSize descriptor ()Ljava/awt/Dimension;
-method name getExtentSize descriptor ()Ljava/awt/Dimension; flags 1
-
-class name javax/swing/ListCellRenderer
-header extends java/lang/Object flags 601
--method name getListCellRendererComponent descriptor (Ljavax/swing/JList;Ljava/lang/Object;IZZ)Ljava/awt/Component;
-method name getListCellRendererComponent descriptor (Ljavax/swing/JList;Ljava/lang/Object;IZZ)Ljava/awt/Component; flags 401
-
-class name javax/swing/ListModel
-header extends java/lang/Object flags 601
--method name getElementAt descriptor (I)Ljava/lang/Object;
-method name getElementAt descriptor (I)Ljava/lang/Object; flags 401
-
-class name javax/swing/MutableComboBoxModel
-header extends java/lang/Object implements javax/swing/ComboBoxModel flags 601
--method name addElement descriptor (Ljava/lang/Object;)V
--method name insertElementAt descriptor (Ljava/lang/Object;I)V
-method name addElement descriptor (Ljava/lang/Object;)V flags 401
-method name insertElementAt descriptor (Ljava/lang/Object;I)V flags 401
-
-class name javax/swing/OverlayLayout
--method name <init> descriptor (Ljava/awt/Container;)V
-method name <init> descriptor (Ljava/awt/Container;)V flags 1
-
--class name javax/swing/Painter
-
-class name javax/swing/SwingUtilities
--method name getUnwrappedParent descriptor (Ljava/awt/Component;)Ljava/awt/Container;
--method name getUnwrappedView descriptor (Ljavax/swing/JViewport;)Ljava/awt/Component;
-
-class name javax/swing/SwingWorker
--method name publish descriptor ([Ljava/lang/Object;)V
-method name publish descriptor ([Ljava/lang/Object;)V flags 94 signature ([TV;)V
-
-class name javax/swing/TransferHandler
--method name setDragImage descriptor (Ljava/awt/Image;)V
--method name getDragImage descriptor ()Ljava/awt/Image;
--method name setDragImageOffset descriptor (Ljava/awt/Point;)V
--method name getDragImageOffset descriptor ()Ljava/awt/Point;
-
-class name javax/swing/border/BevelBorder
--method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
-method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V flags 1
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/border/CompoundBorder
--method name <init> descriptor (Ljavax/swing/border/Border;Ljavax/swing/border/Border;)V
-method name <init> descriptor (Ljavax/swing/border/Border;Ljavax/swing/border/Border;)V flags 1
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/border/EmptyBorder
--method name <init> descriptor (Ljava/awt/Insets;)V
-method name <init> descriptor (Ljava/awt/Insets;)V flags 1
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/border/EtchedBorder
--method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;)V
-method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;)V flags 1
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/border/LineBorder
--method name <init> descriptor (Ljava/awt/Color;IZ)V
-method name <init> descriptor (Ljava/awt/Color;IZ)V flags 1
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/border/MatteBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/border/SoftBevelBorder
--method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
-method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V flags 1
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
--class name javax/swing/border/StrokeBorder
-
-class name javax/swing/border/TitledBorder
--method name <init> descriptor (Ljavax/swing/border/Border;Ljava/lang/String;IILjava/awt/Font;Ljava/awt/Color;)V
-method name <init> descriptor (Ljavax/swing/border/Border;Ljava/lang/String;IILjava/awt/Font;Ljava/awt/Color;)V flags 1
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/event/HyperlinkEvent
--method name <init> descriptor (Ljava/lang/Object;Ljavax/swing/event/HyperlinkEvent$EventType;Ljava/net/URL;Ljava/lang/String;Ljavax/swing/text/Element;Ljava/awt/event/InputEvent;)V
--method name getInputEvent descriptor ()Ljava/awt/event/InputEvent;
-
-class name javax/swing/plaf/BorderUIResource$BevelBorderUIResource
--method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
-method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V flags 1
-
-class name javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
--method name <init> descriptor (Ljavax/swing/border/Border;Ljavax/swing/border/Border;)V
-method name <init> descriptor (Ljavax/swing/border/Border;Ljavax/swing/border/Border;)V flags 1
-
-class name javax/swing/plaf/BorderUIResource$EmptyBorderUIResource
--method name <init> descriptor (Ljava/awt/Insets;)V
-method name <init> descriptor (Ljava/awt/Insets;)V flags 1
-
-class name javax/swing/plaf/BorderUIResource$EtchedBorderUIResource
--method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;)V
-method name <init> descriptor (ILjava/awt/Color;Ljava/awt/Color;)V flags 1
-
-class name javax/swing/plaf/BorderUIResource$LineBorderUIResource
--method name <init> descriptor (Ljava/awt/Color;I)V
-method name <init> descriptor (Ljava/awt/Color;I)V flags 1
-
-class name javax/swing/plaf/BorderUIResource$TitledBorderUIResource
--method name <init> descriptor (Ljavax/swing/border/Border;Ljava/lang/String;IILjava/awt/Font;Ljava/awt/Color;)V
-method name <init> descriptor (Ljavax/swing/border/Border;Ljava/lang/String;IILjava/awt/Font;Ljava/awt/Color;)V flags 1
-
-class name javax/swing/plaf/ColorUIResource
--method name <init> descriptor (III)V
-method name <init> descriptor (III)V flags 1
-
-class name javax/swing/plaf/FileChooserUI
--method name getDefaultButton descriptor (Ljavax/swing/JFileChooser;)Ljavax/swing/JButton;
-
--class name javax/swing/plaf/LayerUI
-
-class name javax/swing/plaf/basic/BasicBorders$ButtonBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/basic/BasicBorders$FieldBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/basic/BasicBorders$MarginBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/basic/BasicBorders$MenuBarBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/basic/BasicColorChooserUI
--method name uninstallPreviewPanel descriptor ()V
-
-class name javax/swing/plaf/basic/BasicComboBoxUI
--field name squareButton descriptor Z
--field name padding descriptor Ljava/awt/Insets;
--method name getSizeForComponent descriptor (Ljava/awt/Component;)Ljava/awt/Dimension;
-
-class name javax/swing/plaf/basic/BasicDirectoryModel
-header extends javax/swing/AbstractListModel implements java/beans/PropertyChangeListener flags 21
-
-class name javax/swing/plaf/basic/BasicFileChooserUI
--field name viewMenuIcon descriptor Ljavax/swing/Icon;
--method name createUI descriptor (Ljavax/swing/JComponent;)Ljavax/swing/plaf/ComponentUI;
--method name getDefaultButton descriptor (Ljavax/swing/JFileChooser;)Ljavax/swing/JButton;
-
-class name javax/swing/plaf/basic/BasicMenuItemUI
--field name acceleratorDelimiter descriptor Ljava/lang/String;
-
-class name javax/swing/plaf/basic/BasicScrollBarUI
--field name scrollBarWidth descriptor I
--field name incrGap descriptor I
--field name decrGap descriptor I
-
-class name javax/swing/plaf/basic/BasicSliderUI
--method name uninstallDefaults descriptor (Ljavax/swing/JSlider;)V
-
-class name javax/swing/plaf/basic/BasicTreeUI
--method name isDropLine descriptor (Ljavax/swing/JTree$DropLocation;)Z
--method name paintDropLine descriptor (Ljava/awt/Graphics;)V
--method name getDropLineRect descriptor (Ljavax/swing/JTree$DropLocation;)Ljava/awt/Rectangle;
--method name updateLeadSelectionRow descriptor ()V
--method name getLeadSelectionRow descriptor ()I
-
-class name javax/swing/plaf/metal/BumpBuffer
-method name getImageSize descriptor ()Ljava/awt/Dimension; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$ButtonBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$Flush3DBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$InternalFrameBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$MenuBarBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$MenuItemBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$OptionDialogBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$PaletteBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$PopupMenuBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder
--method name getBorderInsets descriptor (Ljava/awt/Component;Ljava/awt/Insets;)Ljava/awt/Insets;
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$TableHeaderBorder
--method name getBorderInsets descriptor (Ljava/awt/Component;Ljava/awt/Insets;)Ljava/awt/Insets;
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBorders$ToolBarBorder
-method name getBorderInsets descriptor (Ljava/awt/Component;)Ljava/awt/Insets; flags 1
-
-class name javax/swing/plaf/metal/MetalBumps
-field name buffers descriptor Ljava/util/Vector; flags c
-method name <init> descriptor (Ljava/awt/Dimension;)V flags 1
-method name <init> descriptor (II)V flags 1
-
-class name javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel
-header extends javax/swing/AbstractListModel implements javax/swing/ComboBoxModel flags 21
-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$FilterComboBoxModel
-header extends javax/swing/AbstractListModel implements javax/swing/ComboBoxModel,java/beans/PropertyChangeListener flags 21
-innerclass innerClass javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel outerClass javax/swing/plaf/metal/MetalFileChooserUI innerClassName FilterComboBoxModel flags 4
-
-class name javax/swing/plaf/metal/MetalScrollPaneUI
--method name uninstallListeners descriptor (Ljavax/swing/JComponent;)V
--method name uninstallListeners descriptor (Ljavax/swing/JScrollPane;)V
-method name uninstallListeners descriptor (Ljavax/swing/JScrollPane;)V flags 1
-
--class name javax/swing/plaf/nimbus/AbstractRegionPainter
-
--class name javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext
-
--class name javax/swing/plaf/nimbus/AbstractRegionPainter$PaintContext$CacheMode
-
--class name javax/swing/plaf/nimbus/NimbusLookAndFeel
-
--class name javax/swing/plaf/nimbus/NimbusStyle
-
--class name javax/swing/plaf/nimbus/State
-
--class name javax/swing/plaf/synth/SynthButtonUI
-
--class name javax/swing/plaf/synth/SynthCheckBoxMenuItemUI
-
--class name javax/swing/plaf/synth/SynthCheckBoxUI
-
--class name javax/swing/plaf/synth/SynthColorChooserUI
-
--class name javax/swing/plaf/synth/SynthComboBoxUI
-
--class name javax/swing/plaf/synth/SynthDesktopIconUI
-
--class name javax/swing/plaf/synth/SynthDesktopPaneUI
-
--class name javax/swing/plaf/synth/SynthEditorPaneUI
-
--class name javax/swing/plaf/synth/SynthFormattedTextFieldUI
-
--class name javax/swing/plaf/synth/SynthInternalFrameUI
-
--class name javax/swing/plaf/synth/SynthLabelUI
-
--class name javax/swing/plaf/synth/SynthListUI
-
-class name javax/swing/plaf/synth/SynthLookAndFeel
--method name shouldUpdateStyleOnEvent descriptor (Ljava/beans/PropertyChangeEvent;)Z
-
--class name javax/swing/plaf/synth/SynthMenuBarUI
-
--class name javax/swing/plaf/synth/SynthMenuItemUI
-
--class name javax/swing/plaf/synth/SynthMenuUI
-
--class name javax/swing/plaf/synth/SynthOptionPaneUI
-
--class name javax/swing/plaf/synth/SynthPanelUI
-
--class name javax/swing/plaf/synth/SynthPasswordFieldUI
-
--class name javax/swing/plaf/synth/SynthPopupMenuUI
-
--class name javax/swing/plaf/synth/SynthProgressBarUI
-
--class name javax/swing/plaf/synth/SynthRadioButtonMenuItemUI
-
--class name javax/swing/plaf/synth/SynthRadioButtonUI
-
--class name javax/swing/plaf/synth/SynthRootPaneUI
-
--class name javax/swing/plaf/synth/SynthScrollBarUI
-
--class name javax/swing/plaf/synth/SynthScrollPaneUI
-
--class name javax/swing/plaf/synth/SynthSeparatorUI
-
--class name javax/swing/plaf/synth/SynthSliderUI
-
--class name javax/swing/plaf/synth/SynthSpinnerUI
-
--class name javax/swing/plaf/synth/SynthSplitPaneUI
-
--class name javax/swing/plaf/synth/SynthTabbedPaneUI
-
--class name javax/swing/plaf/synth/SynthTableHeaderUI
-
--class name javax/swing/plaf/synth/SynthTableUI
-
--class name javax/swing/plaf/synth/SynthTextAreaUI
-
--class name javax/swing/plaf/synth/SynthTextFieldUI
-
--class name javax/swing/plaf/synth/SynthTextPaneUI
-
--class name javax/swing/plaf/synth/SynthToggleButtonUI
-
--class name javax/swing/plaf/synth/SynthToolBarUI
-
--class name javax/swing/plaf/synth/SynthToolTipUI
-
--class name javax/swing/plaf/synth/SynthTreeUI
-
--class name javax/swing/plaf/synth/SynthUI
-
--class name javax/swing/plaf/synth/SynthViewportUI
-
-class name javax/swing/table/JTableHeader
--method name getDefaultRenderer descriptor ()Ljavax/swing/table/TableCellRenderer;
-method name getDefaultRenderer descriptor ()Ljavax/swing/table/TableCellRenderer; flags 1
-
-class name javax/swing/text/AbstractDocument$DefaultDocumentEvent
-header extends javax/swing/undo/CompoundEdit implements javax/swing/event/DocumentEvent flags 21
-innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19
-innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609
-innerclass innerClass javax/swing/text/AbstractDocument$DefaultDocumentEvent outerClass javax/swing/text/AbstractDocument innerClassName DefaultDocumentEvent flags 1
-
-class name javax/swing/text/DefaultStyledDocument
--method name removeElement descriptor (Ljavax/swing/text/Element;)V
-
-class name javax/swing/text/GlyphView
--method name getMinimumSpan descriptor (I)F
-
-class name javax/swing/text/JTextComponent
--method name getCaret descriptor ()Ljavax/swing/text/Caret;
--method name getCaretPosition descriptor ()I
--method name getSelectionStart descriptor ()I
--method name getSelectionEnd descriptor ()I
--method name saveComposedText descriptor (I)Z
--method name restoreComposedText descriptor ()V
-method name getCaret descriptor ()Ljavax/swing/text/Caret; flags 1
-method name getCaretPosition descriptor ()I flags 1
-method name getSelectionStart descriptor ()I flags 1
-method name getSelectionEnd descriptor ()I flags 1
-
-class name javax/swing/text/ParagraphView
-header extends javax/swing/text/FlowView implements javax/swing/text/TabExpander flags 21
-innerclass innerClass javax/swing/text/ParagraphView$Row outerClass javax/swing/text/ParagraphView innerClassName Row flags 0
-innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
--method name calculateMinorAxisRequirements descriptor (ILjavax/swing/SizeRequirements;)Ljavax/swing/SizeRequirements;
-method name adjustRow descriptor (Ljavax/swing/text/ParagraphView$Row;II)V flags 4
-
-class name javax/swing/text/ParagraphView$Row
-header extends javax/swing/text/BoxView flags 20
-innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19
-innerclass innerClass javax/swing/text/ParagraphView$Row outerClass javax/swing/text/ParagraphView innerClassName Row flags 0
-method name loadChildren descriptor (Ljavax/swing/text/ViewFactory;)V flags 4
-method name getAttributes descriptor ()Ljavax/swing/text/AttributeSet; flags 1
-method name getAlignment descriptor (I)F flags 1
-method name modelToView descriptor (ILjava/awt/Shape;Ljavax/swing/text/Position$Bias;)Ljava/awt/Shape; thrownTypes javax/swing/text/BadLocationException flags 1
-method name getStartOffset descriptor ()I flags 1
-method name getEndOffset descriptor ()I flags 1
-method name layoutMinorAxis descriptor (II[I[I)V flags 4
-method name calculateMinorAxisRequirements descriptor (ILjavax/swing/SizeRequirements;)Ljavax/swing/SizeRequirements; flags 4
-method name calculateMajorAxisRequirements descriptor (ILjavax/swing/SizeRequirements;)Ljavax/swing/SizeRequirements; flags 4
-method name layoutMajorAxis descriptor (II[I[I)V flags 4
-method name getMaximumSpan descriptor (I)F flags 1
-method name getViewIndexAtPosition descriptor (I)I flags 4
-method name getLeftInset descriptor ()S flags 4
-method name getBottomInset descriptor ()S flags 4
-
-class name javax/swing/text/html/CSS
-header extends java/lang/Object implements java/io/Serializable 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$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/CSS$Attribute
--field name BORDER_BOTTOM_COLOR descriptor Ljavax/swing/text/html/CSS$Attribute;
--field name BORDER_BOTTOM_STYLE descriptor Ljavax/swing/text/html/CSS$Attribute;
--field name BORDER_LEFT_COLOR descriptor Ljavax/swing/text/html/CSS$Attribute;
--field name BORDER_LEFT_STYLE descriptor Ljavax/swing/text/html/CSS$Attribute;
--field name BORDER_RIGHT_COLOR descriptor Ljavax/swing/text/html/CSS$Attribute;
--field name BORDER_RIGHT_STYLE descriptor Ljavax/swing/text/html/CSS$Attribute;
--field name BORDER_TOP_COLOR descriptor Ljavax/swing/text/html/CSS$Attribute;
--field name BORDER_TOP_STYLE descriptor Ljavax/swing/text/html/CSS$Attribute;
-
-class name javax/swing/text/html/HTMLFrameHyperlinkEvent
--method name <init> descriptor (Ljava/lang/Object;Ljavax/swing/event/HyperlinkEvent$EventType;Ljava/net/URL;Ljava/lang/String;Ljavax/swing/text/Element;Ljava/awt/event/InputEvent;Ljava/lang/String;)V
-
-class name javax/swing/text/html/parser/ParserDelegator
--method name setDefaultDTD descriptor ()V
-method name setDefaultDTD descriptor ()V flags 2c
-
-class name javax/swing/tree/DefaultTreeCellRenderer
--method name updateUI descriptor ()V
-
-class name javax/swing/tree/DefaultTreeModel
--method name <init> descriptor (Ljavax/swing/tree/TreeNode;)V
-method name <init> descriptor (Ljavax/swing/tree/TreeNode;)V flags 1
-
-class name javax/swing/tree/DefaultTreeSelectionModel
--method name notifyPathChange descriptor (Ljava/util/Vector;Ljavax/swing/tree/TreePath;)V
-method name notifyPathChange descriptor (Ljava/util/Vector;Ljavax/swing/tree/TreePath;)V flags 4 signature (Ljava/util/Vector<Ljavax/swing/tree/PathPlaceHolder;>;Ljavax/swing/tree/TreePath;)V
-
-class name javax/swing/tree/PathPlaceHolder
-header extends java/lang/Object flags 20
-field name isNew descriptor Z flags 4
-field name path descriptor Ljavax/swing/tree/TreePath; flags 4
-
-class name javax/swing/tree/TreePath
--method name <init> descriptor ([Ljava/lang/Object;)V
-method name <init> descriptor ([Ljava/lang/Object;)V flags 1
-
--- a/make/data/symbols/java.logging-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name java/util/logging/Logger
--method name getGlobal descriptor ()Ljava/util/logging/Logger;
--method name getAnonymousLogger descriptor ()Ljava/util/logging/Logger;
--method name addHandler descriptor (Ljava/util/logging/Handler;)V
--method name removeHandler descriptor (Ljava/util/logging/Handler;)V
--method name getHandlers descriptor ()[Ljava/util/logging/Handler;
--method name setUseParentHandlers descriptor (Z)V
--method name getUseParentHandlers descriptor ()Z
--method name getLogger descriptor (Ljava/lang/String;)Ljava/util/logging/Logger;
--method name getLogger descriptor (Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;
--method name getAnonymousLogger descriptor (Ljava/lang/String;)Ljava/util/logging/Logger;
-method name getLogger descriptor (Ljava/lang/String;)Ljava/util/logging/Logger; flags 29
-method name getLogger descriptor (Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger; flags 29
-method name getAnonymousLogger descriptor ()Ljava/util/logging/Logger; flags 29
-method name getAnonymousLogger descriptor (Ljava/lang/String;)Ljava/util/logging/Logger; flags 29
-method name addHandler descriptor (Ljava/util/logging/Handler;)V thrownTypes java/lang/SecurityException flags 21
-method name removeHandler descriptor (Ljava/util/logging/Handler;)V thrownTypes java/lang/SecurityException flags 21
-method name getHandlers descriptor ()[Ljava/util/logging/Handler; flags 21
-method name setUseParentHandlers descriptor (Z)V flags 21
-method name getUseParentHandlers descriptor ()Z flags 21
-
--- a/make/data/symbols/java.management-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
--class name java/lang/management/BufferPoolMXBean
-
-class name java/lang/management/ClassLoadingMXBean
-header extends java/lang/Object flags 601
-
-class name java/lang/management/CompilationMXBean
-header extends java/lang/Object flags 601
-
-class name java/lang/management/ManagementFactory
--method name getPlatformMXBean descriptor (Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
--method name getPlatformMXBeans descriptor (Ljava/lang/Class;)Ljava/util/List;
--method name getPlatformMXBean descriptor (Ljavax/management/MBeanServerConnection;Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
--method name getPlatformMXBeans descriptor (Ljavax/management/MBeanServerConnection;Ljava/lang/Class;)Ljava/util/List;
--method name getPlatformManagementInterfaces descriptor ()Ljava/util/Set;
-
-class name java/lang/management/MemoryMXBean
-header extends java/lang/Object flags 601
-
-class name java/lang/management/MemoryManagerMXBean
-header extends java/lang/Object flags 601
-
-class name java/lang/management/MemoryPoolMXBean
-header extends java/lang/Object flags 601
-
-class name java/lang/management/OperatingSystemMXBean
-header extends java/lang/Object flags 601
-
--class name java/lang/management/PlatformLoggingMXBean
-
--class name java/lang/management/PlatformManagedObject
-
-class name java/lang/management/RuntimeMXBean
-header extends java/lang/Object flags 601
-
-class name java/lang/management/ThreadMXBean
-header extends java/lang/Object flags 601
-
-class name javax/management/AttributeValueExp
--method name setMBeanServer descriptor (Ljavax/management/MBeanServer;)V
-method name setMBeanServer descriptor (Ljavax/management/MBeanServer;)V flags 1
-
-class name javax/management/DefaultLoaderRepository
--method name loadClass descriptor (Ljava/lang/String;)Ljava/lang/Class;
--method name loadClassWithout descriptor (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class;
-method name loadClass descriptor (Ljava/lang/String;)Ljava/lang/Class; thrownTypes java/lang/ClassNotFoundException flags 9
-method name loadClassWithout descriptor (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class; thrownTypes java/lang/ClassNotFoundException flags 9
-
-class name javax/management/MBeanConstructorInfo
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/reflect/Constructor;)V
-method name <init> descriptor (Ljava/lang/String;Ljava/lang/reflect/Constructor;)V flags 1
-
-class name javax/management/MBeanServerNotification
--method name toString descriptor ()Ljava/lang/String;
-
-class name javax/management/ObjectName
--method name getInstance descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/management/ObjectName;
--method name getInstance descriptor (Ljava/lang/String;Ljava/util/Hashtable;)Ljavax/management/ObjectName;
--method name getInstance descriptor (Ljavax/management/ObjectName;)Ljavax/management/ObjectName;
--method name <init> descriptor (Ljava/lang/String;)V
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
--method name <init> descriptor (Ljava/lang/String;Ljava/util/Hashtable;)V
--method name isPropertyValuePattern descriptor (Ljava/lang/String;)Z
--method name getKeyProperty descriptor (Ljava/lang/String;)Ljava/lang/String;
--method name quote descriptor (Ljava/lang/String;)Ljava/lang/String;
--method name unquote descriptor (Ljava/lang/String;)Ljava/lang/String;
--method name apply descriptor (Ljavax/management/ObjectName;)Z
-method name getInstance descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/management/ObjectName; thrownTypes javax/management/MalformedObjectNameException,java/lang/NullPointerException flags 9
-method name getInstance descriptor (Ljava/lang/String;Ljava/util/Hashtable;)Ljavax/management/ObjectName; thrownTypes javax/management/MalformedObjectNameException,java/lang/NullPointerException flags 9 signature (Ljava/lang/String;Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;)Ljavax/management/ObjectName;
-method name getInstance descriptor (Ljavax/management/ObjectName;)Ljavax/management/ObjectName; thrownTypes java/lang/NullPointerException flags 9
-method name <init> descriptor (Ljava/lang/String;)V thrownTypes javax/management/MalformedObjectNameException,java/lang/NullPointerException flags 1
-method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V thrownTypes javax/management/MalformedObjectNameException,java/lang/NullPointerException flags 1
-method name <init> descriptor (Ljava/lang/String;Ljava/util/Hashtable;)V thrownTypes javax/management/MalformedObjectNameException,java/lang/NullPointerException flags 1 signature (Ljava/lang/String;Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;)V
-method name isPropertyValuePattern descriptor (Ljava/lang/String;)Z thrownTypes java/lang/NullPointerException,java/lang/IllegalArgumentException flags 1
-method name getKeyProperty descriptor (Ljava/lang/String;)Ljava/lang/String; thrownTypes java/lang/NullPointerException flags 1
-method name quote descriptor (Ljava/lang/String;)Ljava/lang/String; thrownTypes java/lang/NullPointerException flags 9
-method name unquote descriptor (Ljava/lang/String;)Ljava/lang/String; thrownTypes java/lang/IllegalArgumentException,java/lang/NullPointerException flags 9
-method name apply descriptor (Ljavax/management/ObjectName;)Z thrownTypes java/lang/NullPointerException flags 1
-
-class name javax/management/StringValueExp
--method name setMBeanServer descriptor (Ljavax/management/MBeanServer;)V
-method name setMBeanServer descriptor (Ljavax/management/MBeanServer;)V flags 1
-
-class name javax/management/loading/DefaultLoaderRepository
--method name loadClass descriptor (Ljava/lang/String;)Ljava/lang/Class;
--method name loadClassWithout descriptor (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class;
-method name loadClass descriptor (Ljava/lang/String;)Ljava/lang/Class; thrownTypes java/lang/ClassNotFoundException flags 9
-method name loadClassWithout descriptor (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class; thrownTypes java/lang/ClassNotFoundException flags 9
-
-class name javax/management/modelmbean/ModelMBeanConstructorInfo
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/reflect/Constructor;)V
--method name <init> descriptor (Ljava/lang/String;Ljava/lang/reflect/Constructor;Ljavax/management/Descriptor;)V
-method name <init> descriptor (Ljava/lang/String;Ljava/lang/reflect/Constructor;)V flags 1
-method name <init> descriptor (Ljava/lang/String;Ljava/lang/reflect/Constructor;Ljavax/management/Descriptor;)V flags 1
-
--- a/make/data/symbols/java.rmi-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name javax/rmi/ssl/SslRMIServerSocketFactory
--method name <init> descriptor (Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;Z)V
-
--- a/make/data/symbols/java.security.jgss-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
--class name javax/security/auth/kerberos/KeyTab
-
--- a/make/data/symbols/java.sql-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name java/sql/CallableStatement
--method name getObject descriptor (ILjava/lang/Class;)Ljava/lang/Object;
--method name getObject descriptor (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
-
-class name java/sql/Connection
-header extends java/lang/Object implements java/sql/Wrapper flags 601
--method name setSchema descriptor (Ljava/lang/String;)V
--method name getSchema descriptor ()Ljava/lang/String;
--method name abort descriptor (Ljava/util/concurrent/Executor;)V
--method name setNetworkTimeout descriptor (Ljava/util/concurrent/Executor;I)V
--method name getNetworkTimeout descriptor ()I
-
-class name java/sql/DatabaseMetaData
--method name getPseudoColumns descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
--method name generatedKeyAlwaysReturned descriptor ()Z
-
-class name java/sql/Driver
--method name getParentLogger descriptor ()Ljava/util/logging/Logger;
-
--class name java/sql/PseudoColumnUsage
-
-class name java/sql/ResultSet
-header extends java/lang/Object implements java/sql/Wrapper flags 601
--method name getObject descriptor (ILjava/lang/Class;)Ljava/lang/Object;
--method name getObject descriptor (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
-
-class name java/sql/Statement
-header extends java/lang/Object implements java/sql/Wrapper flags 601
--method name closeOnCompletion descriptor ()V
--method name isCloseOnCompletion descriptor ()Z
-
-class name java/sql/Timestamp
--method name hashCode descriptor ()I
-
-class name javax/sql/CommonDataSource
--method name getParentLogger descriptor ()Ljava/util/logging/Logger;
-
--- a/make/data/symbols/java.sql.rowset-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name javax/sql/rowset/CachedRowSet
--field name COMMIT_ON_ACCEPT_CHANGES descriptor Z
-field name COMMIT_ON_ACCEPT_CHANGES descriptor Z constantValue true flags 19
-
--class name javax/sql/rowset/RowSetFactory
-
--class name javax/sql/rowset/RowSetProvider
-
-class name javax/sql/rowset/WebRowSet
--field name PUBLIC_XML_SCHEMA descriptor Ljava/lang/String;
-field name PUBLIC_XML_SCHEMA descriptor Ljava/lang/String; constantValue --//Sun\u0020;Microsystems,\u0020;Inc.//XSD\u0020;Schema//EN flags 19
-
-class name javax/sql/rowset/spi/SyncFactory
--field name ROWSET_SYNC_PROVIDER descriptor Ljava/lang/String;
--field name ROWSET_SYNC_VENDOR descriptor Ljava/lang/String;
--field name ROWSET_SYNC_PROVIDER_VERSION descriptor Ljava/lang/String;
-field name ROWSET_SYNC_PROVIDER descriptor Ljava/lang/String; flags 9
-field name ROWSET_SYNC_VENDOR descriptor Ljava/lang/String; flags 9
-field name ROWSET_SYNC_PROVIDER_VERSION descriptor Ljava/lang/String; flags 9
--method name setJNDIContext descriptor (Ljavax/naming/Context;)V
-method name setJNDIContext descriptor (Ljavax/naming/Context;)V thrownTypes javax/sql/rowset/spi/SyncFactoryException flags 9
-
-class name javax/sql/rowset/spi/SyncProvider
--field name GRADE_NONE descriptor I
--field name GRADE_CHECK_MODIFIED_AT_COMMIT descriptor I
--field name GRADE_CHECK_ALL_AT_COMMIT descriptor I
--field name GRADE_LOCK_WHEN_MODIFIED descriptor I
--field name GRADE_LOCK_WHEN_LOADED descriptor I
--field name DATASOURCE_NO_LOCK descriptor I
--field name DATASOURCE_ROW_LOCK descriptor I
--field name DATASOURCE_TABLE_LOCK descriptor I
--field name DATASOURCE_DB_LOCK descriptor I
--field name UPDATABLE_VIEW_SYNC descriptor I
--field name NONUPDATABLE_VIEW_SYNC descriptor I
-field name GRADE_NONE descriptor I flags 9
-field name GRADE_CHECK_MODIFIED_AT_COMMIT descriptor I flags 9
-field name GRADE_CHECK_ALL_AT_COMMIT descriptor I flags 9
-field name GRADE_LOCK_WHEN_MODIFIED descriptor I flags 9
-field name GRADE_LOCK_WHEN_LOADED descriptor I flags 9
-field name DATASOURCE_NO_LOCK descriptor I flags 9
-field name DATASOURCE_ROW_LOCK descriptor I flags 9
-field name DATASOURCE_TABLE_LOCK descriptor I flags 9
-field name DATASOURCE_DB_LOCK descriptor I flags 9
-field name UPDATABLE_VIEW_SYNC descriptor I flags 9
-field name NONUPDATABLE_VIEW_SYNC descriptor I flags 9
-
--- a/make/data/symbols/java.xml-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name javax/xml/parsers/FactoryConfigurationError
--method name getCause descriptor ()Ljava/lang/Throwable;
-
-class name javax/xml/stream/FactoryConfigurationError
--method name getCause descriptor ()Ljava/lang/Throwable;
-
-class name javax/xml/stream/XMLEventFactory
--method name newFactory descriptor ()Ljavax/xml/stream/XMLEventFactory;
--method name newInstance descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLEventFactory;
--method name newFactory descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLEventFactory;
-method name newInstance descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLEventFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
-
-class name javax/xml/stream/XMLInputFactory
--method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
--method name newInstance descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLInputFactory;
--method name newFactory descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLInputFactory;
-method name newInstance descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
-
-class name javax/xml/stream/XMLOutputFactory
--method name newFactory descriptor ()Ljavax/xml/stream/XMLOutputFactory;
--method name newInstance descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLInputFactory;
--method name newFactory descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLOutputFactory;
-method name newInstance descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
-
-class name javax/xml/transform/TransformerFactoryConfigurationError
--method name getCause descriptor ()Ljava/lang/Throwable;
-
-class name org/xml/sax/SAXException
--method name getCause descriptor ()Ljava/lang/Throwable;
-
-class name org/xml/sax/SAXParseException
--method name toString descriptor ()Ljava/lang/String;
-
--- a/make/data/symbols/java.xml.bind-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
--class name javax/xml/bind/JAXBPermission
-
-class name javax/xml/bind/annotation/XmlElement
-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;FIELD;eLjava/lang/annotation/ElementType;METHOD;})
-innerclass innerClass javax/xml/bind/annotation/XmlElement$DEFAULT outerClass javax/xml/bind/annotation/XmlElement innerClassName DEFAULT flags 19
-
-class name javax/xml/bind/annotation/XmlElementRef
--method name required descriptor ()Z
-
--- a/make/data/symbols/java.xml.ws-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name javax/xml/ws/Endpoint
--method name create descriptor (Ljava/lang/Object;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/Endpoint;
--method name create descriptor (Ljava/lang/String;Ljava/lang/Object;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/Endpoint;
--method name publish descriptor (Ljava/lang/String;Ljava/lang/Object;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/Endpoint;
--method name publish descriptor (Ljavax/xml/ws/spi/http/HttpContext;)V
--method name setEndpointContext descriptor (Ljavax/xml/ws/EndpointContext;)V
-
--class name javax/xml/ws/EndpointContext
-
-class name javax/xml/ws/FaultAction
--method name className descriptor ()Ljava/lang/Class;
-method name className descriptor ()Ljava/lang/Class; flags 401
-
-class name javax/xml/ws/Holder
-header extends java/lang/Object flags 31 signature <T:Ljava/lang/Object;>Ljava/lang/Object;
-
-class name javax/xml/ws/RequestWrapper
--method name partName descriptor ()Ljava/lang/String;
-
-class name javax/xml/ws/RespectBinding
-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/Documented;@Ljavax/xml/ws/spi/WebServiceFeatureAnnotation;(id="javax.xml.ws.RespectBindingFeature",bean=cLjavax/xml/ws/RespectBindingFeature;)
-
-class name javax/xml/ws/ResponseWrapper
--method name partName descriptor ()Ljava/lang/String;
-
-class name javax/xml/ws/Service
--method name <init> descriptor (Ljava/net/URL;Ljavax/xml/namespace/QName;[Ljavax/xml/ws/WebServiceFeature;)V
--method name create descriptor (Ljava/net/URL;Ljavax/xml/namespace/QName;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/Service;
--method name create descriptor (Ljavax/xml/namespace/QName;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/Service;
-
-class name javax/xml/ws/WebFault
--method name messageName descriptor ()Ljava/lang/String;
-
-class name javax/xml/ws/WebServiceRef
--method name type descriptor ()Ljava/lang/Class;
--method name value descriptor ()Ljava/lang/Class;
--method name lookup descriptor ()Ljava/lang/String;
-method name type descriptor ()Ljava/lang/Class; annotationDefaultValue cLjava/lang/Object; flags 401
-method name value descriptor ()Ljava/lang/Class; annotationDefaultValue cLjava/lang/Object; flags 401
-
-class name javax/xml/ws/soap/Addressing
-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/Documented;@Ljavax/xml/ws/spi/WebServiceFeatureAnnotation;(id="http://www.w3.org/2005/08/addressing/module",bean=cLjavax/xml/ws/soap/AddressingFeature;)
--method name responses descriptor ()Ljavax/xml/ws/soap/AddressingFeature$Responses;
-
-class name javax/xml/ws/soap/AddressingFeature
-header extends javax/xml/ws/WebServiceFeature flags 31
--method name <init> descriptor (ZZLjavax/xml/ws/soap/AddressingFeature$Responses;)V
--method name getResponses descriptor ()Ljavax/xml/ws/soap/AddressingFeature$Responses;
-
--class name javax/xml/ws/soap/AddressingFeature$Responses
-
-class name javax/xml/ws/soap/MTOM
-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/Documented;@Ljavax/xml/ws/spi/WebServiceFeatureAnnotation;(id="http://www.w3.org/2004/08/soap/features/http-optimization",bean=cLjavax/xml/ws/soap/MTOMFeature;)
-
--class name javax/xml/ws/spi/Invoker
-
-class name javax/xml/ws/spi/Provider
--method name createServiceDelegate descriptor (Ljava/net/URL;Ljavax/xml/namespace/QName;Ljava/lang/Class;)Ljavax/xml/ws/spi/ServiceDelegate;
--method name createServiceDelegate descriptor (Ljava/net/URL;Ljavax/xml/namespace/QName;Ljava/lang/Class;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/spi/ServiceDelegate;
--method name createW3CEndpointReference descriptor (Ljava/lang/String;Ljavax/xml/namespace/QName;Ljavax/xml/namespace/QName;Ljavax/xml/namespace/QName;Ljava/util/List;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/Map;)Ljavax/xml/ws/wsaddressing/W3CEndpointReference;
--method name createAndPublishEndpoint descriptor (Ljava/lang/String;Ljava/lang/Object;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/Endpoint;
--method name createEndpoint descriptor (Ljava/lang/String;Ljava/lang/Object;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/Endpoint;
--method name createEndpoint descriptor (Ljava/lang/String;Ljava/lang/Class;Ljavax/xml/ws/spi/Invoker;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/Endpoint;
-method name createServiceDelegate descriptor (Ljava/net/URL;Ljavax/xml/namespace/QName;Ljava/lang/Class;)Ljavax/xml/ws/spi/ServiceDelegate; flags 401
-
--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
-
--- a/make/data/symbols/java.xml.ws.annotation-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
-class name javax/annotation/Resource
--method name lookup descriptor ()Ljava/lang/String;
-
--- a/make/data/symbols/jdk.management-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
--class name com/sun/management/GarbageCollectionNotificationInfo
-
-class name com/sun/management/HotSpotDiagnosticMXBean
-header extends java/lang/Object flags 601
-
-class name com/sun/management/OperatingSystemMXBean
--method name getSystemCpuLoad descriptor ()D
--method name getProcessCpuLoad descriptor ()D
-
--class name com/sun/management/ThreadMXBean
-
--- a/make/data/symbols/jdk.sctp-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
--class name com/sun/nio/sctp/AbstractNotificationHandler
-
--class name com/sun/nio/sctp/Association
-
--class name com/sun/nio/sctp/AssociationChangeNotification
-
--class name com/sun/nio/sctp/AssociationChangeNotification$AssocChangeEvent
-
--class name com/sun/nio/sctp/HandlerResult
-
--class name com/sun/nio/sctp/IllegalReceiveException
-
--class name com/sun/nio/sctp/IllegalUnbindException
-
--class name com/sun/nio/sctp/InvalidStreamException
-
--class name com/sun/nio/sctp/MessageInfo
-
--class name com/sun/nio/sctp/Notification
-
--class name com/sun/nio/sctp/NotificationHandler
-
--class name com/sun/nio/sctp/PeerAddressChangeNotification
-
--class name com/sun/nio/sctp/PeerAddressChangeNotification$AddressChangeEvent
-
--class name com/sun/nio/sctp/SctpChannel
-
--class name com/sun/nio/sctp/SctpMultiChannel
-
--class name com/sun/nio/sctp/SctpServerChannel
-
--class name com/sun/nio/sctp/SctpSocketOption
-
--class name com/sun/nio/sctp/SctpStandardSocketOptions
-
--class name com/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams
-
--class name com/sun/nio/sctp/SendFailedNotification
-
--class name com/sun/nio/sctp/ShutdownNotification
-
--- a/make/data/symbols/jdk.security.jgss-6.sym.txt	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# 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. ###
-# ##########################################################
-#
--class name com/sun/security/jgss/AuthorizationDataEntry
-
--class name com/sun/security/jgss/ExtendedGSSContext
-
--class name com/sun/security/jgss/InquireSecContextPermission
-
--class name com/sun/security/jgss/InquireType
-
--- a/make/data/symbols/symbols	Tue Jul 17 10:54:15 2018 -0400
+++ b/make/data/symbols/symbols	Tue Jul 17 11:05:06 2018 -0400
@@ -29,9 +29,8 @@
 #command used to generate this file:
 #build.tools.symbolgenerator.CreateSymbols build-description-incremental symbols include.list
 #
-generate platforms 6:7:8:9:A
+generate platforms 7:8:9:A
 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 6 base 7 files java.base-6.sym.txt:java.compiler-6.sym.txt:java.desktop-6.sym.txt:java.logging-6.sym.txt:java.management-6.sym.txt:java.rmi-6.sym.txt:java.security.jgss-6.sym.txt:java.sql-6.sym.txt:java.sql.rowset-6.sym.txt:java.xml-6.sym.txt:java.xml.bind-6.sym.txt:java.xml.ws-6.sym.txt:java.xml.ws.annotation-6.sym.txt:jdk.management-6.sym.txt:jdk.sctp-6.sym.txt:jdk.security.jgss-6.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
--- a/make/hotspot/gensrc/GensrcJfr.gmk	Tue Jul 17 10:54:15 2018 -0400
+++ b/make/hotspot/gensrc/GensrcJfr.gmk	Tue Jul 17 11:05:06 2018 -0400
@@ -27,7 +27,7 @@
 # Build tools needed for the JFR source code generation
 
 JFR_TOOLS_SRCDIR := $(TOPDIR)/make/src/classes
-JFR_TOOLS_OUTPUTDIR := $(OUTPUTDIR)/buildtools/tools_classes
+JFR_TOOLS_OUTPUTDIR := $(JVM_VARIANT_OUTPUTDIR)/buildtools/tools_classes
 
 $(eval $(call SetupJavaCompiler, GENERATE_JFRBYTECODE, \
     JAVAC := $(JAVAC), \
--- a/src/hotspot/cpu/aarch64/globals_aarch64.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/cpu/aarch64/globals_aarch64.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -164,7 +164,7 @@
   product(int, SoftwarePrefetchHintDistance, -1,                        \
           "Use prfm hint with specified distance in compiled code."     \
           "Value -1 means off.")                                        \
-          range(-1, 32760)
+          range(-1, 4096)
 #endif
 
 
--- a/src/hotspot/cpu/x86/methodHandles_x86.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/cpu/x86/methodHandles_x86.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -25,6 +25,7 @@
 #include "precompiled.hpp"
 #include "jvm.h"
 #include "asm/macroAssembler.hpp"
+#include "compiler/disassembler.hpp"
 #include "classfile/javaClasses.inline.hpp"
 #include "interpreter/interpreter.hpp"
 #include "interpreter/interpreterRuntime.hpp"
@@ -35,7 +36,7 @@
 #include "runtime/frame.inline.hpp"
 #include "utilities/preserveException.hpp"
 
-#define __ _masm->
+#define __ Disassembler::hook<MacroAssembler>(__FILE__, __LINE__, _masm)->
 
 #ifdef PRODUCT
 #define BLOCK_COMMENT(str) /* nothing */
--- a/src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -24,6 +24,7 @@
 
 #include "precompiled.hpp"
 #include "asm/macroAssembler.hpp"
+#include "compiler/disassembler.hpp"
 #include "gc/shared/barrierSetAssembler.hpp"
 #include "interpreter/bytecodeHistogram.hpp"
 #include "interpreter/interp_masm.hpp"
@@ -48,7 +49,7 @@
 #include "utilities/debug.hpp"
 #include "utilities/macros.hpp"
 
-#define __ _masm->
+#define __ Disassembler::hook<InterpreterMacroAssembler>(__FILE__, __LINE__, _masm)->
 
 // Size of interpreter code.  Increase if too small.  Interpreter will
 // fail with a guarantee ("not enough space for interpreter generation");
@@ -1774,18 +1775,30 @@
                                                          address& vep) {
   assert(t->is_valid() && t->tos_in() == vtos, "illegal template");
   Label L;
-  aep = __ pc();  __ push_ptr();   __ jmp(L);
+  aep = __ pc();     // atos entry point
+      __ push_ptr();
+      __ jmp(L);
 #ifndef _LP64
-  fep = __ pc(); __ push(ftos); __ jmp(L);
-  dep = __ pc(); __ push(dtos); __ jmp(L);
+  fep = __ pc();     // ftos entry point
+      __ push(ftos);
+      __ jmp(L);
+  dep = __ pc();     // dtos entry point
+      __ push(dtos);
+      __ jmp(L);
 #else
-  fep = __ pc();  __ push_f(xmm0); __ jmp(L);
-  dep = __ pc();  __ push_d(xmm0); __ jmp(L);
+  fep = __ pc();     // ftos entry point
+      __ push_f(xmm0);
+      __ jmp(L);
+  dep = __ pc();     // dtos entry point
+      __ push_d(xmm0);
+      __ jmp(L);
 #endif // _LP64
-  lep = __ pc();  __ push_l();     __ jmp(L);
-  bep = cep = sep =
-  iep = __ pc();  __ push_i();
-  vep = __ pc();
+  lep = __ pc();     // ltos entry point
+      __ push_l();
+      __ jmp(L);
+  bep = cep = sep = iep = __ pc();      // [bcsi]tos entry point
+      __ push_i();
+  vep = __ pc();    // vtos entry point
   __ bind(L);
   generate_and_dispatch(t);
 }
--- a/src/hotspot/cpu/x86/templateInterpreterGenerator_x86_32.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/cpu/x86/templateInterpreterGenerator_x86_32.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -24,6 +24,7 @@
 
 #include "precompiled.hpp"
 #include "asm/macroAssembler.hpp"
+#include "compiler/disassembler.hpp"
 #include "interpreter/interp_masm.hpp"
 #include "interpreter/interpreter.hpp"
 #include "interpreter/interpreterRuntime.hpp"
@@ -31,7 +32,7 @@
 #include "runtime/arguments.hpp"
 #include "runtime/sharedRuntime.hpp"
 
-#define __ _masm->
+#define __ Disassembler::hook<InterpreterMacroAssembler>(__FILE__, __LINE__, _masm)->
 
 
 address TemplateInterpreterGenerator::generate_slow_signature_handler() {
--- a/src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, 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
@@ -24,6 +24,7 @@
 
 #include "precompiled.hpp"
 #include "asm/macroAssembler.hpp"
+#include "compiler/disassembler.hpp"
 #include "interpreter/interp_masm.hpp"
 #include "interpreter/interpreter.hpp"
 #include "interpreter/interpreterRuntime.hpp"
@@ -31,7 +32,7 @@
 #include "runtime/arguments.hpp"
 #include "runtime/sharedRuntime.hpp"
 
-#define __ _masm->
+#define __ Disassembler::hook<InterpreterMacroAssembler>(__FILE__, __LINE__, _masm)->
 
 #ifdef _WIN64
 address TemplateInterpreterGenerator::generate_slow_signature_handler() {
--- a/src/hotspot/cpu/x86/templateTable_x86.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/cpu/x86/templateTable_x86.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -24,6 +24,7 @@
 
 #include "precompiled.hpp"
 #include "asm/macroAssembler.hpp"
+#include "compiler/disassembler.hpp"
 #include "interpreter/interpreter.hpp"
 #include "interpreter/interpreterRuntime.hpp"
 #include "interpreter/interp_masm.hpp"
@@ -40,7 +41,7 @@
 #include "runtime/synchronizer.hpp"
 #include "utilities/macros.hpp"
 
-#define __ _masm->
+#define __ Disassembler::hook<InterpreterMacroAssembler>(__FILE__, __LINE__, _masm)->
 
 // Global Register Names
 static const Register rbcp     = LP64_ONLY(r13) NOT_LP64(rsi);
--- a/src/hotspot/cpu/x86/vm_version_ext_x86.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/cpu/x86/vm_version_ext_x86.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -470,8 +470,8 @@
 }
 
 size_t VM_Version_Ext::cpu_write_support_string(char* const buf, size_t buf_len) {
-  assert(buf != NULL, "buffer is NULL!");
-  assert(buf_len > 0, "buffer len not enough!");
+  guarantee(buf != NULL, "buffer is NULL!");
+  guarantee(buf_len > 0, "buffer len not enough!");
 
   unsigned int flag = 0;
   unsigned int fi = 0;
@@ -481,8 +481,7 @@
 #define WRITE_TO_BUF(string)                                                          \
   {                                                                                   \
     int res = jio_snprintf(&buf[written], buf_len - written, "%s%s", prefix, string); \
-    if (res < 0 || (size_t) res >= buf_len - 1) {                                     \
-      buf[buf_len-1] = '\0';                                                          \
+    if (res < 0) {                                                                    \
       return buf_len - 1;                                                             \
     }                                                                                 \
     written += res;                                                                   \
@@ -592,7 +591,7 @@
     _cpuid_info.ext_cpuid1_edx);
 
   if (outputLen < 0 || (size_t) outputLen >= buf_len - 1) {
-    buf[buf_len-1] = '\0';
+    if (buf_len > 0) { buf[buf_len-1] = '\0'; }
     return OS_ERR;
   }
 
--- a/src/hotspot/cpu/x86/vm_version_ext_x86.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/cpu/x86/vm_version_ext_x86.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -63,6 +63,7 @@
   static bool cpu_is_em64t(void);
   static bool is_netburst(void);
 
+  // Returns bytes written excluding termninating null byte.
   static size_t cpu_write_support_string(char* const buf, size_t buf_len);
   static void resolve_cpu_information_details(void);
   static jlong max_qualified_cpu_freq_from_brand_string(void);
--- a/src/hotspot/cpu/x86/x86.ad	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/cpu/x86/x86.ad	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -1444,6 +1444,7 @@
       case Op_CMoveVF:
         if (vlen != 8)
           ret_value  = false;
+        break;
       case Op_CMoveVD:
         if (vlen != 4)
           ret_value  = false;
--- a/src/hotspot/os/linux/os_linux.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/os/linux/os_linux.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -2093,7 +2093,9 @@
   // special case for debian
   if (file_exists("/etc/debian_version")) {
     strncpy(buf, "Debian ", buflen);
-    parse_os_info(&buf[7], buflen-7, "/etc/debian_version");
+    if (buflen > 7) {
+      parse_os_info(&buf[7], buflen-7, "/etc/debian_version");
+    }
   } else {
     strncpy(buf, "Linux", buflen);
   }
@@ -2805,8 +2807,8 @@
 }
 
 int os::Linux::get_existing_num_nodes() {
-  size_t node;
-  size_t highest_node_number = Linux::numa_max_node();
+  int node;
+  int highest_node_number = Linux::numa_max_node();
   int num_nodes = 0;
 
   // Get the total number of nodes in the system including nodes without memory.
@@ -2819,14 +2821,14 @@
 }
 
 size_t os::numa_get_leaf_groups(int *ids, size_t size) {
-  size_t highest_node_number = Linux::numa_max_node();
+  int highest_node_number = Linux::numa_max_node();
   size_t i = 0;
 
-  // Map all node ids in which is possible to allocate memory. Also nodes are
+  // Map all node ids in which it is possible to allocate memory. Also nodes are
   // not always consecutively available, i.e. available from 0 to the highest
   // node number.
-  for (size_t node = 0; node <= highest_node_number; node++) {
-    if (Linux::isnode_in_configured_nodes(node)) {
+  for (int node = 0; node <= highest_node_number; node++) {
+    if (Linux::isnode_in_configured_nodes((unsigned int)node)) {
       ids[i++] = node;
     }
   }
--- a/src/hotspot/os/linux/perfMemory_linux.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/os/linux/perfMemory_linux.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -534,15 +534,14 @@
   // directory search
   char* oldest_user = NULL;
   time_t oldest_ctime = 0;
-  char buffer[TMP_BUFFER_LEN];
+  char buffer[MAXPATHLEN + 1];
   int searchpid;
   char* tmpdirname = (char *)os::get_temp_directory();
   assert(strlen(tmpdirname) == 4, "No longer using /tmp - update buffer size");
 
   if (nspid == -1) {
     searchpid = vmid;
-  }
-  else {
+  } else {
     jio_snprintf(buffer, MAXPATHLEN, "/proc/%d/root%s", vmid, tmpdirname);
     tmpdirname = buffer;
     searchpid = nspid;
--- a/src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -82,7 +82,7 @@
 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE>
 {
   template <typename T>
-  T operator()(const volatile T* p) const { register T t = Atomic::load(p); inlasm_acquire_reg(t); return t; }
+  T operator()(const volatile T* p) const { T t = Atomic::load(p); inlasm_acquire_reg(t); return t; }
 };
 
 #undef inlasm_sync
--- a/src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -279,11 +279,11 @@
 
 address os::current_stack_pointer() {
 #if defined(__clang__) || defined(__llvm__)
-  register void *esp;
+  void *esp;
   __asm__("mov %%" SPELL_REG_SP ", %0":"=r"(esp));
   return (address) esp;
 #elif defined(SPARC_WORKS)
-  register void *esp;
+  void *esp;
   __asm__("mov %%" SPELL_REG_SP ", %0":"=r"(esp));
   return (address) ((char*)esp + sizeof(long)*2);
 #else
@@ -415,7 +415,7 @@
 
 intptr_t* _get_previous_fp() {
 #if defined(SPARC_WORKS) || defined(__clang__) || defined(__llvm__)
-  register intptr_t **ebp;
+  intptr_t **ebp;
   __asm__("mov %%" SPELL_REG_FP ", %0":"=r"(ebp));
 #else
   register intptr_t **ebp __asm__ (SPELL_REG_FP);
--- a/src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -85,7 +85,7 @@
 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE>
 {
   template <typename T>
-  T operator()(const volatile T* p) const { register T t = Atomic::load(p); inlasm_acquire_reg(t); return t; }
+  T operator()(const volatile T* p) const { T t = Atomic::load(p); inlasm_acquire_reg(t); return t; }
 };
 
 #undef inlasm_sync
--- a/src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -79,7 +79,7 @@
 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE>
 {
   template <typename T>
-  T operator()(const volatile T* p) const { register T t = *p; inlasm_zarch_acquire(); return t; }
+  T operator()(const volatile T* p) const { T t = *p; inlasm_zarch_acquire(); return t; }
 };
 
 #undef inlasm_compiler_barrier
--- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -95,11 +95,11 @@
 
 address os::current_stack_pointer() {
 #ifdef SPARC_WORKS
-  register void *esp;
+  void *esp;
   __asm__("mov %%" SPELL_REG_SP ", %0":"=r"(esp));
   return (address) ((char*)esp + sizeof(long)*2);
 #elif defined(__clang__)
-  intptr_t* esp;
+  void* esp;
   __asm__ __volatile__ ("mov %%" SPELL_REG_SP ", %0":"=r"(esp):);
   return (address) esp;
 #else
@@ -233,7 +233,7 @@
 
 intptr_t* _get_previous_fp() {
 #ifdef SPARC_WORKS
-  register intptr_t **ebp;
+  intptr_t **ebp;
   __asm__("mov %%" SPELL_REG_FP ", %0":"=r"(ebp));
 #elif defined(__clang__)
   intptr_t **ebp;
--- a/src/hotspot/share/adlc/adlparse.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/adlc/adlparse.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -4564,7 +4564,7 @@
 // string(still inside the file buffer).  Returns a pointer to the string or
 // NULL if some other token is found instead.
 char *ADLParser::get_ident_common(bool do_preproc) {
-  register char c;
+  char c;
   char *start;                    // Pointer to start of token
   char *end;                      // Pointer to end of token
 
@@ -4762,7 +4762,7 @@
 // invokes a parse_err if the next token is not an integer.
 // This routine does not leave the integer null-terminated.
 int ADLParser::get_int(void) {
-  register char c;
+  char          c;
   char         *start;            // Pointer to start of token
   char         *end;              // Pointer to end of token
   int           result;           // Storage for integer result
--- a/src/hotspot/share/adlc/archDesc.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/adlc/archDesc.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -543,14 +543,18 @@
   }
 
   // Identify index position among ideal operands
-  intptr_t    index     = _last_opcode;
-  const char *indexStr  = node ? node->_opType : (char *) " ";
-  index            = (intptr_t)_idealIndex[indexStr];
+  intptr_t index = _last_opcode;
+  const char *indexStr = node ? node->_opType : (char *) " ";
+  index = (intptr_t)_idealIndex[indexStr];
   if (index == 0) {
     fprintf(stderr, "error: operand \"%s\" not found\n", indexStr);
     assert(0, "fatal error");
   }
 
+  if (node == NULL) {
+    fprintf(stderr, "error: node is NULL\n");
+    assert(0, "fatal error");
+  }
   // Build MatchLists for children
   // Check each child for an internal operand name, and use that name
   // for the parent's matchlist entry if it exists
--- a/src/hotspot/share/adlc/arena.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/adlc/arena.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, 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
@@ -43,7 +43,7 @@
   while( k ) {
     Chunk *tmp = k->_next;
     // clear out this chunk (to detect allocation bugs)
-    memset(k, 0xBAADBABE, k->_len);
+    memset(k, 0xBE, k->_len);
     free(k);                    // Free chunk (was malloc'd)
     k = tmp;
   }
@@ -79,7 +79,7 @@
 // Total of all Chunks in arena
 size_t Arena::used() const {
   size_t sum = _chunk->_len - (_max-_hwm); // Size leftover in this Chunk
-  register Chunk *k = _first;
+  Chunk *k = _first;
   while( k != _chunk) {         // Whilst have Chunks in a row
     sum += k->_len;             // Total size of this Chunk
     k = k->_next;               // Bump along to next Chunk
@@ -93,7 +93,7 @@
   // Get minimal required size.  Either real big, or even bigger for giant objs
   size_t len = max(x, Chunk::size);
 
-  register Chunk *k = _chunk;   // Get filled-up chunk address
+  Chunk *k = _chunk;            // Get filled-up chunk address
   _chunk = new (len) Chunk(len);
 
   if( k ) k->_next = _chunk;    // Append new chunk to end of linked list
--- a/src/hotspot/share/adlc/dfa.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/adlc/dfa.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, 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
@@ -502,9 +502,11 @@
     case '"':  // such as: #line 10 "myfile.ad"\n mypredicate
       return true;
     case '|':
-      if( prev != pred && *(prev-1) == '|' ) return true;
+      if (prev != pred && *(prev-1) == '|') return true;
+      break;
     case '&':
-      if( prev != pred && *(prev-1) == '&' ) return true;
+      if (prev != pred && *(prev-1) == '&') return true;
+      break;
     default:
       return false;
     }
@@ -717,21 +719,21 @@
 
   // Preserve use of external name which has a zero value
   if( c1->_external_name != NULL ) {
-    sprintf( string_buffer, "%s", c1->as_string());
+    sprintf(string_buffer, "%s", c1->as_string());
     if( !c2->is_zero() ) {
-      strcat( string_buffer, "+");
-      strcat( string_buffer, c2->as_string());
+      strncat(string_buffer, "+", STRING_BUFFER_LENGTH);
+      strncat(string_buffer, c2->as_string(), STRING_BUFFER_LENGTH);
     }
     result = strdup(string_buffer);
   }
   else if( c2->_external_name != NULL ) {
     if( !c1->is_zero() ) {
-      sprintf( string_buffer, "%s", c1->as_string());
-      strcat( string_buffer, " + ");
+      sprintf(string_buffer, "%s", c1->as_string());
+      strncat(string_buffer, " + ", STRING_BUFFER_LENGTH);
     } else {
       string_buffer[0] = '\0';
     }
-    strcat( string_buffer, c2->_external_name );
+    strncat(string_buffer, c2->_external_name, STRING_BUFFER_LENGTH);
     result = strdup(string_buffer);
   }
   return result;
@@ -741,8 +743,8 @@
   if( !c1->is_zero() ) {
     sprintf( string_buffer, "%s", c1->_expr);
     if( !c2->is_zero() ) {
-      strcat( string_buffer, "+");
-      strcat( string_buffer, c2->_expr);
+      strncat(string_buffer, "+", STRING_BUFFER_LENGTH);
+      strncat(string_buffer, c2->_expr, STRING_BUFFER_LENGTH);
     }
   }
   else if( !c2->is_zero() ) {
--- a/src/hotspot/share/adlc/dict2.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/adlc/dict2.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -283,9 +283,9 @@
 // limited to MAXID characters in length.  Experimental evidence on 150K of
 // C text shows excellent spreading of values for any size hash table.
 int hashstr(const void *t) {
-  register char c, k = 0;
-  register int sum = 0;
-  register const char *s = (const char *)t;
+  char c, k = 0;
+  int sum = 0;
+  const char *s = (const char *)t;
 
   while (((c = s[k]) != '\0') && (k < MAXID-1)) { // Get characters till nul
     c = (char) ((c << 1) + 1);    // Characters are always odd!
--- a/src/hotspot/share/adlc/filebuff.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/adlc/filebuff.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, 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
@@ -95,8 +95,11 @@
   va_start(args, fmt);
   switch (flag) {
   case 0: _AD._warnings += _AD.emit_msg(0, flag, linenum, fmt, args);
+    break;
   case 1: _AD._syntax_errs += _AD.emit_msg(0, flag, linenum, fmt, args);
+    break;
   case 2: _AD._semantic_errs += _AD.emit_msg(0, flag, linenum, fmt, args);
+    break;
   default: assert(0, ""); break;
   }
   va_end(args);
--- a/src/hotspot/share/adlc/formssel.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/adlc/formssel.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, 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
@@ -3634,7 +3634,7 @@
         && (is_load_from_memory(mRule2->_opType) == data_type) // reg vs. (load memory)
         && (name_left != NULL)       // NOT (load)
         && (name_right == NULL) ) {  // NOT (load memory foo)
-      const Form *form2_left = name_left ? globals[name_left] : NULL;
+      const Form *form2_left = globals[name_left];
       if( form2_left && form2_left->is_cisc_mem(globals) ) {
         cisc_spillable = Is_cisc_spillable;
         operand        = _name;
@@ -3645,7 +3645,7 @@
       }
     }
     // Detect reg vs memory
-    else if( form->is_cisc_reg(globals) && form2->is_cisc_mem(globals) ) {
+    else if (form->is_cisc_reg(globals) && form2 != NULL && form2->is_cisc_mem(globals)) {
       cisc_spillable = Is_cisc_spillable;
       operand        = _name;
       reg_type       = _result;
@@ -3710,8 +3710,12 @@
   }
 
   // Check right operands: recursive walk to identify reg->mem operand
-  if( (_rChild == NULL) && (mRule2->_rChild == NULL) ) {
-    right_spillable =  Maybe_cisc_spillable;
+  if (_rChild == NULL) {
+    if (mRule2->_rChild == NULL) {
+      right_spillable =  Maybe_cisc_spillable;
+    } else {
+      assert(0, "_rChild should not be NULL");
+    }
   } else {
     right_spillable = _rChild->cisc_spill_match(globals, registers, mRule2->_rChild, operand, reg_type);
   }
--- a/src/hotspot/share/adlc/main.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/adlc/main.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -58,7 +58,7 @@
 
   // Read command line arguments and file names
   for( int i = 1; i < argc; i++ ) { // For all arguments
-    register char *s = argv[i]; // Get option/filename
+    char *s = argv[i];          // Get option/filename
 
     if( *s++ == '-' ) {         // It's a flag? (not a filename)
       if( !*s ) {               // Stand-alone `-' means stdin
@@ -142,7 +142,7 @@
       const char *base = strip_ext(strdup(argv[i]));
       char       *temp = base_plus_suffix("dfa_",base);
       AD._DFA_file._name = base_plus_suffix(temp,".cpp");
-      delete temp;
+      delete[] temp;
       temp = base_plus_suffix("ad_",base);
       AD._CPP_file._name          = base_plus_suffix(temp,".cpp");
       AD._CPP_CLONE_file._name    = base_plus_suffix(temp,"_clone.cpp");
@@ -153,13 +153,13 @@
       AD._CPP_PEEPHOLE_file._name = base_plus_suffix(temp,"_peephole.cpp");
       AD._CPP_PIPELINE_file._name = base_plus_suffix(temp,"_pipeline.cpp");
       AD._HPP_file._name = base_plus_suffix(temp,".hpp");
-      delete temp;
+      delete[] temp;
       temp = base_plus_suffix("adGlobals_",base);
       AD._VM_file._name = base_plus_suffix(temp,".hpp");
-      delete temp;
+      delete[] temp;
       temp = base_plus_suffix("bugs_",base);
       AD._bug_file._name = base_plus_suffix(temp,".out");
-      delete temp;
+      delete[] temp;
     }                           // End of files vs options...
   }                             // End of while have command line arguments
 
--- a/src/hotspot/share/adlc/output_c.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/adlc/output_c.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, 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
@@ -1936,6 +1936,7 @@
           _AD.syntax_err( _ins_encode._linenum,
                           "Parameter %s not passed to enc_class %s from instruct %s.\n",
                           rep_var, _encoding._name, _inst._ident);
+          assert(false, "inst_rep_var == NULL, cannot continue.");
         }
 
         // Check if instruction's actual parameter is a local name in the instruction
@@ -1976,8 +1977,8 @@
         }
         else {
           // Check for unimplemented functionality before hard failure
-          assert( strcmp(opc->_ident,"label")==0, "Unimplemented() Label");
-          assert( false, "ShouldNotReachHere()");
+          assert(opc != NULL && strcmp(opc->_ident, "label") == 0, "Unimplemented Label");
+          assert(false, "ShouldNotReachHere()");
         }
       } // done checking which operand this is.
     } else {
@@ -2450,8 +2451,8 @@
       }
       else {
         // Check for unimplemented functionality before hard failure
-        assert( strcmp(opc->_ident,"label")==0, "Unimplemented() Label");
-        assert( false, "ShouldNotReachHere()");
+        assert(opc != NULL && strcmp(opc->_ident, "label") == 0, "Unimplemented Label");
+        assert(false, "ShouldNotReachHere()");
       }
       // all done
     }
@@ -3305,9 +3306,11 @@
   // Output the definitions for machine node specific pipeline data
   _machnodes.reset();
 
-  for ( ; (machnode = (MachNodeForm*)_machnodes.iter()) != NULL; ) {
-    fprintf(_CPP_PIPELINE_file._fp, "const Pipeline * %sNode::pipeline() const { return (&pipeline_class_%03d); }\n",
-      machnode->_ident, ((class PipeClassForm *)_pipeline->_classdict[machnode->_machnode_pipe])->_num);
+  if (_pipeline != NULL) {
+    for ( ; (machnode = (MachNodeForm*)_machnodes.iter()) != NULL; ) {
+      fprintf(_CPP_PIPELINE_file._fp, "const Pipeline * %sNode::pipeline() const { return (&pipeline_class_%03d); }\n",
+              machnode->_ident, ((class PipeClassForm *)_pipeline->_classdict[machnode->_machnode_pipe])->_num);
+    }
   }
 
   fprintf(_CPP_PIPELINE_file._fp, "\n");
@@ -3315,13 +3318,15 @@
   // Output the definitions for instruction pipeline static data references
   _instructions.reset();
 
-  for ( ; (instr = (InstructForm*)_instructions.iter()) != NULL; ) {
-    if (instr->_ins_pipe && _pipeline->_classlist.search(instr->_ins_pipe)) {
-      fprintf(_CPP_PIPELINE_file._fp, "\n");
-      fprintf(_CPP_PIPELINE_file._fp, "const Pipeline * %*sNode::pipeline_class() { return (&pipeline_class_%03d); }\n",
-        max_ident_len, instr->_ident, ((class PipeClassForm *)_pipeline->_classdict[instr->_ins_pipe])->_num);
-      fprintf(_CPP_PIPELINE_file._fp, "const Pipeline * %*sNode::pipeline() const { return (&pipeline_class_%03d); }\n",
-        max_ident_len, instr->_ident, ((class PipeClassForm *)_pipeline->_classdict[instr->_ins_pipe])->_num);
+  if (_pipeline != NULL) {
+    for ( ; (instr = (InstructForm*)_instructions.iter()) != NULL; ) {
+      if (instr->_ins_pipe && _pipeline->_classlist.search(instr->_ins_pipe)) {
+        fprintf(_CPP_PIPELINE_file._fp, "\n");
+        fprintf(_CPP_PIPELINE_file._fp, "const Pipeline * %*sNode::pipeline_class() { return (&pipeline_class_%03d); }\n",
+                max_ident_len, instr->_ident, ((class PipeClassForm *)_pipeline->_classdict[instr->_ins_pipe])->_num);
+        fprintf(_CPP_PIPELINE_file._fp, "const Pipeline * %*sNode::pipeline() const { return (&pipeline_class_%03d); }\n",
+                max_ident_len, instr->_ident, ((class PipeClassForm *)_pipeline->_classdict[instr->_ins_pipe])->_num);
+      }
     }
   }
 }
--- a/src/hotspot/share/aot/aotCodeHeap.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/aot/aotCodeHeap.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -549,7 +549,7 @@
     _lib_symbols_initialized = true;
 
     CollectedHeap* heap = Universe::heap();
-    SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_card_table_address", address, ci_card_table_address());
+    SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_card_table_address", address, (BarrierSet::barrier_set()->is_a(BarrierSet::CardTableBarrierSet) ? ci_card_table_address() : NULL));
     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_top_address", address, (heap->supports_inline_contig_alloc() ? heap->top_addr() : NULL));
     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_end_address", address, (heap->supports_inline_contig_alloc() ? heap->end_addr() : NULL));
     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_polling_page", address, os::get_polling_page());
--- a/src/hotspot/share/asm/codeBuffer.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/asm/codeBuffer.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -187,7 +187,7 @@
   cs->_limit = new_limit;
   cs->_locs_limit = new_locs_limit;
   cs->_frozen = true;
-  if (!next_cs->is_allocated() && !next_cs->is_frozen()) {
+  if (next_cs != NULL && !next_cs->is_allocated() && !next_cs->is_frozen()) {
     // Give remaining buffer space to the following section.
     next_cs->initialize(new_limit, old_limit - new_limit);
     next_cs->initialize_shared_locs(new_locs_limit,
@@ -494,10 +494,13 @@
       // Compute initial padding; assign it to the previous non-empty guy.
       // Cf. figure_expanded_capacities.
       csize_t padding = cs->align_at_start(buf_offset) - buf_offset;
-      if (padding != 0) {
-        buf_offset += padding;
-        assert(prev_dest_cs != NULL, "sanity");
-        prev_dest_cs->_limit += padding;
+      if (prev_dest_cs != NULL) {
+        if (padding != 0) {
+          buf_offset += padding;
+          prev_dest_cs->_limit += padding;
+        }
+      } else {
+        guarantee(padding == 0, "In first iteration no padding should be needed.");
       }
       #ifdef ASSERT
       if (prev_cs != NULL && prev_cs->is_frozen() && n < (SECT_LIMIT - 1)) {
--- a/src/hotspot/share/c1/c1_IR.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/c1/c1_IR.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2016, 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
@@ -1386,7 +1386,7 @@
     n->values_do(this);
     // need to remove this instruction from the instruction stream
     if (n->subst() != n) {
-      assert(last != NULL, "must have last");
+      guarantee(last != NULL, "must have last");
       last->set_next(n->next());
     } else {
       last = n;
--- a/src/hotspot/share/c1/c1_LIRGenerator.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/c1/c1_LIRGenerator.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -2311,7 +2311,9 @@
   if (compilation()->env()->comp_level() == CompLevel_full_profile && UseSwitchProfiling) {
     ciMethod* method = x->state()->scope()->method();
     ciMethodData* md = method->method_data_or_null();
+    assert(md != NULL, "Sanity");
     ciProfileData* data = md->bci_to_data(x->state()->bci());
+    assert(data != NULL, "must have profiling data");
     assert(data->is_MultiBranchData(), "bad profile data?");
     int default_count_offset = md->byte_offset_of_slot(data, MultiBranchData::default_count_offset());
     LIR_Opr md_reg = new_register(T_METADATA);
@@ -2367,7 +2369,9 @@
   if (compilation()->env()->comp_level() == CompLevel_full_profile && UseSwitchProfiling) {
     ciMethod* method = x->state()->scope()->method();
     ciMethodData* md = method->method_data_or_null();
+    assert(md != NULL, "Sanity");
     ciProfileData* data = md->bci_to_data(x->state()->bci());
+    assert(data != NULL, "must have profiling data");
     assert(data->is_MultiBranchData(), "bad profile data?");
     int default_count_offset = md->byte_offset_of_slot(data, MultiBranchData::default_count_offset());
     LIR_Opr md_reg = new_register(T_METADATA);
@@ -3076,6 +3080,7 @@
   if (compilation()->profile_arguments()) {
     int bci = x->bci_of_invoke();
     ciMethodData* md = x->method()->method_data_or_null();
+    assert(md != NULL, "Sanity");
     ciProfileData* data = md->bci_to_data(bci);
     if (data != NULL) {
       if ((data->is_CallTypeData() && data->as_CallTypeData()->has_arguments()) ||
@@ -3212,6 +3217,7 @@
 void LIRGenerator::do_ProfileReturnType(ProfileReturnType* x) {
   int bci = x->bci_of_invoke();
   ciMethodData* md = x->method()->method_data_or_null();
+  assert(md != NULL, "Sanity");
   ciProfileData* data = md->bci_to_data(bci);
   if (data != NULL) {
     assert(data->is_CallTypeData() || data->is_VirtualCallTypeData(), "wrong profile data type");
--- a/src/hotspot/share/c1/c1_LinearScan.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/c1/c1_LinearScan.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2017, 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
@@ -3954,7 +3954,7 @@
     if (!processed_interval) {
       // no move could be processed because there is a cycle in the move list
       // (e.g. r1 -> r2, r2 -> r1), so one interval must be spilled to memory
-      assert(spill_candidate != -1, "no interval in register for spilling found");
+      guarantee(spill_candidate != -1, "no interval in register for spilling found");
 
       // create a new spill interval and assign a stack slot to it
       Interval* from_interval = _mapping_from.at(spill_candidate);
@@ -6301,7 +6301,8 @@
                   assert(prev_branch->cond() == prev_cmp->condition(), "should be the same");
                 }
               }
-              assert(prev_cmp != NULL, "should have found comp instruction for branch");
+              // Guarantee because it is dereferenced below.
+              guarantee(prev_cmp != NULL, "should have found comp instruction for branch");
               if (prev_branch->block() == code->at(i + 1) && prev_branch->info() == NULL) {
 
                 TRACE_LINEAR_SCAN(3, tty->print_cr("Negating conditional branch and deleting unconditional branch at end of block B%d", block->block_id()));
--- a/src/hotspot/share/classfile/classListParser.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/classfile/classListParser.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -48,14 +48,13 @@
   _instance = this;
   _classlist_file = file;
   _file = fopen(file, "r");
-  _line_no = 0;
-  _interfaces = new (ResourceObj::C_HEAP, mtClass) GrowableArray<int>(10, true);
-
   if (_file == NULL) {
     char errmsg[JVM_MAXPATHLEN];
     os::lasterror(errmsg, JVM_MAXPATHLEN);
     vm_exit_during_initialization("Loading classlist failed", errmsg);
   }
+  _line_no = 0;
+  _interfaces = new (ResourceObj::C_HEAP, mtClass) GrowableArray<int>(10, true);
 }
 
 ClassListParser::~ClassListParser() {
--- a/src/hotspot/share/classfile/javaClasses.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/classfile/javaClasses.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -4129,37 +4129,6 @@
   return loader->obj_field(unnamedModule_offset);
 }
 
-// Caller needs ResourceMark.
-const char* java_lang_ClassLoader::describe_external(const oop loader) {
-  ClassLoaderData *cld = ClassLoaderData::class_loader_data(loader);
-  const char* name = cld->loader_name_and_id();
-
-  // bootstrap loader
-  if (loader == NULL) {
-    return name;
-  }
-
-  bool well_known_loader = SystemDictionary::is_system_class_loader(loader) ||
-                           SystemDictionary::is_platform_class_loader(loader);
-
-  stringStream ss;
-  ss.print("%s (instance of %s", name, loader->klass()->external_name());
-  if (!well_known_loader) {
-    oop pl = java_lang_ClassLoader::parent(loader);
-    ClassLoaderData *pl_cld = ClassLoaderData::class_loader_data(pl);
-    const char* parentName = pl_cld->loader_name_and_id();
-    if (pl != NULL) {
-      ss.print(", child of %s %s", parentName, pl->klass()->external_name());
-    } else {
-      // bootstrap loader
-      ss.print(", child of %s", parentName);
-    }
-  }
-  ss.print(")");
-
-  return ss.as_string();
-}
-
 // Support for java_lang_System
 //
 #define SYSTEM_FIELDS_DO(macro) \
--- a/src/hotspot/share/classfile/javaClasses.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/classfile/javaClasses.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1310,12 +1310,6 @@
   // Debugging
   friend class JavaClasses;
   friend class ClassFileParser; // access to number_of_fake_fields
-
-  // Describe ClassLoader for exceptions, tracing ...
-  // Prints "<name>" (instance of <classname>, child of "<name>" <classname>).
-  // If a classloader has no name, it prints <unnamed> instead. The output
-  // for well known loaders (system/platform) is abbreviated.
-  static const char* describe_external(const oop loader);
 };
 
 
--- a/src/hotspot/share/classfile/moduleEntry.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/classfile/moduleEntry.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -387,7 +387,8 @@
     entry->set_is_patched();
     if (log_is_enabled(Trace, module, patch)) {
       ResourceMark rm;
-      log_trace(module, patch)("Marked module %s as patched from --patch-module", name->as_C_string());
+      log_trace(module, patch)("Marked module %s as patched from --patch-module",
+                               name != NULL ? name->as_C_string() : UNNAMED_MODULE);
     }
   }
 
--- a/src/hotspot/share/classfile/systemDictionary.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/classfile/systemDictionary.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1364,18 +1364,18 @@
 
     // notify a class loaded from shared object
     ClassLoadingService::notify_class_loaded(ik, true /* shared class */);
-  }
-
-  ik->set_has_passed_fingerprint_check(false);
-  if (UseAOT && ik->supers_have_passed_fingerprint_checks()) {
-    uint64_t aot_fp = AOTLoader::get_saved_fingerprint(ik);
-    uint64_t cds_fp = ik->get_stored_fingerprint();
-    if (aot_fp != 0 && aot_fp == cds_fp) {
-      // This class matches with a class saved in an AOT library
-      ik->set_has_passed_fingerprint_check(true);
-    } else {
-      ResourceMark rm;
-      log_info(class, fingerprint)("%s :  expected = " PTR64_FORMAT " actual = " PTR64_FORMAT, ik->external_name(), aot_fp, cds_fp);
+
+    ik->set_has_passed_fingerprint_check(false);
+    if (UseAOT && ik->supers_have_passed_fingerprint_checks()) {
+      uint64_t aot_fp = AOTLoader::get_saved_fingerprint(ik);
+      uint64_t cds_fp = ik->get_stored_fingerprint();
+      if (aot_fp != 0 && aot_fp == cds_fp) {
+        // This class matches with a class saved in an AOT library
+        ik->set_has_passed_fingerprint_check(true);
+      } else {
+        ResourceMark rm;
+        log_info(class, fingerprint)("%s :  expected = " PTR64_FORMAT " actual = " PTR64_FORMAT, ik->external_name(), aot_fp, cds_fp);
+      }
     }
   }
   return ik;
@@ -2084,9 +2084,9 @@
       assert(check->is_instance_klass(), "noninstance in systemdictionary");
       if ((defining == true) || (k != check)) {
         throwException = true;
-        ss.print("loader %s", java_lang_ClassLoader::describe_external(class_loader()));
-        ss.print(" attempted duplicate %s definition for %s.",
-                 k->external_kind(), k->external_name());
+        ss.print("loader %s", loader_data->loader_name_and_id());
+        ss.print(" attempted duplicate %s definition for %s. (%s)",
+                 k->external_kind(), k->external_name(), k->class_in_module_of_loader(false, true));
       } else {
         return;
       }
@@ -2100,15 +2100,17 @@
     if (throwException == false) {
       if (constraints()->check_or_update(k, class_loader, name) == false) {
         throwException = true;
-        ss.print("loader constraint violation: loader %s",
-                 java_lang_ClassLoader::describe_external(class_loader()));
+        ss.print("loader constraint violation: loader %s", loader_data->loader_name_and_id());
         ss.print(" wants to load %s %s.",
                  k->external_kind(), k->external_name());
         Klass *existing_klass = constraints()->find_constrained_klass(name, class_loader);
         if (existing_klass->class_loader() != class_loader()) {
-          ss.print(" A different %s with the same name was previously loaded by %s.",
+          ss.print(" A different %s with the same name was previously loaded by %s. (%s)",
                    existing_klass->external_kind(),
-                   java_lang_ClassLoader::describe_external(existing_klass->class_loader()));
+                   existing_klass->class_loader_data()->loader_name_and_id(),
+                   existing_klass->class_in_module_of_loader(false, true));
+        } else {
+          ss.print(" (%s)", k->class_in_module_of_loader(false, true));
         }
       }
     }
--- a/src/hotspot/share/classfile/systemDictionaryShared.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/classfile/systemDictionaryShared.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -766,10 +766,11 @@
   SharedDictionaryEntry* entry = ((SharedDictionary*)(k->class_loader_data()->dictionary()))->find_entry_for(k);
   ResourceMark rm;
   // Lambda classes are not archived and will be regenerated at runtime.
-  if (entry == NULL && strstr(k->name()->as_C_string(), "Lambda$") != NULL) {
+  if (entry == NULL) {
+    guarantee(strstr(k->name()->as_C_string(), "Lambda$") != NULL,
+              "class should be in dictionary before being verified");
     return true;
   }
-  assert(entry != NULL, "class should be in dictionary before being verified");
   entry->add_verification_constraint(name, from_name, from_field_is_protected,
                                      from_is_array, from_is_object);
   if (entry->is_builtin()) {
--- a/src/hotspot/share/classfile/verifier.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/classfile/verifier.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -719,7 +719,8 @@
         ResourceMark rm(THREAD);
         LogStream ls(lt);
         current_frame.print_on(&ls);
-        lt.print("offset = %d,  opcode = %s", bci, Bytecodes::name(opcode));
+        lt.print("offset = %d,  opcode = %s", bci,
+                 opcode == Bytecodes::_illegal ? "illegal" : Bytecodes::name(opcode));
       }
 
       // Make sure wide instruction is in correct format
--- a/src/hotspot/share/code/codeCache.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/code/codeCache.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1363,22 +1363,22 @@
       const char *msg1 = msg1_stream.as_string();
       const char *msg2 = msg2_stream.as_string();
 
-      log_warning(codecache)(msg1);
-      log_warning(codecache)(msg2);
-      warning(msg1);
-      warning(msg2);
+      log_warning(codecache)("%s", msg1);
+      log_warning(codecache)("%s", msg2);
+      warning("%s", msg1);
+      warning("%s", msg2);
     } else {
       const char *msg1 = "CodeCache is full. Compiler has been disabled.";
       const char *msg2 = "Try increasing the code cache size using -XX:ReservedCodeCacheSize=";
 
-      log_warning(codecache)(msg1);
-      log_warning(codecache)(msg2);
-      warning(msg1);
-      warning(msg2);
+      log_warning(codecache)("%s", msg1);
+      log_warning(codecache)("%s", msg2);
+      warning("%s", msg1);
+      warning("%s", msg2);
     }
     ResourceMark rm;
     stringStream s;
-    // Dump code cache  into a buffer before locking the tty,
+    // Dump code cache into a buffer before locking the tty.
     {
       MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
       print_summary(&s);
--- a/src/hotspot/share/compiler/compileLog.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/compiler/compileLog.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * 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
@@ -217,14 +217,17 @@
       file->print_raw_cr("'>");
 
       size_t nr; // number read into buf from partial log
+      // In case of unsuccessful completion, read returns -1.
+      ssize_t bytes_read;
       // Copy data up to the end of the last <event> element:
       julong to_read = log->_file_end;
       while (to_read > 0) {
         if (to_read < (julong)buflen)
               nr = (size_t)to_read;
         else  nr = buflen;
-        nr = read(partial_fd, buf, (int)nr);
-        if (nr <= 0)  break;
+        bytes_read = read(partial_fd, buf, (int)nr);
+        if (bytes_read <= 0) break;
+        nr = bytes_read;
         to_read -= (julong)nr;
         file->write(buf, nr);
       }
@@ -232,7 +235,8 @@
       // Copy any remaining data inside a quote:
       bool saw_slop = false;
       int end_cdata = 0;  // state machine [0..2] watching for too many "]]"
-      while ((nr = read(partial_fd, buf, buflen-1)) > 0) {
+      while ((bytes_read = read(partial_fd, buf, buflen-1)) > 0) {
+        nr = bytes_read;
         buf[buflen-1] = '\0';
         if (!saw_slop) {
           file->print_raw_cr("<fragment>");
--- a/src/hotspot/share/compiler/disassembler.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/compiler/disassembler.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -23,6 +23,7 @@
  */
 
 #include "precompiled.hpp"
+#include "asm/macroAssembler.hpp"
 #include "ci/ciUtilities.hpp"
 #include "classfile/javaClasses.hpp"
 #include "code/codeCache.hpp"
@@ -36,6 +37,7 @@
 #include "runtime/os.hpp"
 #include "runtime/stubCodeGenerator.hpp"
 #include "runtime/stubRoutines.hpp"
+#include "utilities/resourceHash.hpp"
 #include CPU_HEADER(depChecker)
 
 void*       Disassembler::_library               = NULL;
@@ -49,7 +51,7 @@
 static const char decode_instructions_virtual_name[] = "decode_instructions_virtual";
 static const char decode_instructions_name[] = "decode_instructions";
 static bool use_new_version = true;
-#define COMMENT_COLUMN  40 LP64_ONLY(+8) /*could be an option*/
+#define COMMENT_COLUMN  52 LP64_ONLY(+8) /*could be an option*/
 #define BYTES_COMMENT   ";..."  /* funky byte display comment */
 
 bool Disassembler::load_library() {
@@ -122,7 +124,7 @@
     _decode_instructions_virtual = CAST_TO_FN_PTR(Disassembler::decode_func_virtual,
                                           os::dll_lookup(_library, decode_instructions_virtual_name));
   }
-  if (_decode_instructions_virtual == NULL) {
+  if (_decode_instructions_virtual == NULL && _library != NULL) {
     // could not spot in new version, try old version
     _decode_instructions = CAST_TO_FN_PTR(Disassembler::decode_func,
                                           os::dll_lookup(_library, decode_instructions_name));
@@ -163,6 +165,7 @@
   bool          _print_bytes;
   address       _cur_insn;
   int           _bytes_per_line; // arch-specific formatting option
+  bool          _print_file_name;
 
   static bool match(const char* event, const char* tag) {
     size_t taglen = strlen(tag);
@@ -191,6 +194,51 @@
   void print_insn_bytes(address pc0, address pc);
   void print_address(address value);
 
+  struct SourceFileInfo {
+    struct Link : public CHeapObj<mtCode> {
+      const char* file;
+      int line;
+      Link* next;
+      Link(const char* f, int l) : file(f), line(l), next(NULL) {}
+    };
+    Link *head, *tail;
+
+    static unsigned hash(const address& a) {
+      return primitive_hash<address>(a);
+    }
+    static bool equals(const address& a0, const address& a1) {
+      return primitive_equals<address>(a0, a1);
+    }
+    void append(const char* file, int line) {
+      if (tail != NULL && tail->file == file && tail->line == line) {
+        // Don't print duplicated lines at the same address. This could happen with C
+        // macros that end up having multiple "__" tokens on the same __LINE__.
+        return;
+      }
+      Link *link = new Link(file, line);
+      if (head == NULL) {
+        head = tail = link;
+      } else {
+        tail->next = link;
+        tail = link;
+      }
+    }
+    SourceFileInfo(const char* file, int line) : head(NULL), tail(NULL) {
+      append(file, line);
+    }
+  };
+
+  typedef ResourceHashtable<
+      address, SourceFileInfo,
+      SourceFileInfo::hash,
+      SourceFileInfo::equals,
+      15889,      // prime number
+      ResourceObj::C_HEAP> SourceFileInfoTable;
+
+  static SourceFileInfoTable _src_table;
+  static const char* _cached_src;
+  static GrowableArray<const char*>* _cached_src_lines;
+
  public:
   decode_env(CodeBlob* code, outputStream* output,
              CodeStrings c = CodeStrings(), ptrdiff_t offset = 0);
@@ -212,6 +260,7 @@
       _nm->print_code_comment_on(st, COMMENT_COLUMN, pc0, pc);
       // this calls reloc_string_for which calls oop::print_value_on
     }
+    print_hook_comments(pc0, _nm != NULL);
     // follow each complete insn by a nice newline
     st->cr();
   }
@@ -221,8 +270,96 @@
   outputStream* output() { return _output; }
   address cur_insn() { return _cur_insn; }
   const char* options() { return _option_buf; }
+  static void hook(const char* file, int line, address pc);
+  void print_hook_comments(address pc, bool newline);
 };
 
+decode_env::SourceFileInfoTable decode_env::_src_table;
+const char* decode_env::_cached_src = NULL;
+GrowableArray<const char*>* decode_env::_cached_src_lines = NULL;
+
+void decode_env::hook(const char* file, int line, address pc) {
+  // For simplication, we never free from this table. It's really not
+  // necessary as we add to the table only when PrintInterpreter is true,
+  // which means we are debugging the VM and a little bit of extra
+  // memory usage doesn't matter.
+  SourceFileInfo* found = _src_table.get(pc);
+  if (found != NULL) {
+    found->append(file, line);
+  } else {
+    SourceFileInfo sfi(file, line);
+    _src_table.put(pc, sfi); // sfi is copied by value
+  }
+}
+
+void decode_env::print_hook_comments(address pc, bool newline) {
+  SourceFileInfo* found = _src_table.get(pc);
+  outputStream* st = output();
+  if (found != NULL) {
+    for (SourceFileInfo::Link *link = found->head; link; link = link->next) {
+      const char* file = link->file;
+      int line = link->line;
+      if (_cached_src == NULL || strcmp(_cached_src, file) != 0) {
+        FILE* fp;
+
+        // _cached_src_lines is a single cache of the lines of a source file, and we refill this cache
+        // every time we need to print a line from a different source file. It's not the fastest,
+        // but seems bearable.
+        if (_cached_src_lines != NULL) {
+          for (int i=0; i<_cached_src_lines->length(); i++) {
+            os::free((void*)_cached_src_lines->at(i));
+          }
+          _cached_src_lines->clear();
+        } else {
+          _cached_src_lines = new (ResourceObj::C_HEAP, mtCode)GrowableArray<const char*>(0, true);
+        }
+
+        if ((fp = fopen(file, "r")) == NULL) {
+          _cached_src = NULL;
+          return;
+        }
+        _cached_src = file;
+
+        char line[500]; // don't write lines that are too long in your source files!
+        while (fgets(line, sizeof(line), fp) != NULL) {
+          size_t len = strlen(line);
+          if (len > 0 && line[len-1] == '\n') {
+            line[len-1] = '\0';
+          }
+          _cached_src_lines->append(os::strdup(line));
+        }
+        fclose(fp);
+        _print_file_name = true;
+      }
+
+      if (_print_file_name) {
+        // We print the file name whenever we switch to a new file, or when
+        // Disassembler::decode is called to disassemble a new block of code.
+        _print_file_name = false;
+        if (newline) {
+          st->cr();
+        }
+        st->move_to(COMMENT_COLUMN);
+        st->print(";;@FILE: %s", file);
+        newline = true;
+      }
+
+      int index = line - 1; // 1-based line number -> 0-based index.
+      if (index >= _cached_src_lines->length()) {
+        // This could happen if source file is mismatched.
+      } else {
+        const char* source_line = _cached_src_lines->at(index);
+        if (newline) {
+          st->cr();
+        }
+        st->move_to(COMMENT_COLUMN);
+        st->print(";;%5d: %s", line, source_line);
+        newline = true;
+      }
+    }
+  }
+}
+
 decode_env::decode_env(CodeBlob* code, outputStream* output, CodeStrings c,
                        ptrdiff_t offset) {
   memset(this, 0, sizeof(*this)); // Beware, this zeroes bits of fields.
@@ -237,6 +374,7 @@
   _print_pc       = true;
   _print_bytes    = false;
   _bytes_per_line = Disassembler::pd_instruction_alignment();
+  _print_file_name= true;
 
   // parse the global option string:
   collect_options(Disassembler::pd_cpu_opts());
@@ -558,3 +696,9 @@
 
   env.decode_instructions(p, end);
 }
+
+// To prevent excessive code expansion in the interpreter generator, we
+// do not inline this function into Disassembler::hook().
+void Disassembler::_hook(const char* file, int line, MacroAssembler* masm) {
+  decode_env::hook(file, line, masm->code_section()->end());
+}
--- a/src/hotspot/share/compiler/disassembler.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/compiler/disassembler.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -77,6 +77,17 @@
   static void decode(nmethod* nm,                outputStream* st = NULL);
   static void decode(address begin, address end, outputStream* st = NULL,
                      CodeStrings c = CodeStrings(), ptrdiff_t offset = 0);
+  static void _hook(const char* file, int line, class MacroAssembler* masm);
+
+  // This functions makes it easy to generate comments in the generated
+  // interpreter code, by riding on the customary __ macro in the interpreter generator.
+  // See templateTable_x86.cpp for an example.
+  template<class T> inline static T* hook(const char* file, int line, T* masm) {
+    if (PrintInterpreter) {
+      _hook(file, line, masm);
+    }
+    return masm;
+  }
 };
 
 #endif // SHARE_VM_COMPILER_DISASSEMBLER_HPP
--- a/src/hotspot/share/compiler/methodLiveness.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/compiler/methodLiveness.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, 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
@@ -484,7 +484,7 @@
     while (block == NULL && t > 0) {
      block = _block_map->at(--t);
     }
-    assert( block != NULL, "invalid bytecode index; must be instruction index" );
+    guarantee(block != NULL, "invalid bytecode index; must be instruction index");
     assert(bci >= block->start_bci() && bci < block->limit_bci(), "block must contain bci.");
 
     answer = block->get_liveness_at(method(), bci);
--- a/src/hotspot/share/compiler/oopMap.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/compiler/oopMap.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -571,14 +571,14 @@
 
 const ImmutableOopMap* ImmutableOopMapSet::find_map_at_offset(int pc_offset) const {
   ImmutableOopMapPair* pairs = get_pairs();
-  ImmutableOopMapPair* last = NULL;
 
-  for (int i = 0; i < _count; ++i) {
+  int i;
+  for (i = 0; i < _count; ++i) {
     if (pairs[i].pc_offset() >= pc_offset) {
-      last = &pairs[i];
       break;
     }
   }
+  ImmutableOopMapPair* last = &pairs[i];
 
   assert(last->pc_offset() == pc_offset, "oopmap not found");
   return last->get_from(this);
--- a/src/hotspot/share/interpreter/bytecodeInterpreter.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/interpreter/bytecodeInterpreter.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -494,13 +494,13 @@
   interpreterState orig = istate;
 #endif
 
-  register intptr_t*        topOfStack = (intptr_t *)istate->stack(); /* access with STACK macros */
-  register address          pc = istate->bcp();
-  register jubyte opcode;
-  register intptr_t*        locals = istate->locals();
-  register ConstantPoolCache*    cp = istate->constants(); // method()->constants()->cache()
+  intptr_t*        topOfStack = (intptr_t *)istate->stack(); /* access with STACK macros */
+  address          pc = istate->bcp();
+  jubyte opcode;
+  intptr_t*        locals = istate->locals();
+  ConstantPoolCache*    cp = istate->constants(); // method()->constants()->cache()
 #ifdef LOTS_OF_REGS
-  register JavaThread*      THREAD = istate->thread();
+  JavaThread*      THREAD = istate->thread();
 #else
 #undef THREAD
 #define THREAD istate->thread()
@@ -589,7 +589,7 @@
 /* 0xF8 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
 /* 0xFC */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default
   };
-  register uintptr_t *dispatch_table = (uintptr_t*)&opclabels_data[0];
+  uintptr_t *dispatch_table = (uintptr_t*)&opclabels_data[0];
 #endif /* USELABELS */
 
 #ifdef ASSERT
--- a/src/hotspot/share/interpreter/linkResolver.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/interpreter/linkResolver.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -669,23 +669,28 @@
     SystemDictionary::check_signature_loaders(link_info.signature(), current_loader,
                                               resolved_loader, true, CHECK);
   if (failed_type_symbol != NULL) {
-    const char* msg = "loader constraint violation: when resolving %s"
-      " \"%s\" the class loader %s of the current class, %s,"
-      " and the class loader %s for the method's defining class, %s, have"
-      " different Class objects for the type %s used in the signature";
-    char* sig = link_info.method_string();
-    const char* loader1_name = java_lang_ClassLoader::describe_external(current_loader());
-    char* current = link_info.current_klass()->name()->as_C_string();
-    const char* loader2_name = java_lang_ClassLoader::describe_external(resolved_loader());
-    char* target = resolved_method->method_holder()->name()->as_C_string();
-    char* failed_type_name = failed_type_symbol->as_C_string();
-    size_t buflen = strlen(msg) + strlen(sig) + strlen(loader1_name) +
-      strlen(current) + strlen(loader2_name) + strlen(target) +
-      strlen(failed_type_name) + strlen(method_type) + 1;
-    char* buf = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, buflen);
-    jio_snprintf(buf, buflen, msg, method_type, sig, loader1_name, current, loader2_name,
-                 target, failed_type_name);
-    THROW_MSG(vmSymbols::java_lang_LinkageError(), buf);
+    Klass* current_class = link_info.current_klass();
+    ClassLoaderData* current_loader_data = current_class->class_loader_data();
+    assert(current_loader_data != NULL, "current class has no class loader data");
+    Klass* resolved_method_class = resolved_method->method_holder();
+    ClassLoaderData* target_loader_data = resolved_method_class->class_loader_data();
+    assert(target_loader_data != NULL, "resolved method's class has no class loader data");
+
+    stringStream ss;
+    ss.print("loader constraint violation: when resolving %s"
+             " \"%s\" the class loader %s of the current class, %s,"
+             " and the class loader %s for the method's defining class, %s, have"
+             " different Class objects for the type %s used in the signature (%s; %s)",
+             method_type,
+             link_info.method_string(),
+             current_loader_data->loader_name_and_id(),
+             current_class->name()->as_C_string(),
+             target_loader_data->loader_name_and_id(),
+             resolved_method_class->name()->as_C_string(),
+             failed_type_symbol->as_C_string(),
+             current_class->class_in_module_of_loader(false, true),
+             resolved_method_class->class_in_module_of_loader(false, true));
+    THROW_MSG(vmSymbols::java_lang_LinkageError(), ss.as_string());
   }
 }
 
@@ -702,23 +707,23 @@
                                               false,
                                               CHECK);
   if (failed_type_symbol != NULL) {
-    const char* msg = "loader constraint violation: when resolving field"
-      " \"%s\" of type %s, the class loader %s of the current class, "
-      "%s, and the class loader %s for the field's defining "
-      "type, %s, have different Class objects for type %s";
-    const char* field_name = field->as_C_string();
-    const char* loader1_name = java_lang_ClassLoader::describe_external(ref_loader());
-    const char* sel = sel_klass->external_name();
-    const char* loader2_name = java_lang_ClassLoader::describe_external(sel_loader());
+    stringStream ss;
     const char* failed_type_name = failed_type_symbol->as_klass_external_name();
-    const char* curr_klass_name = current_klass->external_name();
-    size_t buflen = strlen(msg) + strlen(field_name) + 2 * strlen(failed_type_name) +
-                    strlen(loader1_name) + strlen(curr_klass_name) +
-                    strlen(loader2_name) + strlen(sel) + 1;
-    char* buf = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, buflen);
-    jio_snprintf(buf, buflen, msg, field_name, failed_type_name, loader1_name,
-                 curr_klass_name, loader2_name, sel, failed_type_name);
-    THROW_MSG(vmSymbols::java_lang_LinkageError(), buf);
+
+    ss.print("loader constraint violation: when resolving field"
+             " \"%s\" of type %s, the class loader %s of the current class, "
+             "%s, and the class loader %s for the field's defining "
+             "type, %s, have different Class objects for type %s (%s; %s)",
+             field->as_C_string(),
+             failed_type_name,
+             current_klass->class_loader_data()->loader_name_and_id(),
+             current_klass->external_name(),
+             sel_klass->class_loader_data()->loader_name_and_id(),
+             sel_klass->external_name(),
+             failed_type_name,
+             current_klass->class_in_module_of_loader(false, true),
+             sel_klass->class_in_module_of_loader(false, true));
+    THROW_MSG(vmSymbols::java_lang_LinkageError(), ss.as_string());
   }
 }
 
--- a/src/hotspot/share/interpreter/templateInterpreterGenerator.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/interpreter/templateInterpreterGenerator.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -23,6 +23,7 @@
  */
 
 #include "precompiled.hpp"
+#include "compiler/disassembler.hpp"
 #include "interpreter/interpreter.hpp"
 #include "interpreter/interpreterRuntime.hpp"
 #include "interpreter/interp_masm.hpp"
@@ -33,7 +34,7 @@
 
 #ifndef CC_INTERP
 
-# define __ _masm->
+#define __ Disassembler::hook<InterpreterMacroAssembler>(__FILE__, __LINE__, _masm)->
 
 TemplateInterpreterGenerator::TemplateInterpreterGenerator(StubQueue* _code): AbstractInterpreterGenerator(_code) {
   _unimplemented_bytecode    = NULL;
--- a/src/hotspot/share/jvmci/jvmciCodeInstaller.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/jvmci/jvmciCodeInstaller.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -236,6 +236,8 @@
 
   JVMCIKlassHandle klass(THREAD);
   oop result = NULL;
+  guarantee(h != NULL,
+            "If DebugInformationRecorder::describe_scope passes NULL oldCount == newCount must hold.");
   if (h->is_klass()) {
     klass = (Klass*) h;
     result = CompilerToVM::get_jvmci_type(klass, CATCH);
--- a/src/hotspot/share/jvmci/jvmciCompilerToVM.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/jvmci/jvmciCompilerToVM.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -349,7 +349,9 @@
     klass = *((Klass**) (intptr_t) (base_address + offset));
   } else {
     THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(),
-                err_msg("Unexpected arguments: %s " JLONG_FORMAT " %s", base_object->klass()->external_name(), offset, compressed ? "true" : "false"));
+                err_msg("Unexpected arguments: %s " JLONG_FORMAT " %s",
+                        base_object != NULL ? base_object->klass()->external_name() : "null",
+                        offset, compressed ? "true" : "false"));
   }
   assert (klass == NULL || klass->is_klass(), "invalid read");
   oop result = CompilerToVM::get_jvmci_type(klass, CHECK_NULL);
--- a/src/hotspot/share/libadt/dict.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/libadt/dict.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -305,9 +305,9 @@
 // limited to MAXID characters in length.  Experimental evidence on 150K of
 // C text shows excellent spreading of values for any size hash table.
 int hashstr(const void *t) {
-  register char c, k = 0;
-  register int32_t sum = 0;
-  register const char *s = (const char *)t;
+  char c, k = 0;
+  int32_t sum = 0;
+  const char *s = (const char *)t;
 
   while( ((c = *s++) != '\0') && (k < MAXID-1) ) { // Get characters till null or MAXID-1
     c = (c<<1)+1;               // Characters are always odd!
--- a/src/hotspot/share/libadt/set.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/libadt/set.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -64,7 +64,7 @@
   uint len = 128;               // Total string space
   char *buf = NEW_C_HEAP_ARRAY(char,len, mtCompiler);// Some initial string space
 
-  register char *s = buf;       // Current working string pointer
+  char *s = buf;                // Current working string pointer
   *s++ = '{';
   *s = '\0';
 
@@ -116,8 +116,8 @@
 // Set.  Return the amount of text parsed in "len", or zero in "len".
 int Set::parse(const char *s)
 {
-  register char c;              // Parse character
-  register const char *t = s;   // Save the starting position of s.
+  char c;                       // Parse character
+  const char *t = s;            // Save the starting position of s.
   do c = *s++;                  // Skip characters
   while( c && (c <= ' ') );     // Till no more whitespace or EOS
   if( c != '{' ) return 0;      // Oops, not a Set openner
--- a/src/hotspot/share/libadt/vectset.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/libadt/vectset.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -101,8 +101,8 @@
 // Insert a member into an existing Set.
 Set &VectorSet::operator <<= (uint elem)
 {
-  register uint word = elem >> 5;            // Get the longword offset
-  register uint32_t mask = 1L << (elem & 31);  // Get bit mask
+  uint word = elem >> 5;            // Get the longword offset
+  uint32_t mask = 1L << (elem & 31);  // Get bit mask
 
   if( word >= size )            // Need to grow set?
     grow(elem+1);               // Then grow it
@@ -114,10 +114,10 @@
 // Delete a member from an existing Set.
 Set &VectorSet::operator >>= (uint elem)
 {
-  register uint word = elem >> 5; // Get the longword offset
+  uint word = elem >> 5;          // Get the longword offset
   if( word >= size )              // Beyond the last?
     return *this;                 // Then it's clear & return clear
-  register uint32_t mask = 1L << (elem & 31);     // Get bit mask
+  uint32_t mask = 1L << (elem & 31);     // Get bit mask
   data[word] &= ~mask;            // Clear bit
   return *this;
 }
@@ -128,8 +128,8 @@
 {
   // NOTE: The intersection is never any larger than the smallest set.
   if( s.size < size ) size = s.size; // Get smaller size
-  register uint32_t *u1 = data;   // Pointer to the destination data
-  register uint32_t *u2 = s.data; // Pointer to the source data
+  uint32_t *u1 = data;          // Pointer to the destination data
+  uint32_t *u2 = s.data;        // Pointer to the source data
   for( uint i=0; i<size; i++)   // For data in set
     *u1++ &= *u2++;             // Copy and AND longwords
   return *this;                 // Return set
@@ -147,9 +147,9 @@
 VectorSet &VectorSet::operator |= (const VectorSet &s)
 {
   // This many words must be unioned
-  register uint cnt = ((size<s.size)?size:s.size);
-  register uint32_t *u1 = data;   // Pointer to the destination data
-  register uint32_t *u2 = s.data; // Pointer to the source data
+  uint cnt = ((size<s.size)?size:s.size);
+  uint32_t *u1 = data;          // Pointer to the destination data
+  uint32_t *u2 = s.data;        // Pointer to the source data
   for( uint i=0; i<cnt; i++)    // Copy and OR the two sets
     *u1++ |= *u2++;
   if( size < s.size ) {         // Is set 2 larger than set 1?
@@ -172,9 +172,9 @@
 VectorSet &VectorSet::operator -= (const VectorSet &s)
 {
   // This many words must be unioned
-  register uint cnt = ((size<s.size)?size:s.size);
-  register uint32_t *u1 = data;   // Pointer to the destination data
-  register uint32_t *u2 = s.data; // Pointer to the source data
+  uint cnt = ((size<s.size)?size:s.size);
+  uint32_t *u1 = data;          // Pointer to the destination data
+  uint32_t *u2 = s.data;        // Pointer to the source data
   for( uint i=0; i<cnt; i++ )   // For data in set
     *u1++ &= ~(*u2++);          // A <-- A & ~B  with longwords
   return *this;                 // Return new set
@@ -195,17 +195,17 @@
 //        1X --  B is a subset of A
 int VectorSet::compare (const VectorSet &s) const
 {
-  register uint32_t *u1 = data;   // Pointer to the destination data
-  register uint32_t *u2 = s.data; // Pointer to the source data
-  register uint32_t AnotB = 0, BnotA = 0;
+  uint32_t *u1 = data;          // Pointer to the destination data
+  uint32_t *u2 = s.data;        // Pointer to the source data
+  uint32_t AnotB = 0, BnotA = 0;
   // This many words must be unioned
-  register uint cnt = ((size<s.size)?size:s.size);
+  uint cnt = ((size<s.size)?size:s.size);
 
   // Get bits for both sets
   uint i;                       // Exit value of loop
   for( i=0; i<cnt; i++ ) {      // For data in BOTH sets
-    register uint32_t A = *u1++;  // Data from one guy
-    register uint32_t B = *u2++;  // Data from other guy
+    uint32_t A = *u1++;         // Data from one guy
+    uint32_t B = *u2++;         // Data from other guy
     AnotB |= (A & ~B);          // Compute bits in A not B
     BnotA |= (B & ~A);          // Compute bits in B not A
   }
@@ -245,9 +245,9 @@
   const VectorSet &s = *(set.asVectorSet());
 
   // NOTE: The intersection is never any larger than the smallest set.
-  register uint small_size = ((size<s.size)?size:s.size);
-  register uint32_t *u1 = data;        // Pointer to the destination data
-  register uint32_t *u2 = s.data;      // Pointer to the source data
+  uint small_size = ((size<s.size)?size:s.size);
+  uint32_t *u1 = data;               // Pointer to the destination data
+  uint32_t *u2 = s.data;             // Pointer to the source data
   for( uint i=0; i<small_size; i++)  // For data in set
     if( *u1++ & *u2++ )              // If any elements in common
       return 0;                      // Then not disjoint
@@ -286,11 +286,11 @@
 // Test for membership.  A Zero/Non-Zero value is returned!
 int VectorSet::operator[](uint elem) const
 {
-  register uint word = elem >> 5; // Get the longword offset
-  if( word >= size )              // Beyond the last?
-    return 0;                     // Then it's clear
-  register uint32_t mask = 1L << (elem & 31);  // Get bit mask
-  return ((data[word] & mask))!=0;           // Return the sense of the bit
+  uint word = elem >> 5;              // Get the longword offset
+  if( word >= size )                  // Beyond the last?
+    return 0;                         // Then it's clear
+  uint32_t mask = 1L << (elem & 31);  // Get bit mask
+  return ((data[word] & mask))!=0;    // Return the sense of the bit
 }
 
 //------------------------------getelem----------------------------------------
--- a/src/hotspot/share/logging/logOutput.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/logging/logOutput.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -262,7 +262,9 @@
   while (n_deviates > 0) {
     size_t prev_deviates = n_deviates;
     int max_score = 0;
-    const LogSelection* best_selection = NULL;
+
+    guarantee(n_selections > 0, "Cannot find maximal selection.");
+    const LogSelection* best_selection = &selections[0];
     for (size_t i = 0; i < n_selections; i++) {
 
       // Give the selection a score based on how many deviating tag sets it selects (with correct level)
@@ -287,13 +289,12 @@
 
       // Pick the selection with the best score, or in the case of a tie, the one with fewest tags
       if (score > max_score ||
-          (score == max_score && best_selection != NULL && selections[i].ntags() < best_selection->ntags())) {
+          (score == max_score && selections[i].ntags() < best_selection->ntags())) {
         max_score = score;
         best_selection = &selections[i];
       }
     }
 
-    assert(best_selection != NULL, "must always find a maximal selection");
     add_to_config_string(*best_selection);
 
     // Remove all deviates that this selection covered
--- a/src/hotspot/share/memory/arena.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/memory/arena.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -335,7 +335,7 @@
 // Total of all Chunks in arena
 size_t Arena::used() const {
   size_t sum = _chunk->length() - (_max-_hwm); // Size leftover in this Chunk
-  register Chunk *k = _first;
+  Chunk *k = _first;
   while( k != _chunk) {         // Whilst have Chunks in a row
     sum += k->length();         // Total size of this Chunk
     k = k->next();              // Bump along to next Chunk
--- a/src/hotspot/share/memory/filemap.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/memory/filemap.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -631,7 +631,9 @@
   si->_read_only = read_only;
   si->_allow_exec = allow_exec;
   si->_crc = ClassLoader::crc32(0, base, (jint)size);
-  write_bytes_aligned(base, (int)size);
+  if (base != NULL) {
+    write_bytes_aligned(base, (int)size);
+  }
 }
 
 // Write out the given archive heap memory regions.  GC code combines multiple
--- a/src/hotspot/share/memory/metaspace.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/memory/metaspace.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1260,7 +1260,9 @@
       tty->print_cr("Please increase MaxMetaspaceSize (currently " SIZE_FORMAT " bytes).", MaxMetaspaceSize);
       vm_exit(1);
     }
-    report_metadata_oome(loader_data, word_size, type, mdtype, CHECK_NULL);
+    report_metadata_oome(loader_data, word_size, type, mdtype, THREAD);
+    assert(HAS_PENDING_EXCEPTION, "sanity");
+    return NULL;
   }
 
   // Zero initialize.
--- a/src/hotspot/share/memory/virtualspace.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/memory/virtualspace.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -70,6 +70,18 @@
   initialize(size, alignment, large, NULL, executable);
 }
 
+ReservedSpace::ReservedSpace(char* base, size_t size, size_t alignment,
+                             bool special, bool executable) : _fd_for_heap(-1) {
+  assert((size % os::vm_allocation_granularity()) == 0,
+         "size not allocation aligned");
+  _base = base;
+  _size = size;
+  _alignment = alignment;
+  _noaccess_prefix = 0;
+  _special = special;
+  _executable = executable;
+}
+
 // Helper method
 static void unmap_or_release_memory(char* base, size_t size, bool is_file_mapped) {
   if (is_file_mapped) {
@@ -218,20 +230,6 @@
   }
 }
 
-
-ReservedSpace::ReservedSpace(char* base, size_t size, size_t alignment,
-                             bool special, bool executable) {
-  assert((size % os::vm_allocation_granularity()) == 0,
-         "size not allocation aligned");
-  _base = base;
-  _size = size;
-  _alignment = alignment;
-  _noaccess_prefix = 0;
-  _special = special;
-  _executable = executable;
-}
-
-
 ReservedSpace ReservedSpace::first_part(size_t partition_size, size_t alignment,
                                         bool split, bool realloc) {
   assert(partition_size <= size(), "partition failed");
--- a/src/hotspot/share/oops/arrayKlass.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/oops/arrayKlass.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -100,7 +100,6 @@
 // Initialization of vtables and mirror object is done separatly from base_create_array_klass,
 // since a GC can happen. At this point all instance variables of the ArrayKlass must be setup.
 void ArrayKlass::complete_create_array_klass(ArrayKlass* k, Klass* super_klass, ModuleEntry* module_entry, TRAPS) {
-  ResourceMark rm(THREAD);
   k->initialize_supers(super_klass, NULL, CHECK);
   k->vtable().initialize_vtable(false, CHECK);
 
--- a/src/hotspot/share/oops/instanceKlass.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/oops/instanceKlass.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -821,7 +821,6 @@
       ClassLoaderData * loader_data = class_loader_data();
       if (!(is_shared() &&
             loader_data->is_the_null_class_loader_data())) {
-        ResourceMark rm(THREAD);
         vtable().initialize_vtable(true, CHECK_false);
         itable().initialize_itable(true, CHECK_false);
       }
@@ -2326,7 +2325,6 @@
     // point to old or obsolete entries.  RedefineClasses doesn't fix up
     // vtables in the shared system dictionary, only the main one.
     // It also redefines the itable too so fix that too.
-    ResourceMark rm(THREAD);
     vtable().initialize_vtable(false, CHECK);
     itable().initialize_itable(false, CHECK);
   }
--- a/src/hotspot/share/oops/klassVtable.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/oops/klassVtable.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -257,7 +257,7 @@
     // Interfaces do not need interface methods in their vtables
     // This includes miranda methods and during later processing, default methods
     if (!ik()->is_interface()) {
-      initialized = fill_in_mirandas(initialized);
+      initialized = fill_in_mirandas(initialized, THREAD);
     }
 
     // In class hierarchies where the accessibility is not increasing (i.e., going from private ->
@@ -364,7 +364,7 @@
 bool klassVtable::update_inherited_vtable(InstanceKlass* klass, const methodHandle& target_method,
                                           int super_vtable_len, int default_index,
                                           bool checkconstraints, TRAPS) {
-  ResourceMark rm;
+  ResourceMark rm(THREAD);
   bool allocate_new = true;
   assert(klass->is_instance_klass(), "must be InstanceKlass");
 
@@ -506,24 +506,21 @@
                                                         super_loader, true,
                                                         CHECK_(false));
             if (failed_type_symbol != NULL) {
-              const char* msg = "loader constraint violation for class %s: when selecting "
-                "overriding method %s the class loader %s of the "
-                "selected method's type %s, and the class loader %s for its super "
-                "type %s have different Class objects for the type %s used in the signature";
-              const char* curr_class = klass->external_name();
-              const char* method = target_method()->name_and_sig_as_C_string();
-              const char* loader1 = java_lang_ClassLoader::describe_external(target_loader());
-              const char* sel_class = target_klass->external_name();
-              const char* loader2 = java_lang_ClassLoader::describe_external(super_loader());
-              const char* super_class = super_klass->external_name();
-              const char* failed_type_name = failed_type_symbol->as_klass_external_name();
-              size_t buflen = strlen(msg) + strlen(curr_class) + strlen(method) +
-                strlen(loader1) + strlen(sel_class) + strlen(loader2) +
-                strlen(super_class) + strlen(failed_type_name);
-              char* buf = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, buflen);
-              jio_snprintf(buf, buflen, msg, curr_class, method, loader1, sel_class, loader2,
-                           super_class, failed_type_name);
-              THROW_MSG_(vmSymbols::java_lang_LinkageError(), buf, false);
+              stringStream ss;
+              ss.print("loader constraint violation for class %s: when selecting "
+                       "overriding method %s the class loader %s of the "
+                       "selected method's type %s, and the class loader %s for its super "
+                       "type %s have different Class objects for the type %s used in the signature (%s; %s)",
+                       klass->external_name(),
+                       target_method()->name_and_sig_as_C_string(),
+                       target_klass->class_loader_data()->loader_name_and_id(),
+                       target_klass->external_name(),
+                       super_klass->class_loader_data()->loader_name_and_id(),
+                       super_klass->external_name(),
+                       failed_type_symbol->as_klass_external_name(),
+                       target_klass->class_in_module_of_loader(false, true),
+                       super_klass->class_in_module_of_loader(false, true));
+              THROW_MSG_(vmSymbols::java_lang_LinkageError(), ss.as_string(), false);
             }
           }
         }
@@ -902,7 +899,8 @@
 // return the new value of initialized.
 // Miranda methods use vtable entries, but do not get assigned a vtable_index
 // The vtable_index is discovered by searching from the end of the vtable
-int klassVtable::fill_in_mirandas(int initialized) {
+int klassVtable::fill_in_mirandas(int initialized, TRAPS) {
+  ResourceMark rm(THREAD);
   GrowableArray<Method*> mirandas(20);
   get_mirandas(&mirandas, NULL, ik()->super(), ik()->methods(),
                ik()->default_methods(), ik()->local_interfaces(),
@@ -910,7 +908,6 @@
   for (int i = 0; i < mirandas.length(); i++) {
     if (log_develop_is_enabled(Trace, vtables)) {
       Method* meth = mirandas.at(i);
-      ResourceMark rm(Thread::current());
       LogTarget(Trace, vtables) lt;
       LogStream ls(lt);
       if (meth != NULL) {
@@ -1085,7 +1082,7 @@
   if (_klass->is_interface()) {
     // This needs to go after vtable indices are assigned but
     // before implementors need to know the number of itable indices.
-    assign_itable_indices_for_interface(_klass);
+    assign_itable_indices_for_interface(_klass, THREAD);
   }
 
   // Cannot be setup doing bootstrapping, interfaces don't have
@@ -1098,6 +1095,7 @@
   guarantee(size_offset_table() >= 1, "too small");
   int num_interfaces = size_offset_table() - 1;
   if (num_interfaces > 0) {
+    ResourceMark rm(THREAD);
     log_develop_debug(itables)("%3d: Initializing itables for %s", ++initialize_count,
                        _klass->name()->as_C_string());
 
@@ -1130,8 +1128,9 @@
   return true;
 }
 
-int klassItable::assign_itable_indices_for_interface(Klass* klass) {
+int klassItable::assign_itable_indices_for_interface(Klass* klass, TRAPS) {
   // an interface does not have an itable, but its methods need to be numbered
+  ResourceMark rm(THREAD);
   log_develop_debug(itables)("%3d: Initializing itable indices for interface %s",
                              ++initialize_count, klass->name()->as_C_string());
   Array<Method*>* methods = InstanceKlass::cast(klass)->methods();
@@ -1143,7 +1142,6 @@
       assert(!m->is_final_method(), "no final interface methods");
       // If m is already assigned a vtable index, do not disturb it.
       if (log_develop_is_enabled(Trace, itables)) {
-        ResourceMark rm;
         LogTarget(Trace, itables) lt;
         LogStream ls(lt);
         assert(m != NULL, "methods can never be null");
@@ -1241,25 +1239,22 @@
                                                       interface_loader,
                                                       true, CHECK);
           if (failed_type_symbol != NULL) {
-            const char* msg = "loader constraint violation in interface itable"
-              " initialization for class %s: when selecting method %s the"
-              " class loader %s for super interface %s, and the class"
-              " loader %s of the selected method's type, %s have"
-              " different Class objects for the type %s used in the signature";
-            const char* current = _klass->external_name();
-            const char* sig = m->name_and_sig_as_C_string();
-            const char* loader1 = java_lang_ClassLoader::describe_external(interface_loader());
-            const char* iface = InstanceKlass::cast(interf)->external_name();
-            const char* loader2 = java_lang_ClassLoader::describe_external(method_holder_loader());
-            const char* mclass = target()->method_holder()->external_name();
-            const char* failed_type_name = failed_type_symbol->as_klass_external_name();
-            size_t buflen = strlen(msg) + strlen(current) + strlen(sig) +
-              strlen(loader1) + strlen(iface) + strlen(loader2) + strlen(mclass) +
-              strlen(failed_type_name);
-            char* buf = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, buflen);
-            jio_snprintf(buf, buflen, msg, current, sig, loader1, iface,
-                         loader2, mclass, failed_type_name);
-            THROW_MSG(vmSymbols::java_lang_LinkageError(), buf);
+            stringStream ss;
+            ss.print("loader constraint violation in interface itable"
+                     " initialization for class %s: when selecting method %s the"
+                     " class loader %s for super interface %s, and the class"
+                     " loader %s of the selected method's type, %s have"
+                     " different Class objects for the type %s used in the signature (%s; %s)",
+                     _klass->external_name(),
+                     m->name_and_sig_as_C_string(),
+                     interf->class_loader_data()->loader_name_and_id(),
+                     interf->external_name(),
+                     target()->method_holder()->class_loader_data()->loader_name_and_id(),
+                     target()->method_holder()->external_name(),
+                     failed_type_symbol->as_klass_external_name(),
+                     interf->class_in_module_of_loader(false, true),
+                     target()->method_holder()->class_in_module_of_loader(false, true));
+            THROW_MSG(vmSymbols::java_lang_LinkageError(), ss.as_string());
           }
         }
       }
@@ -1507,6 +1502,7 @@
   oop* end_of_obj = (oop*)_klass + _klass->size();
   oop* end_of_vtable = (oop *)&table()[_length];
   if (end_of_vtable > end_of_obj) {
+    ResourceMark rm;
     fatal("klass %s: klass object too short (vtable extends beyond end)",
           _klass->internal_name());
   }
--- a/src/hotspot/share/oops/klassVtable.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/oops/klassVtable.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -141,7 +141,7 @@
 
   // support for miranda methods
   bool is_miranda_entry_at(int i);
-  int fill_in_mirandas(int initialized);
+  int fill_in_mirandas(int initialized, TRAPS);
   static bool is_miranda(Method* m, Array<Method*>* class_methods,
                          Array<Method*>* default_methods, const Klass* super,
                          bool is_interface);
@@ -328,7 +328,7 @@
 #endif // INCLUDE_JVMTI
 
   // Setup of itable
-  static int assign_itable_indices_for_interface(Klass* klass);
+  static int assign_itable_indices_for_interface(Klass* klass, TRAPS);
   static int method_count_for_interface(Klass* klass);
   static int compute_itable_size(Array<Klass*>* transitive_interfaces);
   static void setup_itable_offset_table(InstanceKlass* klass);
--- a/src/hotspot/share/opto/arraycopynode.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/arraycopynode.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -366,6 +366,9 @@
   if (!forward_ctl->is_top()) {
     // copy forward
     mem = start_mem_dest;
+    uint alias_idx_src = phase->C->get_alias_index(atp_src);
+    uint alias_idx_dest = phase->C->get_alias_index(atp_dest);
+    bool same_alias = (alias_idx_src == alias_idx_dest);
 
     if (count > 0) {
       Node* v = LoadNode::make(*phase, forward_ctl, start_mem_src, adr_src, atp_src, value_type, copy_type, MemNode::unordered);
@@ -376,7 +379,7 @@
         Node* off  = phase->MakeConX(type2aelembytes(copy_type) * i);
         Node* next_src = phase->transform(new AddPNode(base_src,adr_src,off));
         Node* next_dest = phase->transform(new AddPNode(base_dest,adr_dest,off));
-        v = LoadNode::make(*phase, forward_ctl, mem, next_src, atp_src, value_type, copy_type, MemNode::unordered);
+        v = LoadNode::make(*phase, forward_ctl, same_alias ? mem : start_mem_src, next_src, atp_src, value_type, copy_type, MemNode::unordered);
         v = phase->transform(v);
         mem = StoreNode::make(*phase, forward_ctl,mem,next_dest,atp_dest,v, copy_type, MemNode::unordered);
         mem = phase->transform(mem);
@@ -408,18 +411,21 @@
   if (!backward_ctl->is_top()) {
     // copy backward
     mem = start_mem_dest;
+    uint alias_idx_src = phase->C->get_alias_index(atp_src);
+    uint alias_idx_dest = phase->C->get_alias_index(atp_dest);
+    bool same_alias = (alias_idx_src == alias_idx_dest);
 
     if (count > 0) {
       for (int i = count-1; i >= 1; i--) {
         Node* off  = phase->MakeConX(type2aelembytes(copy_type) * i);
         Node* next_src = phase->transform(new AddPNode(base_src,adr_src,off));
         Node* next_dest = phase->transform(new AddPNode(base_dest,adr_dest,off));
-        Node* v = LoadNode::make(*phase, backward_ctl, mem, next_src, atp_src, value_type, copy_type, MemNode::unordered);
+        Node* v = LoadNode::make(*phase, backward_ctl, same_alias ? mem : start_mem_src, next_src, atp_src, value_type, copy_type, MemNode::unordered);
         v = phase->transform(v);
         mem = StoreNode::make(*phase, backward_ctl,mem,next_dest,atp_dest,v, copy_type, MemNode::unordered);
         mem = phase->transform(mem);
       }
-      Node* v = LoadNode::make(*phase, backward_ctl, mem, adr_src, atp_src, value_type, copy_type, MemNode::unordered);
+      Node* v = LoadNode::make(*phase, backward_ctl, same_alias ? mem : start_mem_src, adr_src, atp_src, value_type, copy_type, MemNode::unordered);
       v = phase->transform(v);
       mem = StoreNode::make(*phase, backward_ctl, mem, adr_dest, atp_dest, v, copy_type, MemNode::unordered);
       mem = phase->transform(mem);
@@ -659,7 +665,8 @@
   c = bs->step_over_gc_barrier(c);
 
   CallNode* call = NULL;
-  if (c != NULL && c->is_Region()) {
+  guarantee(c != NULL, "step_over_gc_barrier failed, there must be something to step to.");
+  if (c->is_Region()) {
     for (uint i = 1; i < c->req(); i++) {
       if (c->in(i) != NULL) {
         Node* n = c->in(i)->in(0);
--- a/src/hotspot/share/opto/bytecodeInfo.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/bytecodeInfo.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, 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
@@ -520,10 +520,10 @@
                                                caller_bci, inline_msg);
   if (C->print_inlining()) {
     C->print_inlining(callee_method, inline_level(), caller_bci, inline_msg);
-    if (callee_method == NULL) tty->print(" callee not monotonic or profiled");
-    if (Verbose && callee_method) {
+    guarantee(callee_method != NULL, "would crash in post_inlining_event");
+    if (Verbose) {
       const InlineTree *top = this;
-      while( top->caller_tree() != NULL ) { top = top->caller_tree(); }
+      while (top->caller_tree() != NULL) { top = top->caller_tree(); }
       //tty->print("  bcs: %d+%d  invoked: %d", top->count_inline_bcs(), callee_method->code_size(), callee_method->interpreter_invocation_count());
     }
   }
--- a/src/hotspot/share/opto/callnode.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/callnode.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -759,6 +759,7 @@
         }
       }
     }
+    guarantee(dest != NULL, "Call had only one ptr in, broken IR!");
     if (!dest->is_top() && may_modify_arraycopy_helper(phase->type(dest)->is_oopptr(), t_oop, phase)) {
       return true;
     }
--- a/src/hotspot/share/opto/compile.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/compile.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -4049,9 +4049,9 @@
 
 int Compile::ConstantTable::find_offset(Constant& con) const {
   int idx = _constants.find(con);
-  assert(idx != -1, "constant must be in constant table");
+  guarantee(idx != -1, "constant must be in constant table");
   int offset = _constants.at(idx).offset();
-  assert(offset != -1, "constant table not emitted yet?");
+  guarantee(offset != -1, "constant table not emitted yet?");
   return offset;
 }
 
--- a/src/hotspot/share/opto/gcm.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/gcm.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1263,6 +1263,7 @@
         Node* use = self->fast_out(i);
         LCA = raise_LCA_above_use(LCA, use, self, this);
       }
+      guarantee(LCA != NULL, "There must be a LCA");
     }  // (Hide defs of imax, i from rest of block.)
 
     // Place temps in the block of their use.  This isn't a
--- a/src/hotspot/share/opto/ifnode.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/ifnode.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -387,6 +387,7 @@
     } else {
       assert( 0, "do not know how to handle this guy" );
     }
+    guarantee(proj != NULL, "sanity");
 
     Node *proj_path_data, *proj_path_ctrl;
     if( proj->Opcode() == Op_IfTrue ) {
--- a/src/hotspot/share/opto/indexSet.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/indexSet.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, 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
@@ -319,7 +319,7 @@
   if (_max_blocks <= preallocated_block_list_size) {
     _blocks = _preallocated_block_list;
   } else {
-    _blocks = (IndexSet::BitBlock**) arena()->Amalloc_4(sizeof(IndexSet::BitBlock**) * _max_blocks);
+    _blocks = (IndexSet::BitBlock**) arena()->Amalloc_4(sizeof(IndexSet::BitBlock*) * _max_blocks);
   }
   for (uint i = 0; i < _max_blocks; i++) {
     set_block(i, &_empty_block);
@@ -343,7 +343,7 @@
   if (_max_blocks <= preallocated_block_list_size) {
     _blocks = _preallocated_block_list;
   } else {
-    _blocks = (IndexSet::BitBlock**) arena->Amalloc_4(sizeof(IndexSet::BitBlock**) * _max_blocks);
+    _blocks = (IndexSet::BitBlock**) arena->Amalloc_4(sizeof(IndexSet::BitBlock*) * _max_blocks);
   }
   for (uint i = 0; i < _max_blocks; i++) {
     set_block(i, &_empty_block);
--- a/src/hotspot/share/opto/lcm.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/lcm.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -646,7 +646,7 @@
     }
   } // End of for all ready nodes in worklist
 
-  assert(idx >= 0, "index should be set");
+  guarantee(idx >= 0, "index should be set");
   Node *n = worklist[(uint)idx];      // Get the winner
 
   worklist.map((uint)idx, worklist.pop());     // Compress worklist
--- a/src/hotspot/share/opto/loopPredicate.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/loopPredicate.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -684,6 +684,7 @@
   Node* max_idx_expr = NULL;
   const TypeInt* idx_type = TypeInt::INT;
   if ((stride > 0) == (scale > 0) == upper) {
+    guarantee(limit != NULL, "sanity");
     if (TraceLoopPredicate) {
       if (limit->is_Con()) {
         predString->print("(%d ", con_limit);
--- a/src/hotspot/share/opto/loopTransform.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/loopTransform.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -768,11 +768,12 @@
   Node *init_n = cl->init_trip();
   Node *limit_n = cl->limit();
   int stride_con = cl->stride_con();
+  if (limit_n == NULL) return false; // We will dereference it below.
+
   // Non-constant bounds.
   // Protect against over-unrolling when init or/and limit are not constant
   // (so that trip_count's init value is maxint) but iv range is known.
-  if (init_n   == NULL || !init_n->is_Con()  ||
-      limit_n  == NULL || !limit_n->is_Con()) {
+  if (init_n == NULL || !init_n->is_Con() || !limit_n->is_Con()) {
     Node* phi = cl->phi();
     if (phi != NULL) {
       assert(phi->is_Phi() && phi->in(0) == _head, "Counted loop should have iv phi.");
--- a/src/hotspot/share/opto/macro.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/macro.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -2154,6 +2154,7 @@
 
   Node* mem  = alock->in(TypeFunc::Memory);
   Node* ctrl = alock->in(TypeFunc::Control);
+  guarantee(ctrl != NULL, "missing control projection, cannot replace_node() with NULL");
 
   extract_call_projections(alock);
   // There are 2 projections from the lock.  The lock node will
@@ -2188,8 +2189,7 @@
   }
 
   // Seach for MemBarReleaseLock node and delete it also.
-  if (alock->is_Unlock() && ctrl != NULL && ctrl->is_Proj() &&
-      ctrl->in(0)->is_MemBar()) {
+  if (alock->is_Unlock() && ctrl->is_Proj() && ctrl->in(0)->is_MemBar()) {
     MemBarNode* membar = ctrl->in(0)->as_MemBar();
     assert(membar->Opcode() == Op_MemBarReleaseLock &&
            mem->is_Proj() && membar == mem->in(0), "");
--- a/src/hotspot/share/opto/memnode.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/memnode.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -370,10 +370,10 @@
 
   if (mem != old_mem) {
     set_req(MemNode::Memory, mem);
-    if (can_reshape && old_mem->outcnt() == 0) {
-        igvn->_worklist.push(old_mem);
+    if (can_reshape && old_mem->outcnt() == 0 && igvn != NULL) {
+      igvn->_worklist.push(old_mem);
     }
-    if (phase->type( mem ) == Type::TOP) return NodeSentinel;
+    if (phase->type(mem) == Type::TOP) return NodeSentinel;
     return this;
   }
 
@@ -825,7 +825,7 @@
     }
     break;
   default:
-    // ShouldNotReachHere(); ???
+    ShouldNotReachHere();
     break;
   }
   assert(load != NULL, "LoadNode should have been created");
--- a/src/hotspot/share/opto/mulnode.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/mulnode.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -47,7 +47,7 @@
 //------------------------------Identity---------------------------------------
 // Multiplying a one preserves the other argument
 Node* MulNode::Identity(PhaseGVN* phase) {
-  register const Type *one = mul_id();  // The multiplicative identity
+  const Type *one = mul_id();  // The multiplicative identity
   if( phase->type( in(1) )->higher_equal( one ) ) return in(2);
   if( phase->type( in(2) )->higher_equal( one ) ) return in(1);
 
--- a/src/hotspot/share/opto/node.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/node.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1689,9 +1689,10 @@
   int block_idx = (idx >> _log2_node_notes_block_size);
   int grow_by = (block_idx - (arr == NULL? 0: arr->length()));
   if (grow_by >= 0) {
-    if (!can_grow)  return NULL;
+    if (!can_grow) return NULL;
     grow_node_notes(arr, grow_by + 1);
   }
+  if (arr == NULL) return NULL;
   // (Every element of arr is a sub-array of length _node_notes_block_size.)
   return arr->at(block_idx) + (idx & (_node_notes_block_size-1));
 }
--- a/src/hotspot/share/opto/output.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/output.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1424,7 +1424,7 @@
 
       // See if this instruction has a delay slot
       if (valid_bundle_info(n) && node_bundling(n)->use_unconditional_delay()) {
-        assert(delay_slot != NULL, "expecting delay slot node");
+        guarantee(delay_slot != NULL, "expecting delay slot node");
 
         // Back up 1 instruction
         cb->set_insts_end(cb->insts_end() - Pipeline::instr_unit_size());
--- a/src/hotspot/share/opto/parse1.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/parse1.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -1823,7 +1823,7 @@
       // Instead, wire the new split into a MergeMem on the backedge.
       // The optimizer will sort it out, slicing the phi.
       if (remerge == NULL) {
-        assert(base != NULL, "");
+        guarantee(base != NULL, "");
         assert(base->in(0) != NULL, "should not be xformed away");
         remerge = MergeMemNode::make(base->in(pnum));
         gvn().set_type(remerge, Type::MEMORY);
--- a/src/hotspot/share/opto/reg_split.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/reg_split.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, 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
@@ -683,7 +683,7 @@
         if( needs_phi ) {
           // create a new phi node and insert it into the block
           // type is taken from left over pointer to a predecessor
-          assert(n3,"No non-NULL reaching DEF for a Phi");
+          guarantee(n3, "No non-NULL reaching DEF for a Phi");
           phi = new PhiNode(b->head(), n3->bottom_type());
           // initialize the Reaches entry for this LRG
           Reachblock[slidx] = phi;
--- a/src/hotspot/share/opto/runtime.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/runtime.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1608,7 +1608,12 @@
     }
     int bci = jvms->bci();
     if (bci < 0) bci = 0;
-    st.print("%s.%s@%d", m->holder()->name()->as_utf8(), m->name()->as_utf8(), bci);
+    if (m != NULL) {
+      st.print("%s.%s", m->holder()->name()->as_utf8(), m->name()->as_utf8());
+    } else {
+      st.print("no method");
+    }
+    st.print("@%d", bci);
     // To print linenumbers instead of bci use: m->line_number_from_bci(bci)
   }
   NamedCounter* c;
--- a/src/hotspot/share/opto/type.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/opto/type.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -252,17 +252,16 @@
         ciObject* oop_constant = constant.as_object();
         if (oop_constant->is_null_object()) {
           con_type = Type::get_zero_type(T_OBJECT);
-        } else if (require_constant || oop_constant->should_be_constant()) {
+        } else {
+          guarantee(require_constant || oop_constant->should_be_constant(), "con_type must get computed");
           con_type = TypeOopPtr::make_from_constant(oop_constant, require_constant);
-          if (con_type != NULL) {
-            if (Compile::current()->eliminate_boxing() && is_autobox_cache) {
-              con_type = con_type->is_aryptr()->cast_to_autobox_cache(true);
-            }
-            if (stable_dimension > 0) {
-              assert(FoldStableValues, "sanity");
-              assert(!con_type->is_zero_type(), "default value for stable field");
-              con_type = con_type->is_aryptr()->cast_to_stable(true, stable_dimension);
-            }
+          if (Compile::current()->eliminate_boxing() && is_autobox_cache) {
+            con_type = con_type->is_aryptr()->cast_to_autobox_cache(true);
+          }
+          if (stable_dimension > 0) {
+            assert(FoldStableValues, "sanity");
+            assert(!con_type->is_zero_type(), "default value for stable field");
+            con_type = con_type->is_aryptr()->cast_to_stable(true, stable_dimension);
           }
         }
         if (is_narrow_oop) {
--- a/src/hotspot/share/prims/jvmtiEnvBase.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/prims/jvmtiEnvBase.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -1219,7 +1219,7 @@
   }
   infop->state = state;
 
-  if (thr != NULL || (state & JVMTI_THREAD_STATE_ALIVE) != 0) {
+  if (thr != NULL && (state & JVMTI_THREAD_STATE_ALIVE) != 0) {
     infop->frame_buffer = NEW_RESOURCE_ARRAY(jvmtiFrameInfo, max_frame_count());
     env()->get_stack_trace(thr, 0, max_frame_count(),
                            infop->frame_buffer, &(infop->frame_count));
--- a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -4098,17 +4098,14 @@
 
   // Initialize the vtable and interface table after
   // methods have been rewritten
-  {
-    ResourceMark rm(THREAD);
-    // no exception should happen here since we explicitly
-    // do not check loader constraints.
-    // compare_and_normalize_class_versions has already checked:
-    //  - classloaders unchanged, signatures unchanged
-    //  - all instanceKlasses for redefined classes reused & contents updated
-    the_class->vtable().initialize_vtable(false, THREAD);
-    the_class->itable().initialize_itable(false, THREAD);
-    assert(!HAS_PENDING_EXCEPTION || (THREAD->pending_exception()->is_a(SystemDictionary::ThreadDeath_klass())), "redefine exception");
-  }
+  // no exception should happen here since we explicitly
+  // do not check loader constraints.
+  // compare_and_normalize_class_versions has already checked:
+  //  - classloaders unchanged, signatures unchanged
+  //  - all instanceKlasses for redefined classes reused & contents updated
+  the_class->vtable().initialize_vtable(false, THREAD);
+  the_class->itable().initialize_itable(false, THREAD);
+  assert(!HAS_PENDING_EXCEPTION || (THREAD->pending_exception()->is_a(SystemDictionary::ThreadDeath_klass())), "redefine exception");
 
   // Leave arrays of jmethodIDs and itable index cache unchanged
 
--- a/src/hotspot/share/runtime/deoptimization.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/runtime/deoptimization.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -2044,7 +2044,7 @@
   bool ignore_maybe_prior_recompile;
   assert(!reason_is_speculate(reason), "reason speculate only used by compiler");
   // JVMCI uses the total counts to determine if deoptimizations are happening too frequently -> do not adjust total counts
-  bool update_total_counts = JVMCI_ONLY(false) NOT_JVMCI(true);
+  bool update_total_counts = true JVMCI_ONLY( && !UseJVMCICompiler);
   query_update_method_data(trap_mdo, trap_bci,
                            (DeoptReason)reason,
                            update_total_counts,
--- a/src/hotspot/share/runtime/flags/jvmFlag.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/runtime/flags/jvmFlag.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -939,6 +939,10 @@
     }
   }
 
+  if (match == NULL) {
+    return NULL;
+  }
+
   if (!(match->is_unlocked() || match->is_unlocker())) {
     if (!allow_locked) {
       return NULL;
--- a/src/hotspot/share/runtime/simpleThresholdPolicy.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/runtime/simpleThresholdPolicy.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -266,8 +266,9 @@
     max_method = max_task->method();
   }
 
-  if (max_task->comp_level() == CompLevel_full_profile && TieredStopAtLevel > CompLevel_full_profile
-      && is_method_profiled(max_method)) {
+  if (max_task != NULL && max_task->comp_level() == CompLevel_full_profile &&
+      TieredStopAtLevel > CompLevel_full_profile &&
+      max_method != NULL && is_method_profiled(max_method)) {
     max_task->set_comp_level(CompLevel_limited_profile);
     if (PrintTieredEvents) {
       print_event(UPDATE_IN_QUEUE, max_method, max_method, max_task->osr_bci(), (CompLevel)max_task->comp_level());
--- a/src/hotspot/share/services/writeableFlags.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/services/writeableFlags.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -79,7 +79,7 @@
     case JVMFlag::NON_WRITABLE:
       buffer_concat(buffer, "flag is not writeable."); break;
     case JVMFlag::OUT_OF_BOUNDS:
-      print_flag_error_message_bounds(name, buffer); break;
+      if (name != NULL) { print_flag_error_message_bounds(name, buffer); } break;
     case JVMFlag::VIOLATES_CONSTRAINT:
       buffer_concat(buffer, "value violates its flag's constraint."); break;
     case JVMFlag::INVALID_FLAG:
--- a/src/hotspot/share/utilities/ostream.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/hotspot/share/utilities/ostream.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -531,7 +531,8 @@
 long fileStream::fileSize() {
   long size = -1;
   if (_file != NULL) {
-    long pos  = ::ftell(_file);
+    long pos = ::ftell(_file);
+    if (pos < 0) return pos;
     if (::fseek(_file, 0, SEEK_END) == 0) {
       size = ::ftell(_file);
     }
--- a/src/java.base/linux/classes/sun/nio/fs/LinuxFileStore.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/linux/classes/sun/nio/fs/LinuxFileStore.java	Tue Jul 17 11:05:06 2018 -0400
@@ -25,9 +25,14 @@
 
 package sun.nio.fs;
 
-import java.nio.file.attribute.*;
-import java.util.*;
 import java.io.IOException;
+import java.nio.file.attribute.DosFileAttributeView;
+import java.nio.file.attribute.FileAttributeView;
+import java.nio.file.attribute.PosixFileAttributeView;
+import java.nio.file.attribute.UserDefinedFileAttributeView;
+import java.util.Arrays;
+import java.util.List;
+import java.util.regex.Pattern;
 
 /**
  * Linux implementation of FileStore
@@ -121,6 +126,18 @@
         return false;
     }
 
+    // get kernel version as a three element array {major, minor, micro}
+    private static int[] getKernelVersion() {
+        Pattern pattern = Pattern.compile("\\D+");
+        String[] matches = pattern.split(System.getProperty("os.version"));
+        int[] majorMinorMicro = new int[3];
+        int length = Math.min(matches.length, majorMinorMicro.length);
+        for (int i = 0; i < length; i++) {
+            majorMinorMicro[i] = Integer.valueOf(matches[i]);
+        }
+        return majorMinorMicro;
+    }
+
     @Override
     public boolean supportsFileAttributeView(Class<? extends FileAttributeView> type) {
         // support DosFileAttributeView and UserDefinedAttributeView if extended
@@ -140,11 +157,31 @@
             if ((entry().hasOption("user_xattr")))
                 return true;
 
-            // for ext3 and ext4 user_xattr option is enabled by default so
-            // check for explicit disabling of this option
-            if (entry().fstype().equals("ext3") ||
-                entry().fstype().equals("ext4")) {
-                return !entry().hasOption("nouser_xattr");
+            // check for explicit disabling of extended attributes
+            if (entry().hasOption("nouser_xattr")) {
+                return false;
+            }
+
+            // user_{no}xattr options not present but we special-case ext3 as
+            // we know that extended attributes are not enabled by default.
+            if (entry().fstype().equals("ext3")) {
+                return false;
+            }
+
+            // user_xattr option not present but we special-case ext4 as we
+            // know that extended attributes are enabled by default for
+            // kernel version >= 2.6.39
+            if (entry().fstype().equals("ext4")) {
+                if (!xattrChecked) {
+                    // check kernel version
+                    int[] kernelVersion = getKernelVersion();
+                    xattrEnabled = kernelVersion[0] > 2 ||
+                        (kernelVersion[0] == 2 && kernelVersion[1] > 6) ||
+                        (kernelVersion[0] == 2 && kernelVersion[1] == 6 &&
+                            kernelVersion[2] >= 39);
+                    xattrChecked = true;
+                }
+                return xattrEnabled;
             }
 
             // not ext3/4 so probe mount point
--- a/src/java.base/share/classes/com/sun/crypto/provider/AESCrypt.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/com/sun/crypto/provider/AESCrypt.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * 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
@@ -39,7 +39,6 @@
 import java.security.InvalidKeyException;
 import java.security.MessageDigest;
 import java.util.Arrays;
-import java.util.Objects;
 
 import jdk.internal.HotSpotIntrinsicCandidate;
 
@@ -351,8 +350,8 @@
      */
     void encryptBlock(byte[] in, int inOffset,
                       byte[] out, int outOffset) {
-        Objects.checkFromIndexSize(inOffset, AES_BLOCK_SIZE, in.length);
-        Objects.checkFromIndexSize(outOffset, AES_BLOCK_SIZE, out.length);
+        // Array bound checks are done in caller code, i.e.
+        // FeedbackCipher.encrypt/decrypt(...) to improve performance.
         implEncryptBlock(in, inOffset, out, outOffset);
     }
 
@@ -430,8 +429,8 @@
      */
     void decryptBlock(byte[] in, int inOffset,
                       byte[] out, int outOffset) {
-        Objects.checkFromIndexSize(inOffset, AES_BLOCK_SIZE, in.length);
-        Objects.checkFromIndexSize(outOffset, AES_BLOCK_SIZE, out.length);
+        // Array bound checks are done in caller code, i.e.
+        // FeedbackCipher.encrypt/decrypt(...) to improve performance.
         implDecryptBlock(in, inOffset, out, outOffset);
     }
 
--- a/src/java.base/share/classes/com/sun/crypto/provider/CipherBlockChaining.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/com/sun/crypto/provider/CipherBlockChaining.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, 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
@@ -30,6 +30,7 @@
 import java.util.Objects;
 
 import jdk.internal.HotSpotIntrinsicCandidate;
+import sun.security.util.ArrayUtil;
 
 
 /**
@@ -145,9 +146,9 @@
         if (plainLen <= 0) {
             return plainLen;
         }
-        cryptBlockSizeCheck(plainLen);
-        cryptNullAndBoundsCheck(plain, plainOffset, plainLen);
-        cryptNullAndBoundsCheck(cipher, cipherOffset, plainLen);
+        ArrayUtil.blockSizeCheck(plainLen, blockSize);
+        ArrayUtil.nullAndBoundsCheck(plain, plainOffset, plainLen);
+        ArrayUtil.nullAndBoundsCheck(cipher, cipherOffset, plainLen);
         return implEncrypt(plain, plainOffset, plainLen,
                            cipher, cipherOffset);
     }
@@ -196,9 +197,9 @@
         if (cipherLen <= 0) {
             return cipherLen;
         }
-        cryptBlockSizeCheck(cipherLen);
-        cryptNullAndBoundsCheck(cipher, cipherOffset, cipherLen);
-        cryptNullAndBoundsCheck(plain, plainOffset, cipherLen);
+        ArrayUtil.blockSizeCheck(cipherLen, blockSize);
+        ArrayUtil.nullAndBoundsCheck(cipher, cipherOffset, cipherLen);
+        ArrayUtil.nullAndBoundsCheck(plain, plainOffset, cipherLen);
         return implDecrypt(cipher, cipherOffset, cipherLen, plain, plainOffset);
     }
 
@@ -218,23 +219,4 @@
         }
         return cipherLen;
     }
-
-    private void cryptBlockSizeCheck(int len) {
-        if ((len % blockSize) != 0) {
-            throw new ProviderException("Internal error in input buffering");
-        }
-    }
-
-    private static void cryptNullAndBoundsCheck(byte[] array, int offset, int len) {
-        Objects.requireNonNull(array);
-
-        if (offset < 0 || offset >= array.length) {
-            throw new ArrayIndexOutOfBoundsException(offset);
-        }
-
-        int endIndex = offset + len - 1;
-        if (endIndex < 0 || endIndex >= array.length) {
-            throw new ArrayIndexOutOfBoundsException(endIndex);
-        }
-    }
 }
--- a/src/java.base/share/classes/com/sun/crypto/provider/CipherFeedback.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/com/sun/crypto/provider/CipherFeedback.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, 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
@@ -27,6 +27,7 @@
 
 import java.security.InvalidKeyException;
 import java.security.ProviderException;
+import sun.security.util.ArrayUtil;
 
 /**
  * This class represents ciphers in cipher-feedback (CFB) mode.
@@ -149,9 +150,9 @@
      */
     int encrypt(byte[] plain, int plainOffset, int plainLen,
                 byte[] cipher, int cipherOffset) {
-        if ((plainLen % numBytes) != 0) {
-            throw new ProviderException("Internal error in input buffering");
-        }
+        ArrayUtil.blockSizeCheck(plainLen, numBytes);
+        ArrayUtil.nullAndBoundsCheck(plain, plainOffset, plainLen);
+        ArrayUtil.nullAndBoundsCheck(cipher, cipherOffset, plainLen);
 
         int nShift = blockSize - numBytes;
         int loopCount = plainLen / numBytes;
@@ -225,9 +226,10 @@
      */
     int decrypt(byte[] cipher, int cipherOffset, int cipherLen,
                 byte[] plain, int plainOffset) {
-        if ((cipherLen % numBytes) != 0) {
-            throw new ProviderException("Internal error in input buffering");
-        }
+
+        ArrayUtil.blockSizeCheck(cipherLen, numBytes);
+        ArrayUtil.nullAndBoundsCheck(cipher, cipherOffset, cipherLen);
+        ArrayUtil.nullAndBoundsCheck(plain, plainOffset, cipherLen);
 
         int nShift = blockSize - numBytes;
         int loopCount = cipherLen / numBytes;
--- a/src/java.base/share/classes/com/sun/crypto/provider/CounterMode.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/com/sun/crypto/provider/CounterMode.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * 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
@@ -26,9 +26,9 @@
 package com.sun.crypto.provider;
 
 import java.security.InvalidKeyException;
-import java.util.Objects;
 
 import jdk.internal.HotSpotIntrinsicCandidate;
+import sun.security.util.ArrayUtil;
 
 /**
  * This class represents ciphers in counter (CTR) mode.
@@ -175,8 +175,9 @@
         if (len == 0) {
             return 0;
         }
-        Objects.checkFromIndexSize(inOff, len, in.length);
-        Objects.checkFromIndexSize(outOff, len, out.length);
+
+        ArrayUtil.nullAndBoundsCheck(in, inOff, len);
+        ArrayUtil.nullAndBoundsCheck(out, outOff, len);
         return implCrypt(in, inOff, len, out, outOff);
     }
 
--- a/src/java.base/share/classes/com/sun/crypto/provider/ElectronicCodeBook.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/com/sun/crypto/provider/ElectronicCodeBook.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, 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
@@ -27,6 +27,7 @@
 
 import java.security.InvalidKeyException;
 import java.security.ProviderException;
+import sun.security.util.ArrayUtil;
 
 /**
  * This class represents ciphers in electronic codebook (ECB) mode.
@@ -112,9 +113,10 @@
      * @return the length of the encrypted data
      */
     int encrypt(byte[] in, int inOff, int len, byte[] out, int outOff) {
-        if ((len % blockSize) != 0) {
-             throw new ProviderException("Internal error in input buffering");
-        }
+        ArrayUtil.blockSizeCheck(len, blockSize);
+        ArrayUtil.nullAndBoundsCheck(in, inOff, len);
+        ArrayUtil.nullAndBoundsCheck(out, outOff, len);
+
         for (int i = len; i >= blockSize; i -= blockSize) {
             embeddedCipher.encryptBlock(in, inOff, out, outOff);
             inOff += blockSize;
@@ -141,9 +143,10 @@
      * @return the length of the decrypted data
      */
     int decrypt(byte[] in, int inOff, int len, byte[] out, int outOff) {
-        if ((len % blockSize) != 0) {
-             throw new ProviderException("Internal error in input buffering");
-        }
+        ArrayUtil.blockSizeCheck(len, blockSize);
+        ArrayUtil.nullAndBoundsCheck(in, inOff, len);
+        ArrayUtil.nullAndBoundsCheck(out, outOff, len);
+
         for (int i = len; i >= blockSize; i -= blockSize) {
             embeddedCipher.decryptBlock(in, inOff, out, outOff);
             inOff += blockSize;
--- a/src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -30,6 +30,8 @@
 import java.security.*;
 import javax.crypto.*;
 import static com.sun.crypto.provider.AESConstants.AES_BLOCK_SIZE;
+import sun.security.util.ArrayUtil;
+
 
 /**
  * This class represents ciphers in GaloisCounter (GCM) mode.
@@ -406,8 +408,8 @@
     /**
      * Performs encryption operation.
      *
-     * <p>The input plain text <code>in</code>, starting at <code>inOff</code>
-     * and ending at <code>(inOff + len - 1)</code>, is encrypted. The result
+     * <p>The input plain text <code>in</code>, starting at <code>inOfs</code>
+     * and ending at <code>(inOfs + len - 1)</code>, is encrypted. The result
      * is stored in <code>out</code>, starting at <code>outOfs</code>.
      *
      * @param in the buffer with the input data to be encrypted
@@ -420,18 +422,21 @@
      * @return the number of bytes placed into the <code>out</code> buffer
      */
     int encrypt(byte[] in, int inOfs, int len, byte[] out, int outOfs) {
-        if ((len % blockSize) != 0) {
-             throw new ProviderException("Internal error in input buffering");
-        }
+        ArrayUtil.blockSizeCheck(len, blockSize);
 
         checkDataLength(processed, len);
 
         processAAD();
+
         if (len > 0) {
+            ArrayUtil.nullAndBoundsCheck(in, inOfs, len);
+            ArrayUtil.nullAndBoundsCheck(out, outOfs, len);
+
             gctrPAndC.update(in, inOfs, len, out, outOfs);
             processed += len;
             ghashAllToS.update(out, outOfs, len);
         }
+
         return len;
     }
 
@@ -451,7 +456,10 @@
             throw new ShortBufferException
                 ("Can't fit both data and tag into one buffer");
         }
-        if (out.length - outOfs < (len + tagLenBytes)) {
+        try {
+            ArrayUtil.nullAndBoundsCheck(out, outOfs,
+                (len + tagLenBytes));
+        } catch (ArrayIndexOutOfBoundsException aiobe) {
             throw new ShortBufferException("Output buffer too small");
         }
 
@@ -459,6 +467,8 @@
 
         processAAD();
         if (len > 0) {
+            ArrayUtil.nullAndBoundsCheck(in, inOfs, len);
+
             doLastBlock(in, inOfs, len, out, outOfs, true);
         }
 
@@ -492,9 +502,7 @@
      * @return the number of bytes placed into the <code>out</code> buffer
      */
     int decrypt(byte[] in, int inOfs, int len, byte[] out, int outOfs) {
-        if ((len % blockSize) != 0) {
-             throw new ProviderException("Internal error in input buffering");
-        }
+        ArrayUtil.blockSizeCheck(len, blockSize);
 
         checkDataLength(ibuffer.size(), len);
 
@@ -504,6 +512,7 @@
             // store internally until decryptFinal is called because
             // spec mentioned that only return recovered data after tag
             // is successfully verified
+            ArrayUtil.nullAndBoundsCheck(in, inOfs, len);
             ibuffer.write(in, inOfs, len);
         }
         return 0;
@@ -532,22 +541,28 @@
         if (len < tagLenBytes) {
             throw new AEADBadTagException("Input too short - need tag");
         }
+
         // do this check here can also catch the potential integer overflow
         // scenario for the subsequent output buffer capacity check.
         checkDataLength(ibuffer.size(), (len - tagLenBytes));
 
-        if (out.length - outOfs < ((ibuffer.size() + len) - tagLenBytes)) {
+        try {
+            ArrayUtil.nullAndBoundsCheck(out, outOfs,
+                (ibuffer.size() + len) - tagLenBytes);
+        } catch (ArrayIndexOutOfBoundsException aiobe) {
             throw new ShortBufferException("Output buffer too small");
         }
 
         processAAD();
 
+        ArrayUtil.nullAndBoundsCheck(in, inOfs, len);
+
         // get the trailing tag bytes from 'in'
         byte[] tag = new byte[tagLenBytes];
         System.arraycopy(in, inOfs + len - tagLenBytes, tag, 0, tagLenBytes);
         len -= tagLenBytes;
 
-        if (len != 0) {
+        if (len > 0) {
             ibuffer.write(in, inOfs, len);
         }
 
--- a/src/java.base/share/classes/com/sun/crypto/provider/OutputFeedback.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/com/sun/crypto/provider/OutputFeedback.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -27,6 +27,7 @@
 
 import java.security.InvalidKeyException;
 import java.security.ProviderException;
+import sun.security.util.ArrayUtil;
 
 /**
  * This class represents ciphers in output-feedback (OFB) mode.
@@ -148,10 +149,10 @@
      */
     int encrypt(byte[] plain, int plainOffset, int plainLen,
                 byte[] cipher, int cipherOffset) {
+        ArrayUtil.blockSizeCheck(plainLen, numBytes);
+        ArrayUtil.nullAndBoundsCheck(plain, plainOffset, plainLen);
+        ArrayUtil.nullAndBoundsCheck(cipher, cipherOffset, plainLen);
 
-        if ((plainLen % numBytes) != 0) {
-            throw new ProviderException("Internal error in input buffering");
-        }
         int nShift = blockSize - numBytes;
         int loopCount = plainLen / numBytes;
 
@@ -189,6 +190,9 @@
      */
     int encryptFinal(byte[] plain, int plainOffset, int plainLen,
                      byte[] cipher, int cipherOffset) {
+        ArrayUtil.nullAndBoundsCheck(plain, plainOffset, plainLen);
+        ArrayUtil.nullAndBoundsCheck(cipher, cipherOffset, plainLen);
+
         int oddBytes = plainLen % numBytes;
         int len = encrypt(plain, plainOffset, (plainLen - oddBytes),
                           cipher, cipherOffset);
--- a/src/java.base/share/classes/com/sun/crypto/provider/PCBC.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/com/sun/crypto/provider/PCBC.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, 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
@@ -27,6 +27,7 @@
 
 import java.security.InvalidKeyException;
 import java.security.ProviderException;
+import sun.security.util.ArrayUtil;
 
 
 /**
@@ -136,9 +137,10 @@
     int encrypt(byte[] plain, int plainOffset, int plainLen,
                 byte[] cipher, int cipherOffset)
     {
-        if ((plainLen % blockSize) != 0) {
-            throw new ProviderException("Internal error in input buffering");
-        }
+        ArrayUtil.blockSizeCheck(plainLen, blockSize);
+        ArrayUtil.nullAndBoundsCheck(plain, plainOffset, plainLen);
+        ArrayUtil.nullAndBoundsCheck(cipher, cipherOffset, plainLen);
+
         int i;
         int endIndex = plainOffset + plainLen;
 
@@ -176,9 +178,10 @@
     int decrypt(byte[] cipher, int cipherOffset, int cipherLen,
                 byte[] plain, int plainOffset)
     {
-        if ((cipherLen % blockSize) != 0) {
-             throw new ProviderException("Internal error in input buffering");
-        }
+        ArrayUtil.blockSizeCheck(cipherLen, blockSize);
+        ArrayUtil.nullAndBoundsCheck(cipher, cipherOffset, cipherLen);
+        ArrayUtil.nullAndBoundsCheck(plain, plainOffset, cipherLen);
+
         int i;
         int endIndex = cipherOffset + cipherLen;
 
--- a/src/java.base/share/classes/java/nio/Bits.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/java/nio/Bits.java	Tue Jul 17 11:05:06 2018 -0400
@@ -207,43 +207,24 @@
         assert cnt >= 0 && reservedMem >= 0 && totalCap >= 0;
     }
 
-    // -- Monitoring of direct buffer usage --
-
-    static {
-        // setup access to this package in SharedSecrets
-        SharedSecrets.setJavaNioAccess(
-            new JavaNioAccess() {
-                @Override
-                public JavaNioAccess.BufferPool getDirectBufferPool() {
-                    return new JavaNioAccess.BufferPool() {
-                        @Override
-                        public String getName() {
-                            return "direct";
-                        }
-                        @Override
-                        public long getCount() {
-                            return Bits.COUNT.get();
-                        }
-                        @Override
-                        public long getTotalCapacity() {
-                            return Bits.TOTAL_CAPACITY.get();
-                        }
-                        @Override
-                        public long getMemoryUsed() {
-                            return Bits.RESERVED_MEMORY.get();
-                        }
-                    };
-                }
-                @Override
-                public ByteBuffer newDirectByteBuffer(long addr, int cap, Object ob) {
-                    return new DirectByteBuffer(addr, cap, ob);
-                }
-                @Override
-                public void truncate(Buffer buf) {
-                    buf.truncate();
-                }
-        });
-    }
+    static final JavaNioAccess.BufferPool BUFFER_POOL = new JavaNioAccess.BufferPool() {
+        @Override
+        public String getName() {
+            return "direct";
+        }
+        @Override
+        public long getCount() {
+            return Bits.COUNT.get();
+        }
+        @Override
+        public long getTotalCapacity() {
+            return Bits.TOTAL_CAPACITY.get();
+        }
+        @Override
+        public long getMemoryUsed() {
+            return Bits.RESERVED_MEMORY.get();
+        }
+    };
 
     // These numbers represent the point at which we have empirically
     // determined that the average cost of a JNI call exceeds the expense
--- a/src/java.base/share/classes/java/nio/Buffer.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/java/nio/Buffer.java	Tue Jul 17 11:05:06 2018 -0400
@@ -26,6 +26,8 @@
 package java.nio;
 
 import jdk.internal.HotSpotIntrinsicCandidate;
+import jdk.internal.misc.JavaNioAccess;
+import jdk.internal.misc.SharedSecrets;
 import jdk.internal.misc.Unsafe;
 
 import java.util.Spliterator;
@@ -707,4 +709,23 @@
             throw new IndexOutOfBoundsException();
     }
 
+    static {
+        // setup access to this package in SharedSecrets
+        SharedSecrets.setJavaNioAccess(
+            new JavaNioAccess() {
+                @Override
+                public JavaNioAccess.BufferPool getDirectBufferPool() {
+                    return Bits.BUFFER_POOL;
+                }
+                @Override
+                public ByteBuffer newDirectByteBuffer(long addr, int cap, Object ob) {
+                    return new DirectByteBuffer(addr, cap, ob);
+                }
+                @Override
+                public void truncate(Buffer buf) {
+                    buf.truncate();
+                }
+            });
+    }
+
 }
--- a/src/java.base/share/classes/java/text/SimpleDateFormat.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/java/text/SimpleDateFormat.java	Tue Jul 17 11:05:06 2018 -0400
@@ -831,7 +831,7 @@
                             break;
                         }
                     }
-                    compiledCode.append((char)(TAG_QUOTE_CHARS << 8 | (j - i)));
+                    encode(TAG_QUOTE_CHARS, j - i, compiledCode);
                     for (; i < j; i++) {
                         compiledCode.append(pattern.charAt(i));
                     }
--- a/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java	Tue Jul 17 11:05:06 2018 -0400
@@ -194,10 +194,9 @@
 
     public static JavaNioAccess getJavaNioAccess() {
         if (javaNioAccess == null) {
-            // Ensure java.nio.ByteOrder is initialized; we know that
-            // this class initializes java.nio.Bits that provides the
+            // Ensure java.nio.Buffer is initialized, which provides the
             // shared secret.
-            unsafe.ensureClassInitialized(java.nio.ByteOrder.class);
+            unsafe.ensureClassInitialized(java.nio.Buffer.class);
         }
         return javaNioAccess;
     }
--- a/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java	Tue Jul 17 11:05:06 2018 -0400
@@ -333,7 +333,6 @@
      * @return whether they are in the same package
      */
     public static boolean isSamePackage(Class<?> class1, Class<?> class2) {
-        assert(!class1.isArray() && !class2.isArray());
         if (class1 == class2)
             return true;
         if (class1.getClassLoader() != class2.getClassLoader())
--- a/src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	Tue Jul 17 11:05:06 2018 -0400
@@ -296,6 +296,9 @@
             } catch (Exception e) {
                 if (password.length == 0) {
                     // Retry using an empty password with a NUL terminator.
+                    if (debug != null) {
+                        debug.println("Retry with a NUL password");
+                    }
                     return f.tryOnce(new char[1]);
                 }
                 throw e;
@@ -376,7 +379,7 @@
 
        try {
             PBEParameterSpec pbeSpec;
-            int ic = 0;
+            int ic;
 
             if (algParams != null) {
                 try {
@@ -390,65 +393,69 @@
                 if (ic > MAX_ITERATION_COUNT) {
                     throw new IOException("PBE iteration count too large");
                 }
+            } else {
+                ic = 0;
             }
 
-            byte[] keyInfo = RetryWithZero.run(pass -> {
+            key = RetryWithZero.run(pass -> {
                 // Use JCE
                 SecretKey skey = getPBEKey(pass);
                 Cipher cipher = Cipher.getInstance(
                         mapPBEParamsToAlgorithm(algOid, algParams));
                 cipher.init(Cipher.DECRYPT_MODE, skey, algParams);
-                return cipher.doFinal(encryptedKey);
+                byte[] keyInfo = cipher.doFinal(encryptedKey);
+                /*
+                 * Parse the key algorithm and then use a JCA key factory
+                 * to re-create the key.
+                 */
+                DerValue val = new DerValue(keyInfo);
+                DerInputStream in = val.toDerInputStream();
+                int i = in.getInteger();
+                DerValue[] value = in.getSequence(2);
+                AlgorithmId algId = new AlgorithmId(value[0].getOID());
+                String keyAlgo = algId.getName();
+
+                // decode private key
+                if (entry instanceof PrivateKeyEntry) {
+                    KeyFactory kfac = KeyFactory.getInstance(keyAlgo);
+                    PKCS8EncodedKeySpec kspec = new PKCS8EncodedKeySpec(keyInfo);
+                    Key tmp = kfac.generatePrivate(kspec);
+
+                    if (debug != null) {
+                        debug.println("Retrieved a protected private key at alias" +
+                                " '" + alias + "' (" +
+                                new AlgorithmId(algOid).getName() +
+                                " iterations: " + ic + ")");
+                    }
+                    return tmp;
+                    // decode secret key
+                } else {
+                    byte[] keyBytes = in.getOctetString();
+                    SecretKeySpec secretKeySpec =
+                            new SecretKeySpec(keyBytes, keyAlgo);
+
+                    // Special handling required for PBE: needs a PBEKeySpec
+                    Key tmp;
+                    if (keyAlgo.startsWith("PBE")) {
+                        SecretKeyFactory sKeyFactory =
+                                SecretKeyFactory.getInstance(keyAlgo);
+                        KeySpec pbeKeySpec =
+                                sKeyFactory.getKeySpec(secretKeySpec, PBEKeySpec.class);
+                        tmp = sKeyFactory.generateSecret(pbeKeySpec);
+                    } else {
+                        tmp = secretKeySpec;
+                    }
+
+                    if (debug != null) {
+                        debug.println("Retrieved a protected secret key at alias " +
+                                "'" + alias + "' (" +
+                                new AlgorithmId(algOid).getName() +
+                                " iterations: " + ic + ")");
+                    }
+                    return tmp;
+                }
             }, password);
 
-            /*
-             * Parse the key algorithm and then use a JCA key factory
-             * to re-create the key.
-             */
-            DerValue val = new DerValue(keyInfo);
-            DerInputStream in = val.toDerInputStream();
-            int i = in.getInteger();
-            DerValue[] value = in.getSequence(2);
-            AlgorithmId algId = new AlgorithmId(value[0].getOID());
-            String keyAlgo = algId.getName();
-
-            // decode private key
-            if (entry instanceof PrivateKeyEntry) {
-                KeyFactory kfac = KeyFactory.getInstance(keyAlgo);
-                PKCS8EncodedKeySpec kspec = new PKCS8EncodedKeySpec(keyInfo);
-                key = kfac.generatePrivate(kspec);
-
-                if (debug != null) {
-                    debug.println("Retrieved a protected private key at alias" +
-                        " '" + alias + "' (" +
-                        new AlgorithmId(algOid).getName() +
-                        " iterations: " + ic + ")");
-                }
-
-            // decode secret key
-            } else {
-                byte[] keyBytes = in.getOctetString();
-                SecretKeySpec secretKeySpec =
-                    new SecretKeySpec(keyBytes, keyAlgo);
-
-                // Special handling required for PBE: needs a PBEKeySpec
-                if (keyAlgo.startsWith("PBE")) {
-                    SecretKeyFactory sKeyFactory =
-                        SecretKeyFactory.getInstance(keyAlgo);
-                    KeySpec pbeKeySpec =
-                        sKeyFactory.getKeySpec(secretKeySpec, PBEKeySpec.class);
-                    key = sKeyFactory.generateSecret(pbeKeySpec);
-                } else {
-                    key = secretKeySpec;
-                }
-
-                if (debug != null) {
-                    debug.println("Retrieved a protected secret key at alias " +
-                        "'" + alias + "' (" +
-                        new AlgorithmId(algOid).getName() +
-                        " iterations: " + ic + ")");
-                }
-            }
         } catch (Exception e) {
             UnrecoverableKeyException uke =
                 new UnrecoverableKeyException("Get Key failed: " +
@@ -2019,7 +2026,6 @@
          * Spin over the ContentInfos.
          */
         for (int i = 0; i < count; i++) {
-            byte[] safeContentsData;
             ContentInfo safeContents;
             DerInputStream sci;
             byte[] eAlgId = null;
@@ -2027,14 +2033,13 @@
             sci = new DerInputStream(safeContentsArray[i].toByteArray());
             safeContents = new ContentInfo(sci);
             contentType = safeContents.getContentType();
-            safeContentsData = null;
             if (contentType.equals(ContentInfo.DATA_OID)) {
 
                 if (debug != null) {
                     debug.println("Loading PKCS#7 data");
                 }
 
-                safeContentsData = safeContents.getData();
+                loadSafeContents(new DerInputStream(safeContents.getData()));
             } else if (contentType.equals(ContentInfo.ENCRYPTED_DATA_OID)) {
                 if (password == null) {
 
@@ -2058,7 +2063,7 @@
                 if (seq[2].isConstructed())
                    newTag |= 0x20;
                 seq[2].resetTag(newTag);
-                safeContentsData = seq[2].getOctetString();
+                byte[] rawData = seq[2].getOctetString();
 
                 // parse Algorithm parameters
                 DerInputStream in = seq[1].toDerInputStream();
@@ -2089,14 +2094,14 @@
                         " iterations: " + ic + ")");
                 }
 
-                byte[] rawData = safeContentsData;
                 try {
-                    safeContentsData = RetryWithZero.run(pass -> {
+                    RetryWithZero.run(pass -> {
                         // Use JCE
                         SecretKey skey = getPBEKey(pass);
                         Cipher cipher = Cipher.getInstance(algOid.toString());
                         cipher.init(Cipher.DECRYPT_MODE, skey, algParams);
-                        return cipher.doFinal(rawData);
+                        loadSafeContents(new DerInputStream(cipher.doFinal(rawData)));
+                        return null;
                     }, password);
                 } catch (Exception e) {
                     throw new IOException("keystore password was incorrect",
@@ -2107,8 +2112,6 @@
                 throw new IOException("public key protected PKCS12" +
                                         " not supported");
             }
-            DerInputStream sc = new DerInputStream(safeContentsData);
-            loadSafeContents(sc, password);
         }
 
         // The MacData is optional.
@@ -2242,7 +2245,7 @@
         else return null;
     }
 
-    private void loadSafeContents(DerInputStream stream, char[] password)
+    private void loadSafeContents(DerInputStream stream)
         throws IOException, NoSuchAlgorithmException, CertificateException
     {
         DerValue[] safeBags = stream.getSequence(2);
--- a/src/java.base/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	Tue Jul 17 11:05:06 2018 -0400
@@ -73,12 +73,20 @@
             boolean withDefaultCertPathConstraints) {
         AlgorithmConstraints configuredConstraints = null;
         if (socket != null) {
-            HandshakeContext hc =
-                    ((SSLSocketImpl)socket).conContext.handshakeContext;
-            if (hc != null) {
-                configuredConstraints = hc.sslConfig.algorithmConstraints;
+            // Note that the KeyManager or TrustManager implementation may be
+            // not implemented in the same provider as SSLSocket/SSLEngine.
+            // Please check the instance before casting to use SSLSocketImpl.
+            if (socket instanceof SSLSocketImpl) {
+                HandshakeContext hc =
+                        ((SSLSocketImpl)socket).conContext.handshakeContext;
+                if (hc != null) {
+                    configuredConstraints = hc.sslConfig.algorithmConstraints;
+                } else {
+                    configuredConstraints = null;
+                }
             } else {
-                configuredConstraints = null;
+                configuredConstraints =
+                        socket.getSSLParameters().getAlgorithmConstraints();
             }
         }
         this.userSpecifiedConstraints = configuredConstraints;
@@ -90,12 +98,20 @@
             boolean withDefaultCertPathConstraints) {
         AlgorithmConstraints configuredConstraints = null;
         if (engine != null) {
-            HandshakeContext hc =
-                    ((SSLEngineImpl)engine).conContext.handshakeContext;
-            if (hc != null) {
-                configuredConstraints = hc.sslConfig.algorithmConstraints;
+            // Note that the KeyManager or TrustManager implementation may be
+            // not implemented in the same provider as SSLSocket/SSLEngine.
+            // Please check the instance before casting to use SSLEngineImpl.
+            if (engine instanceof SSLEngineImpl) {
+                HandshakeContext hc =
+                        ((SSLEngineImpl)engine).conContext.handshakeContext;
+                if (hc != null) {
+                    configuredConstraints = hc.sslConfig.algorithmConstraints;
+                } else {
+                    configuredConstraints = null;
+                }
             } else {
-                configuredConstraints = null;
+                configuredConstraints =
+                        engine.getSSLParameters().getAlgorithmConstraints();
             }
         }
         this.userSpecifiedConstraints = configuredConstraints;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.base/share/classes/sun/security/util/ArrayUtil.java	Tue Jul 17 11:05:06 2018 -0400
@@ -0,0 +1,55 @@
+/*
+ * 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 sun.security.util;
+
+import java.util.List;
+import java.util.function.BiFunction;
+import java.security.*;
+import jdk.internal.util.Preconditions;
+
+
+/**
+ * This class holds the various utility methods for array range checks.
+ */
+
+public final class ArrayUtil {
+
+    private static final BiFunction<String, List<Integer>,
+            ArrayIndexOutOfBoundsException> AIOOBE_SUPPLIER =
+            Preconditions.outOfBoundsExceptionFormatter
+            (ArrayIndexOutOfBoundsException::new);
+
+    public static void blockSizeCheck(int len, int blockSize) {
+        if ((len % blockSize) != 0) {
+            throw new ProviderException("Internal error in input buffering");
+        }
+    }
+
+    public static void nullAndBoundsCheck(byte[] array, int offset, int len) {
+        // NPE is thrown when array is null
+        Preconditions.checkFromIndexSize(offset, len, array.length, AIOOBE_SUPPLIER);
+    }
+}
--- a/src/java.base/share/classes/sun/util/cldr/CLDRTimeZoneNameProviderImpl.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/share/classes/sun/util/cldr/CLDRTimeZoneNameProviderImpl.java	Tue Jul 17 11:05:06 2018 -0400
@@ -130,7 +130,8 @@
 
         // Fill in for the empty names.
         // English names are prefilled for performance.
-        if (locale.getLanguage() != "en") {
+        if (!locale.equals(Locale.ENGLISH) &&
+            !locale.equals(Locale.US)) {
             for (int zoneIndex = 0; zoneIndex < ret.length; zoneIndex++) {
                 deriveFallbackNames(ret[zoneIndex], locale);
             }
Binary file src/java.base/share/lib/security/cacerts has changed
--- a/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -72,7 +72,7 @@
 #define fstat64 fstat
 #define lstat64 lstat
 #define dirent64 dirent
-#define readdir64_r readdir_r
+#define readdir64 readdir
 #endif
 
 #include "jni.h"
@@ -425,9 +425,17 @@
 
 JNIEXPORT void JNICALL
 Java_sun_nio_fs_UnixNativeDispatcher_close0(JNIEnv* env, jclass this, jint fd) {
-    int err;
-    /* TDB - need to decide if EIO and other errors should cause exception */
-    RESTARTABLE(close((int)fd), err);
+    int res;
+
+#if defined(_AIX)
+    /* AIX allows close to be restarted after EINTR */
+    RESTARTABLE(close((int)fd), res);
+#else
+    res = close((int)fd);
+#endif
+    if (res == -1 && errno != EINTR) {
+        throwUnixException(env, errno);
+    }
 }
 
 JNIEXPORT jint JNICALL
@@ -720,41 +728,23 @@
 
 JNIEXPORT jbyteArray JNICALL
 Java_sun_nio_fs_UnixNativeDispatcher_readdir(JNIEnv* env, jclass this, jlong value) {
-    struct dirent64* result;
-    struct {
-        struct dirent64 buf;
-        char name_extra[PATH_MAX + 1 - sizeof result->d_name];
-    } entry;
-    struct dirent64* ptr = &entry.buf;
-    int res;
     DIR* dirp = jlong_to_ptr(value);
+    struct dirent64* ptr;
 
-    /* EINTR not listed as a possible error */
-    /* TDB: reentrant version probably not required here */
-    res = readdir64_r(dirp, ptr, &result);
-
-#ifdef _AIX
-    /* On AIX, readdir_r() returns EBADF (i.e. '9') and sets 'result' to NULL for the */
-    /* directory stream end. Otherwise, 'errno' will contain the error code. */
-    if (res != 0) {
-        res = (result == NULL && res == EBADF) ? 0 : errno;
-    }
-#endif
-
-    if (res != 0) {
-        throwUnixException(env, res);
+    errno = 0;
+    ptr = readdir64(dirp);
+    if (ptr == NULL) {
+        if (errno != 0) {
+            throwUnixException(env, errno);
+        }
         return NULL;
     } else {
-        if (result == NULL) {
-            return NULL;
-        } else {
-            jsize len = strlen(ptr->d_name);
-            jbyteArray bytes = (*env)->NewByteArray(env, len);
-            if (bytes != NULL) {
-                (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)(ptr->d_name));
-            }
-            return bytes;
+        jsize len = strlen(ptr->d_name);
+        jbyteArray bytes = (*env)->NewByteArray(env, len);
+        if (bytes != NULL) {
+            (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)(ptr->d_name));
         }
+        return bytes;
     }
 }
 
--- a/src/java.base/windows/native/libjava/WinNTFileSystem_md.c	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/windows/native/libjava/WinNTFileSystem_md.c	Tue Jul 17 11:05:06 2018 -0400
@@ -36,6 +36,7 @@
 #include <windows.h>
 #include <io.h>
 #include <limits.h>
+#include <wchar.h>
 
 #include "jni.h"
 #include "io_util.h"
@@ -137,28 +138,10 @@
                              result[5] == L'N' &&
                              result[6] == L'C');
                 int prefixLen = (isUnc) ? 7 : 4;
-                /* actual result length (includes terminator) */
-                int resultLen = len - prefixLen + (isUnc ? 1 : 0) + 1;
-
-                /* copy result without prefix into new buffer */
-                WCHAR *tmp = (WCHAR*)malloc(resultLen * sizeof(WCHAR));
-                if (tmp == NULL) {
-                    JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
-                    len = 0;
-                } else {
-                    WCHAR *p = result;
-                    p += prefixLen;
-                    if (isUnc) {
-                        WCHAR *p2 = tmp;
-                        p2[0] = L'\\';
-                        p2++;
-                        wcscpy(p2, p);
-                    } else {
-                        wcscpy(tmp, p);
-                    }
-                    free(result);
-                    result = tmp;
-                }
+                int prefixToKeep = (isUnc) ? 1 : 0;
+                // the amount to copy includes terminator
+                int amountToCopy = len - prefixLen + 1;
+                wmemmove(result + prefixToKeep, result + prefixLen, amountToCopy);
             }
         }
 
--- a/src/java.base/windows/native/libjava/io_util_md.c	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.base/windows/native/libjava/io_util_md.c	Tue Jul 17 11:05:06 2018 -0400
@@ -165,9 +165,6 @@
                      pathbuf = (WCHAR*)malloc((pathlen + 6) * sizeof(WCHAR));
                      if (pathbuf != 0) {
                          wcscpy(pathbuf, ps);
-                     } else {
-                         JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
-                         return NULL;
                      }
                  }
             } else {
@@ -191,9 +188,6 @@
                     pathbuf = (WCHAR*)malloc((pathlen + 6) * sizeof(WCHAR));
                     if (pathbuf != 0) {
                         wcscpy(pathbuf, ps);
-                    } else {
-                        JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
-                        return NULL;
                     }
                 }
             }
@@ -210,15 +204,11 @@
             pathbuf = (WCHAR*)malloc(sizeof(WCHAR));
             if (pathbuf != NULL) {
                 pathbuf[0] = L'\0';
-            } else {
-                JNU_ThrowOutOfMemoryError(env, 0);
-                return NULL;
             }
         }
     }
     if (pathbuf == 0) {
-        JNU_ThrowOutOfMemoryError(env, 0);
-        return NULL;
+        JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
     }
     return pathbuf;
 }
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java	Tue Jul 17 11:05:06 2018 -0400
@@ -378,7 +378,7 @@
 
         // Either java.awt.Frame or java.awt.Dialog can be resizable, however java.awt.Window is never resizable
         {
-            final boolean resizable = isFrame ? ((Frame)target).isResizable() : (isDialog ? ((Dialog)target).isResizable() : false);
+            final boolean resizable = isTargetResizable() && isNativelyFocusableWindow();
             styleBits = SET(styleBits, RESIZABLE, resizable);
             if (!resizable) {
                 styleBits = SET(styleBits, ZOOMABLE, false);
@@ -482,6 +482,16 @@
         return styleBits;
     }
 
+    private boolean isTargetResizable() {
+        if (target instanceof Frame) {
+            return ((Frame)target).isResizable();
+        } else if (target instanceof Dialog) {
+            return ((Dialog)target).isResizable();
+        }
+
+        return false;
+    }
+
     // this is the counter-point to -[CWindow _nativeSetStyleBit:]
     private void setStyleBits(final int mask, final boolean value) {
         execute(ptr -> nativeSetNSWindowStyleBits(ptr, mask, value ? mask : 0));
@@ -676,10 +686,9 @@
         // Manage the extended state when showing
         if (visible) {
             /* Frame or Dialog should be set property WINDOW_FULLSCREENABLE to true if the
-            Frame or Dialog is resizable.
+            Frame or Dialog is resizable and focusable.
             **/
-            final boolean resizable = (target instanceof Frame) ? ((Frame)target).isResizable() :
-            ((target instanceof Dialog) ? ((Dialog)target).isResizable() : false);
+            final boolean resizable = isTargetResizable() && isNativelyFocusableWindow();
             if (resizable) {
                 setCanFullscreen(true);
             }
@@ -814,9 +823,10 @@
 
     @Override
     public void setResizable(final boolean resizable) {
-        setCanFullscreen(resizable);
-        setStyleBits(RESIZABLE, resizable);
-        setStyleBits(ZOOMABLE, resizable);
+        final boolean windowResizable = resizable && isNativelyFocusableWindow();
+        setCanFullscreen(windowResizable);
+        setStyleBits(RESIZABLE, windowResizable);
+        setStyleBits(ZOOMABLE, windowResizable);
     }
 
     @Override
@@ -858,8 +868,8 @@
 
     @Override
     public void updateFocusableWindowState() {
-        final boolean isFocusable = isNativelyFocusableWindow();
-        setStyleBits(SHOULD_BECOME_KEY | SHOULD_BECOME_MAIN | RESIZABLE, isFocusable); // set bits at once
+        setStyleBits(SHOULD_BECOME_KEY | SHOULD_BECOME_MAIN | RESIZABLE,
+                (isNativelyFocusableWindow() && isTargetResizable()));
     }
 
     @Override
--- a/src/java.desktop/share/classes/javax/swing/text/html/ImageView.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/ImageView.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, 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
@@ -24,13 +24,41 @@
  */
 package javax.swing.text.html;
 
-import java.awt.*;
+import java.awt.Rectangle;
+import java.awt.Image;
+import java.awt.Container;
+import java.awt.Color;
+import java.awt.Shape;
+import java.awt.Graphics;
+import java.awt.Toolkit;
+
 import java.awt.image.ImageObserver;
-import java.net.*;
+import java.net.URL;
+import java.net.MalformedURLException;
+
 import java.util.Dictionary;
-import javax.swing.*;
-import javax.swing.text.*;
-import javax.swing.event.*;
+
+import javax.swing.GrayFilter;
+import javax.swing.ImageIcon;
+import javax.swing.Icon;
+import javax.swing.UIManager;
+import javax.swing.SwingUtilities;
+
+import javax.swing.text.JTextComponent;
+import javax.swing.text.StyledDocument;
+import javax.swing.text.View;
+import javax.swing.text.AttributeSet;
+import javax.swing.text.Element;
+import javax.swing.text.ViewFactory;
+import javax.swing.text.Position;
+import javax.swing.text.Segment;
+import javax.swing.text.Highlighter;
+import javax.swing.text.LayeredHighlighter;
+import javax.swing.text.AbstractDocument;
+import javax.swing.text.Document;
+import javax.swing.text.BadLocationException;
+
+import javax.swing.event.DocumentEvent;
 
 /**
  * View of an Image, intended to support the HTML &lt;IMG&gt; tag.
@@ -744,12 +772,22 @@
             // anything that might cause the image to be loaded, and thus the
             // ImageHandler to be called.
             newWidth = getIntAttr(HTML.Attribute.WIDTH, -1);
+            newHeight = getIntAttr(HTML.Attribute.HEIGHT, -1);
+
             if (newWidth > 0) {
                 newState |= WIDTH_FLAG;
+                if (newHeight <= 0) {
+                    newHeight = newWidth;
+                    newState |= HEIGHT_FLAG;
+                }
             }
-            newHeight = getIntAttr(HTML.Attribute.HEIGHT, -1);
+
             if (newHeight > 0) {
                 newState |= HEIGHT_FLAG;
+                if (newWidth <= 0) {
+                    newWidth = newHeight;
+                    newState |= WIDTH_FLAG;
+                }
             }
 
             if (newWidth <= 0) {
--- a/src/java.xml/share/classes/javax/xml/stream/events/StartElement.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/java.xml/share/classes/javax/xml/stream/events/StartElement.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 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
@@ -47,11 +47,11 @@
   public QName getName();
 
   /**
-   * Returns an Iterator of non-namespace declared attributes declared on
-   * this START_ELEMENT,
-   * returns an empty iterator if there are no attributes.  The
-   * iterator must contain only implementations of the javax.xml.stream.Attribute
-   * interface.   Attributes are fundamentally unordered and may not be reported
+   * Returns an Iterator of non-namespace attributes declared on this START_ELEMENT.
+   * Returns an empty iterator if there are no attributes.
+   * The iterator must contain only implementations of the
+   * {@link Attribute} interface.
+   * Attributes are fundamentally unordered and may be reported
    * in any order.
    *
    * @return a readonly Iterator over Attribute interfaces, or an
@@ -68,9 +68,9 @@
    * current context of namespace declarations.
    *
    * <p>The iterator must contain only implementations of the
-   * javax.xml.stream.Namespace interface.
+   * {@link Namespace} interface.
    *
-   * <p>A Namespace isA Attribute.  One
+   * <p>A {@link Namespace} is an {@link Attribute}.  One
    * can iterate over a list of namespaces as a list of attributes.
    * However this method returns only the list of namespaces
    * declared on this START_ELEMENT and does not
@@ -85,8 +85,8 @@
   public Iterator<Namespace> getNamespaces();
 
   /**
-   * Returns the attribute referred to by this name
-   * @param name the qname of the desired name
+   * Returns the attribute referred to by the qname.
+   * @param name the qname of the desired attribute
    * @return the attribute corresponding to the name value or null
    */
   public Attribute getAttributeByName(QName name);
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskPool.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskPool.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -27,10 +27,22 @@
 
 import java.io.PrintStream;
 import java.io.Writer;
+import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Queue;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
+
+import javax.tools.Diagnostic;
+import javax.tools.DiagnosticListener;
+import javax.tools.JavaFileManager;
+import javax.tools.JavaFileObject;
 
 import com.sun.source.tree.ClassTree;
 import com.sun.source.tree.CompilationUnitTree;
@@ -53,21 +65,8 @@
 import com.sun.tools.javac.comp.Modules;
 import com.sun.tools.javac.main.Arguments;
 import com.sun.tools.javac.main.JavaCompiler;
+import com.sun.tools.javac.model.JavacElements;
 import com.sun.tools.javac.tree.JCTree.JCClassDecl;
-
-import javax.tools.Diagnostic;
-import javax.tools.DiagnosticListener;
-import javax.tools.JavaFileManager;
-import javax.tools.JavaFileObject;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.StreamSupport;
-
-import com.sun.tools.javac.model.JavacElements;
 import com.sun.tools.javac.util.Context;
 import com.sun.tools.javac.util.DefinedBy;
 import com.sun.tools.javac.util.DefinedBy.Api;
@@ -101,9 +100,10 @@
 public class JavacTaskPool {
 
     private static final JavacTool systemProvider = JavacTool.create();
+    private static final Queue<ReusableContext> EMPTY_QUEUE = new ArrayDeque<>(0);
 
     private final int maxPoolSize;
-    private final Map<List<String>, List<ReusableContext>> options2Contexts = new HashMap<>();
+    private final Map<List<String>, Queue<ReusableContext>> options2Contexts = new HashMap<>();
     private int id;
 
     private int statReused = 0;
@@ -159,14 +159,14 @@
         ReusableContext ctx;
 
         synchronized (this) {
-            List<ReusableContext> cached =
-                    options2Contexts.getOrDefault(opts, Collections.emptyList());
+            Queue<ReusableContext> cached =
+                    options2Contexts.getOrDefault(opts, EMPTY_QUEUE);
 
             if (cached.isEmpty()) {
                 ctx = new ReusableContext(opts);
                 statNew++;
             } else {
-                ctx = cached.remove(0);
+                ctx = cached.remove();
                 statReused++;
             }
         }
@@ -200,7 +200,7 @@
                     options2Contexts.get(toRemove.arguments).remove(toRemove);
                     statRemoved++;
                 }
-                options2Contexts.computeIfAbsent(ctx.arguments, x -> new ArrayList<>()).add(ctx);
+                options2Contexts.computeIfAbsent(ctx.arguments, x -> new ArrayDeque<>()).add(ctx);
                 ctx.timeStamp = id++;
             }
         }
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java	Tue Jul 17 11:05:06 2018 -0400
@@ -121,7 +121,7 @@
         this.name = name;
     }
 
-    public static final Source MIN = Source.JDK6;
+    public static final Source MIN = Source.JDK7;
 
     private static final Source MAX = values()[values().length - 1];
 
@@ -156,19 +156,9 @@
     public enum Feature {
 
         DIAMOND(JDK7, Fragments.FeatureDiamond, DiagKind.NORMAL),
-        MULTICATCH(JDK7, Fragments.FeatureMulticatch, DiagKind.PLURAL),
-        IMPROVED_RETHROW_ANALYSIS(JDK7),
-        IMPROVED_CATCH_ANALYSIS(JDK7),
         MODULES(JDK9, Fragments.FeatureModules, DiagKind.PLURAL),
-        TRY_WITH_RESOURCES(JDK7, Fragments.FeatureTryWithResources, DiagKind.NORMAL),
         EFFECTIVELY_FINAL_VARIABLES_IN_TRY_WITH_RESOURCES(JDK9, Fragments.FeatureVarInTryWithResources, DiagKind.PLURAL),
-        BINARY_LITERALS(JDK7, Fragments.FeatureBinaryLit, DiagKind.PLURAL),
-        UNDERSCORES_IN_LITERALS(JDK7, Fragments.FeatureUnderscoreLit, DiagKind.PLURAL),
-        STRINGS_IN_SWITCH(JDK7, Fragments.FeatureStringSwitch, DiagKind.PLURAL),
         DEPRECATION_ON_IMPORT(MIN, JDK8),
-        SIMPLIFIED_VARARGS(JDK7),
-        OBJECT_TO_PRIMITIVE_CAST(JDK7),
-        ENFORCE_THIS_DOT_INIT(JDK7),
         POLY(JDK8),
         LAMBDA(JDK8, Fragments.FeatureLambda, DiagKind.PLURAL),
         METHOD_REFERENCES(JDK8, Fragments.FeatureMethodReferences, DiagKind.PLURAL),
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java	Tue Jul 17 11:05:06 2018 -0400
@@ -89,7 +89,6 @@
     final Symtab syms;
     final JavacMessages messages;
     final Names names;
-    final boolean allowObjectToPrimitiveCast;
     final boolean allowDefaultMethods;
     final boolean mapCapturesToBounds;
     final Check chk;
@@ -113,7 +112,6 @@
         syms = Symtab.instance(context);
         names = Names.instance(context);
         Source source = Source.instance(context);
-        allowObjectToPrimitiveCast = Feature.OBJECT_TO_PRIMITIVE_CAST.allowedInSource(source);
         allowDefaultMethods = Feature.DEFAULT_METHODS.allowedInSource(source);
         mapCapturesToBounds = Feature.MAP_CAPTURES_TO_BOUNDS.allowedInSource(source);
         chk = Check.instance(context);
@@ -1639,8 +1637,7 @@
         if (t.isPrimitive() != s.isPrimitive()) {
             t = skipTypeVars(t, false);
             return (isConvertible(t, s, warn)
-                    || (allowObjectToPrimitiveCast &&
-                        s.isPrimitive() &&
+                    || (s.isPrimitive() &&
                         isSubtype(boxedClass(s).type, t)));
         }
         if (warn != warnStack.head) {
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Analyzer.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Analyzer.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -25,11 +25,20 @@
 
 package com.sun.tools.javac.comp;
 
-import java.util.ArrayList;
+import java.util.ArrayDeque;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Queue;
+import java.util.function.Predicate;
 
 import com.sun.source.tree.LambdaExpressionTree;
+import com.sun.source.tree.NewClassTree;
+import com.sun.tools.javac.code.Flags;
+import com.sun.tools.javac.code.Kinds.Kind;
 import com.sun.tools.javac.code.Source;
 import com.sun.tools.javac.code.Source.Feature;
+import com.sun.tools.javac.code.Symbol.ClassSymbol;
 import com.sun.tools.javac.code.Type;
 import com.sun.tools.javac.code.Types;
 import com.sun.tools.javac.comp.ArgumentAttr.LocalCacheContext;
@@ -48,7 +57,9 @@
 import com.sun.tools.javac.tree.JCTree.JCNewClass;
 import com.sun.tools.javac.tree.JCTree.JCStatement;
 import com.sun.tools.javac.tree.JCTree.JCSwitch;
+import com.sun.tools.javac.tree.JCTree.JCTry;
 import com.sun.tools.javac.tree.JCTree.JCTypeApply;
+import com.sun.tools.javac.tree.JCTree.JCUnary;
 import com.sun.tools.javac.tree.JCTree.JCVariableDecl;
 import com.sun.tools.javac.tree.JCTree.JCWhileLoop;
 import com.sun.tools.javac.tree.JCTree.Tag;
@@ -56,9 +67,11 @@
 import com.sun.tools.javac.tree.TreeInfo;
 import com.sun.tools.javac.tree.TreeMaker;
 import com.sun.tools.javac.tree.TreeScanner;
+import com.sun.tools.javac.util.Assert;
 import com.sun.tools.javac.util.Context;
 import com.sun.tools.javac.util.DefinedBy;
 import com.sun.tools.javac.util.DefinedBy.Api;
+import com.sun.tools.javac.util.DiagnosticSource;
 import com.sun.tools.javac.util.JCDiagnostic.DiagnosticType;
 import com.sun.tools.javac.util.List;
 import com.sun.tools.javac.util.ListBuffer;
@@ -66,20 +79,6 @@
 import com.sun.tools.javac.util.Options;
 import com.sun.tools.javac.util.Position;
 
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Predicate;
-
-import com.sun.source.tree.NewClassTree;
-import com.sun.tools.javac.code.Flags;
-import com.sun.tools.javac.code.Kinds.Kind;
-import com.sun.tools.javac.code.Symbol.ClassSymbol;
-import com.sun.tools.javac.tree.JCTree.JCTry;
-import com.sun.tools.javac.tree.JCTree.JCUnary;
-import com.sun.tools.javac.util.Assert;
-import com.sun.tools.javac.util.DiagnosticSource;
-
 import static com.sun.tools.javac.code.Flags.GENERATEDCONSTR;
 import static com.sun.tools.javac.code.TypeTag.CLASS;
 import static com.sun.tools.javac.tree.JCTree.Tag.APPLY;
@@ -475,7 +474,7 @@
      * Analyze an AST node; this involves collecting a list of all the nodes that needs rewriting,
      * and speculatively type-check the rewritten code to compare results against previously attributed code.
      */
-    void analyze(JCStatement statement, Env<AttrContext> env) {
+    protected void analyze(JCStatement statement, Env<AttrContext> env) {
         StatementScanner statementScanner = new StatementScanner(statement, env);
         statementScanner.scan();
 
@@ -521,11 +520,11 @@
      */
     DeferredAnalysisHelper queueDeferredHelper = new DeferredAnalysisHelper() {
 
-        Map<ClassSymbol, ArrayList<RewritingContext>> Q = new HashMap<>();
+        Map<ClassSymbol, Queue<RewritingContext>> Q = new HashMap<>();
 
         @Override
         public void queue(RewritingContext rewriting) {
-            ArrayList<RewritingContext> s = Q.computeIfAbsent(rewriting.env.enclClass.sym.outermostClass(), k -> new ArrayList<>());
+            Queue<RewritingContext> s = Q.computeIfAbsent(rewriting.env.enclClass.sym.outermostClass(), k -> new ArrayDeque<>());
             s.add(rewriting);
         }
 
@@ -535,9 +534,9 @@
                 DeferredAnalysisHelper prevHelper = deferredAnalysisHelper;
                 try {
                     deferredAnalysisHelper = flushDeferredHelper;
-                    ArrayList<RewritingContext> rewritings = Q.get(flushEnv.enclClass.sym.outermostClass());
+                    Queue<RewritingContext> rewritings = Q.get(flushEnv.enclClass.sym.outermostClass());
                     while (rewritings != null && !rewritings.isEmpty()) {
-                        doAnalysis(rewritings.remove(0));
+                        doAnalysis(rewritings.remove());
                     }
                 } finally {
                     deferredAnalysisHelper = prevHelper;
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java	Tue Jul 17 11:05:06 2018 -0400
@@ -71,6 +71,7 @@
 import static com.sun.tools.javac.code.Kinds.Kind.*;
 import static com.sun.tools.javac.code.TypeTag.*;
 import static com.sun.tools.javac.code.TypeTag.WILDCARD;
+import com.sun.tools.javac.comp.Analyzer.AnalyzerMode;
 import static com.sun.tools.javac.tree.JCTree.Tag.*;
 import com.sun.tools.javac.util.JCDiagnostic.DiagnosticFlag;
 
@@ -153,7 +154,6 @@
         Options options = Options.instance(context);
 
         Source source = Source.instance(context);
-        allowStringsInSwitch = Feature.STRINGS_IN_SWITCH.allowedInSource(source);
         allowPoly = Feature.POLY.allowedInSource(source);
         allowTypeAnnos = Feature.TYPE_ANNOTATIONS.allowedInSource(source);
         allowLambda = Feature.LAMBDA.allowedInSource(source);
@@ -198,11 +198,6 @@
     boolean useBeforeDeclarationWarning;
 
     /**
-     * Switch: allow strings in switch?
-     */
-    boolean allowStringsInSwitch;
-
-    /**
      * Switch: name of source level; used for error reporting.
      */
     String sourceName;
@@ -396,7 +391,9 @@
     public Env<AttrContext> attribExprToTree(JCTree expr, Env<AttrContext> env, JCTree tree) {
         breakTree = tree;
         JavaFileObject prev = log.useSource(env.toplevel.sourcefile);
+        EnumSet<AnalyzerMode> analyzerModes = EnumSet.copyOf(analyzer.analyzerModes);
         try {
+            analyzer.analyzerModes.clear();
             attribExpr(expr, env);
         } catch (BreakAttr b) {
             return b.env;
@@ -409,6 +406,7 @@
         } finally {
             breakTree = null;
             log.useSource(prev);
+            analyzer.analyzerModes.addAll(analyzerModes);
         }
         return env;
     }
@@ -416,7 +414,9 @@
     public Env<AttrContext> attribStatToTree(JCTree stmt, Env<AttrContext> env, JCTree tree) {
         breakTree = tree;
         JavaFileObject prev = log.useSource(env.toplevel.sourcefile);
+        EnumSet<AnalyzerMode> analyzerModes = EnumSet.copyOf(analyzer.analyzerModes);
         try {
+            analyzer.analyzerModes.clear();
             attribStat(stmt, env);
         } catch (BreakAttr b) {
             return b.env;
@@ -429,6 +429,7 @@
         } finally {
             breakTree = null;
             log.useSource(prev);
+            analyzer.analyzerModes.addAll(analyzerModes);
         }
         return env;
     }
@@ -1403,9 +1404,6 @@
 
             boolean enumSwitch = (seltype.tsym.flags() & Flags.ENUM) != 0;
             boolean stringSwitch = types.isSameType(seltype, syms.stringType);
-            if (stringSwitch && !allowStringsInSwitch) {
-                log.error(DiagnosticFlag.SOURCE_LEVEL, tree.selector.pos(), Feature.STRINGS_IN_SWITCH.error(sourceName));
-            }
             if (!enumSwitch && !stringSwitch)
                 seltype = chk.checkType(tree.selector.pos(), seltype, syms.intType);
 
@@ -2762,7 +2760,7 @@
                     JCLambda lambda = (JCLambda)tree;
                     List<Type> argtypes = List.nil();
                     for (JCVariableDecl param : lambda.params) {
-                        argtypes = param.vartype != null ?
+                        argtypes = param.vartype != null && param.vartype.type != null ?
                                 argtypes.append(param.vartype.type) :
                                 argtypes.append(syms.errType);
                     }
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java	Tue Jul 17 11:05:06 2018 -0400
@@ -236,7 +236,7 @@
      *  @param pos        Position to be used for error reporting.
      */
     void warnUnsafeVararg(DiagnosticPosition pos, Warning warnKey) {
-        if (lint.isEnabled(LintCategory.VARARGS) && Feature.SIMPLIFIED_VARARGS.allowedInSource(source))
+        if (lint.isEnabled(LintCategory.VARARGS))
             log.warning(LintCategory.VARARGS, pos, warnKey);
     }
 
@@ -886,7 +886,6 @@
 
     void checkVarargsMethodDecl(Env<AttrContext> env, JCMethodDecl tree) {
         MethodSymbol m = tree.sym;
-        if (!Feature.SIMPLIFIED_VARARGS.allowedInSource(source)) return;
         boolean hasTrustMeAnno = m.attribute(syms.trustMeType.tsym) != null;
         Type varargElemType = null;
         if (m.isVarArgs()) {
@@ -998,16 +997,12 @@
         if (useVarargs) {
             Type argtype = owntype.getParameterTypes().last();
             if (!types.isReifiable(argtype) &&
-                (!Feature.SIMPLIFIED_VARARGS.allowedInSource(source) ||
-                 sym.baseSymbol().attribute(syms.trustMeType.tsym) == null ||
+                (sym.baseSymbol().attribute(syms.trustMeType.tsym) == null ||
                  !isTrustMeAllowedOnMethod(sym))) {
                 warnUnchecked(env.tree.pos(), Warnings.UncheckedGenericArrayCreation(argtype));
             }
             TreeInfo.setVarargsElement(env.tree, types.elemtype(argtype));
          }
-         if ((sym.flags() & SIGNATURE_POLYMORPHIC) != 0 && !target.hasMethodHandles()) {
-            log.error(env.tree, Errors.BadTargetSigpolyCall(target, Target.JDK1_7));
-         }
          return owntype;
     }
     //where
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java	Tue Jul 17 11:05:06 2018 -0400
@@ -200,10 +200,7 @@
     private final JCDiagnostic.Factory diags;
     private Env<AttrContext> attrEnv;
     private       Lint lint;
-    private final boolean allowImprovedRethrowAnalysis;
-    private final boolean allowImprovedCatchAnalysis;
     private final boolean allowEffectivelyFinalInInnerClasses;
-    private final boolean enforceThisDotInit;
 
     public static Flow instance(Context context) {
         Flow instance = context.get(flowKey);
@@ -294,10 +291,7 @@
         rs = Resolve.instance(context);
         diags = JCDiagnostic.Factory.instance(context);
         Source source = Source.instance(context);
-        allowImprovedRethrowAnalysis = Feature.IMPROVED_RETHROW_ANALYSIS.allowedInSource(source);
-        allowImprovedCatchAnalysis = Feature.IMPROVED_CATCH_ANALYSIS.allowedInSource(source);
         allowEffectivelyFinalInInnerClasses = Feature.EFFECTIVELY_FINAL_IN_INNER_CLASSES.allowedInSource(source);
-        enforceThisDotInit = Feature.ENFORCE_THIS_DOT_INIT.allowedInSource(source);
     }
 
     /**
@@ -1106,9 +1100,7 @@
                 }
             }
             scan(tree.body);
-            List<Type> thrownInTry = allowImprovedCatchAnalysis ?
-                chk.union(thrown, List.of(syms.runtimeExceptionType, syms.errorType)) :
-                thrown;
+            List<Type> thrownInTry = chk.union(thrown, List.of(syms.runtimeExceptionType, syms.errorType));
             thrown = thrownPrev;
             caught = caughtPrev;
 
@@ -1177,7 +1169,7 @@
                     !isExceptionOrThrowable(exc) &&
                     !chk.intersects(exc, thrownInTry)) {
                 log.error(pos, Errors.ExceptNeverThrownInTry(exc));
-            } else if (allowImprovedCatchAnalysis) {
+            } else {
                 List<Type> catchableThrownTypes = chk.intersect(List.of(exc), thrownInTry);
                 // 'catchableThrownTypes' cannnot possibly be empty - if 'exc' was an
                 // unchecked exception, the result list would not be empty, as the augmented
@@ -1217,8 +1209,7 @@
             if (sym != null &&
                 sym.kind == VAR &&
                 (sym.flags() & (FINAL | EFFECTIVELY_FINAL)) != 0 &&
-                preciseRethrowTypes.get(sym) != null &&
-                allowImprovedRethrowAnalysis) {
+                preciseRethrowTypes.get(sym) != null) {
                 for (Type t : preciseRethrowTypes.get(sym)) {
                     markThrown(tree, t);
                 }
@@ -2401,9 +2392,8 @@
         // assigned before reading their value
         public void visitSelect(JCFieldAccess tree) {
             super.visitSelect(tree);
-            if (enforceThisDotInit &&
-                    TreeInfo.isThisQualifier(tree.selected) &&
-                    tree.sym.kind == VAR) {
+            if (TreeInfo.isThisQualifier(tree.selected) &&
+                tree.sym.kind == VAR) {
                 checkInit(tree.pos(), (VarSymbol)tree.sym);
             }
         }
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java	Tue Jul 17 11:05:06 2018 -0400
@@ -100,7 +100,6 @@
     ModuleFinder moduleFinder;
     Types types;
     JCDiagnostic.Factory diags;
-    public final boolean allowMethodHandles;
     public final boolean allowFunctionalInterfaceMostSpecific;
     public final boolean allowModules;
     public final boolean checkVarargsAccessAfterResolution;
@@ -135,7 +134,6 @@
                 options.isUnset(Option.XDIAGS) && options.isUnset("rawDiagnostics");
         verboseResolutionMode = VerboseResolutionMode.getVerboseResolutionMode(options);
         Target target = Target.instance(context);
-        allowMethodHandles = target.hasMethodHandles();
         allowFunctionalInterfaceMostSpecific = Feature.FUNCTIONAL_INTERFACE_MOST_SPECIFIC.allowedInSource(source);
         allowLocalVariableTypeInference = Feature.LOCAL_VARIABLE_TYPE_INFERENCE.allowedInSource(source);
         checkVarargsAccessAfterResolution =
@@ -2659,7 +2657,7 @@
             Symbol access(Env<AttrContext> env, DiagnosticPosition pos, Symbol location, Symbol sym) {
                 if (sym.kind.isResolutionError()) {
                     sym = super.access(env, pos, location, sym);
-                } else if (allowMethodHandles) {
+                } else {
                     MethodSymbol msym = (MethodSymbol)sym;
                     if ((msym.flags() & SIGNATURE_POLYMORPHIC) != 0) {
                         env.info.pendingResolutionPhase = BASIC;
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Tue Jul 17 11:05:06 2018 -0400
@@ -105,10 +105,6 @@
      */
     public boolean readAllOfClassFile = false;
 
-    /** Switch: allow simplified varargs.
-     */
-    boolean allowSimplifiedVarargs;
-
     /** Switch: allow modules.
      */
     boolean allowModules;
@@ -276,7 +272,6 @@
 
         Source source = Source.instance(context);
         preview = Preview.instance(context);
-        allowSimplifiedVarargs = Feature.SIMPLIFIED_VARARGS.allowedInSource(source);
         allowModules     = Feature.MODULES.allowedInSource(source);
 
         saveParameterNames = options.isSet(PARAMETERS);
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java	Tue Jul 17 11:05:06 2018 -0400
@@ -125,7 +125,6 @@
             : options.isSet(G_CUSTOM, "vars");
         genCrt = options.isSet(XJCOV);
         debugCode = options.isSet("debug.code");
-        allowBetterNullChecks = target.hasObjects();
         disableVirtualizedPrivateInvoke = options.isSet("disableVirtualizedPrivateInvoke");
         pool = new Pool(types);
 
@@ -140,7 +139,6 @@
     private final boolean varDebugInfo;
     private final boolean genCrt;
     private final boolean debugCode;
-    private final boolean allowBetterNullChecks;
     private boolean disableVirtualizedPrivateInvoke;
 
     /** Code buffer, set by genMethod.
@@ -1919,13 +1917,8 @@
     /** Generate a null check from the object value at stack top. */
     private void genNullCheck(JCTree tree) {
         code.statBegin(tree.pos);
-        if (allowBetterNullChecks) {
-            callMethod(tree.pos(), syms.objectsType, names.requireNonNull,
-                    List.of(syms.objectType), true);
-        } else {
-            callMethod(tree.pos(), syms.objectType, names.getClass,
-                    List.nil(), false);
-        }
+        callMethod(tree.pos(), syms.objectsType, names.requireNonNull,
+                   List.of(syms.objectType), true);
         code.emitop0(pop);
     }
 
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java	Tue Jul 17 11:05:06 2018 -0400
@@ -86,7 +86,7 @@
         return instance;
     }
 
-    public static final Target MIN = Target.JDK1_6;
+    public static final Target MIN = Target.JDK1_7;
 
     private static final Target MAX = values()[values().length - 1];
 
@@ -129,32 +129,12 @@
         return '$';
     }
 
-    /** Does the VM support an invokedynamic instruction?
-     */
-    public boolean hasInvokedynamic() {
-        return compareTo(JDK1_7) >= 0;
-    }
-
-    /** Does the target JDK contains the java.util.Objects class?
-     */
-    public boolean hasObjects() {
-        return compareTo(JDK1_7) >= 0;
-    }
-
     /** Does the target VM expect MethodParameters attributes?
      */
     public boolean hasMethodParameters() {
         return compareTo(JDK1_8) >= 0;
     }
 
-    /** Does the VM support polymorphic method handle invocation?
-     *  Affects the linkage information output to the classfile.
-     *  An alias for {@code hasInvokedynamic}, since all the JSR 292 features appear together.
-     */
-    public boolean hasMethodHandles() {
-        return hasInvokedynamic();
-    }
-
     /** Does the target JDK contain StringConcatFactory class?
      */
     public boolean hasStringConcatFactory() {
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java	Tue Jul 17 11:05:06 2018 -0400
@@ -26,9 +26,11 @@
 package com.sun.tools.javac.model;
 
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -184,7 +186,9 @@
     }
 
     private final Set<String> alreadyWarnedDuplicates = new HashSet<>();
+    private final Map<Pair<String, String>, Optional<Symbol>> resultCache = new HashMap<>();
 
+    @SuppressWarnings("unchecked")
     private <S extends Symbol> S unboundNameToSymbol(String methodName,
                                                      String nameStr,
                                                      Class<S> clazz) {
@@ -192,44 +196,46 @@
             return nameToSymbol(syms.noModule, nameStr, clazz);
         }
 
-        Set<S> found = new LinkedHashSet<>();
+        return (S) resultCache.computeIfAbsent(Pair.of(methodName, nameStr), p -> {
+            Set<S> found = new LinkedHashSet<>();
 
-        for (ModuleSymbol msym : modules.allModules()) {
-            S sym = nameToSymbol(msym, nameStr, clazz);
+            for (ModuleSymbol msym : modules.allModules()) {
+                S sym = nameToSymbol(msym, nameStr, clazz);
 
-            if (sym == null)
-                continue;
+                if (sym == null)
+                    continue;
 
-            if (clazz == ClassSymbol.class) {
-                // Always include classes
-                found.add(sym);
-            } else if (clazz == PackageSymbol.class) {
-                // In module mode, ignore the "spurious" empty packages that "enclose" module-specific packages.
-                // For example, if a module contains classes or package info in package p.q.r, it will also appear
-                // to have additional packages p.q and p, even though these packages have no content other
-                // than the subpackage.  We don't want those empty packages showing up in searches for p or p.q.
-                if (!sym.members().isEmpty() || ((PackageSymbol) sym).package_info != null) {
+                if (clazz == ClassSymbol.class) {
+                    // Always include classes
                     found.add(sym);
+                } else if (clazz == PackageSymbol.class) {
+                    // In module mode, ignore the "spurious" empty packages that "enclose" module-specific packages.
+                    // For example, if a module contains classes or package info in package p.q.r, it will also appear
+                    // to have additional packages p.q and p, even though these packages have no content other
+                    // than the subpackage.  We don't want those empty packages showing up in searches for p or p.q.
+                    if (!sym.members().isEmpty() || ((PackageSymbol) sym).package_info != null) {
+                        found.add(sym);
+                    }
                 }
             }
-        }
 
-        if (found.size() == 1) {
-            return found.iterator().next();
-        } else if (found.size() > 1) {
-            //more than one element found, produce a note:
-            if (alreadyWarnedDuplicates.add(methodName + ":" + nameStr)) {
-                String moduleNames = found.stream()
-                                          .map(s -> s.packge().modle)
-                                          .map(m -> m.toString())
-                                          .collect(Collectors.joining(", "));
-                log.note(Notes.MultipleElements(methodName, nameStr, moduleNames));
+            if (found.size() == 1) {
+                return Optional.of(found.iterator().next());
+            } else if (found.size() > 1) {
+                //more than one element found, produce a note:
+                if (alreadyWarnedDuplicates.add(methodName + ":" + nameStr)) {
+                    String moduleNames = found.stream()
+                                              .map(s -> s.packge().modle)
+                                              .map(m -> m.toString())
+                                              .collect(Collectors.joining(", "));
+                    log.note(Notes.MultipleElements(methodName, nameStr, moduleNames));
+                }
+                return Optional.empty();
+            } else {
+                //not found:
+                return Optional.empty();
             }
-            return null;
-        } else {
-            //not found, or more than one element found:
-            return null;
-        }
+        }).orElse(null);
     }
 
     /**
@@ -787,4 +793,8 @@
             throw new IllegalArgumentException(o.toString());
         return clazz.cast(o);
     }
+
+    public void newRound() {
+        resultCache.clear();
+    }
 }
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java	Tue Jul 17 11:05:06 2018 -0400
@@ -206,8 +206,6 @@
         do {
             if (reader.ch != '_') {
                 reader.putChar(false);
-            } else {
-                checkSourceLevel(pos, Feature.UNDERSCORES_IN_LITERALS);
             }
             saveCh = reader.ch;
             savePos = reader.bp;
@@ -518,7 +516,6 @@
                         skipIllegalUnderscores();
                         scanNumber(pos, 16);
                     } else if (reader.ch == 'b' || reader.ch == 'B') {
-                        checkSourceLevel(pos, Feature.BINARY_LITERALS);
                         reader.scanChar();
                         skipIllegalUnderscores();
                         scanNumber(pos, 2);
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java	Tue Jul 17 11:05:06 2018 -0400
@@ -2566,7 +2566,6 @@
             nextToken();
             List<JCTree> resources = List.nil();
             if (token.kind == LPAREN) {
-                checkSourceLevel(Feature.TRY_WITH_RESOURCES);
                 nextToken();
                 resources = resources();
                 accept(RPAREN);
@@ -2582,11 +2581,7 @@
                 }
             } else {
                 if (resources.isEmpty()) {
-                    if (Feature.TRY_WITH_RESOURCES.allowedInSource(source)) {
-                        log.error(DiagnosticFlag.SYNTAX, pos, Errors.TryWithoutCatchFinallyOrResourceDecls);
-                    } else {
-                        log.error(DiagnosticFlag.SYNTAX, pos, Errors.TryWithoutCatchOrFinally);
-                    }
+                    log.error(DiagnosticFlag.SYNTAX, pos, Errors.TryWithoutCatchFinallyOrResourceDecls);
                 }
             }
             return F.at(pos).Try(resources, body, catchers.toList(), finalizer);
@@ -2699,7 +2694,6 @@
         ListBuffer<JCExpression> catchTypes = new ListBuffer<>();
         catchTypes.add(parseType());
         while (token.kind == BAR) {
-            checkSourceLevel(Feature.MULTICATCH);
             nextToken();
             // Instead of qualident this is now parseType.
             // But would that allow too much, e.g. arrays or generics?
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1270,6 +1270,7 @@
             modules.newRound();
             types.newRound();
             annotate.newRound();
+            elementUtils.newRound();
 
             boolean foundError = false;
 
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties	Tue Jul 17 11:05:06 2018 -0400
@@ -1135,9 +1135,6 @@
 compiler.err.throws.not.allowed.in.intf.annotation=\
     throws clause not allowed in @interface members
 
-compiler.err.try.without.catch.or.finally=\
-    ''try'' without ''catch'' or ''finally''
-
 compiler.err.try.without.catch.finally.or.resource.decls=\
     ''try'' without ''catch'', ''finally'' or resource declarations
 
@@ -1720,11 +1717,6 @@
     cast to {0} for a varargs call\n\
     cast to {1} for a non-varargs call and to suppress this warning
 
-# 0: target, 1: target
-compiler.err.bad.target.sigpoly.call=\
-    polymorphic signature calls are not supported in -target {0}\n\
-    (use -target {1} or higher to enable polymorphic signature calls)
-
 # 0: list of type
 compiler.warn.unreachable.catch=\
     unreachable catch clause\n\
@@ -2740,15 +2732,6 @@
 compiler.misc.feature.diamond.and.anon.class=\
     ''<>'' with anonymous inner classes
 
-compiler.misc.feature.binary.lit=\
-    binary literals
-
-compiler.misc.feature.underscore.lit=\
-    underscores in literals
-
-compiler.misc.feature.try.with.resources=\
-    try-with-resources
-
 compiler.misc.feature.var.in.try.with.resources=\
     variables in try-with-resources
 
@@ -2764,12 +2747,6 @@
 compiler.misc.feature.diamond=\
     diamond operator
 
-compiler.misc.feature.multicatch=\
-    multi-catch statements
-
-compiler.misc.feature.string.switch=\
-    strings in switch
-
 compiler.misc.feature.lambda=\
     lambda expressions
 
--- a/src/jdk.crypto.ec/share/classes/sun/security/ec/XDHKeyAgreement.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.crypto.ec/share/classes/sun/security/ec/XDHKeyAgreement.java	Tue Jul 17 11:05:06 2018 -0400
@@ -69,13 +69,15 @@
 
         initImpl(key);
 
-        // the private key parameters must match params
-        XECParameters xecParams = XECParameters.get(
-            InvalidAlgorithmParameterException::new, params);
-        if (!xecParams.oidEquals(this.ops.getParameters())) {
-            throw new InvalidKeyException(
-                "Incorrect private key parameters"
-            );
+        // the private key parameters must match params, if present
+        if (params != null) {
+            XECParameters xecParams = XECParameters.get(
+                InvalidAlgorithmParameterException::new, params);
+            if (!xecParams.oidEquals(this.ops.getParameters())) {
+                throw new InvalidKeyException(
+                    "Incorrect private key parameters"
+                );
+            }
         }
     }
 
@@ -171,7 +173,9 @@
             throw new IllegalStateException("Not initialized correctly");
         }
 
-        return secret.clone();
+        byte[] result = secret;
+        secret = null;
+        return result;
     }
 
     @Override
@@ -189,7 +193,8 @@
         }
 
         System.arraycopy(this.secret, 0, sharedSecret, offset, secretLen);
-        return secret.length;
+        secret = null;
+        return secretLen;
     }
 
     @Override
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64AtomicMove.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64AtomicMove.java	Tue Jul 17 11:05:06 2018 -0400
@@ -83,7 +83,7 @@
             if (AArch64LIRFlagsVersioned.useLSE(masm.target.arch)) {
                 Register expected = asRegister(expectedValue);
                 masm.mov(size, result, expected);
-                masm.cas(size, expected, newVal, address, true /* acquire */, true /* release */);
+                masm.cas(size, result, newVal, address, true /* acquire */, true /* release */);
                 AArch64Compare.gpCompare(masm, resultValue, expectedValue);
             } else {
                 // We could avoid using a scratch register here, by reusing resultValue for the
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java	Tue Jul 17 11:05:06 2018 -0400
@@ -423,6 +423,21 @@
             ul.addContent(htmlTree);
         }
 
+        // Search
+        Content searchHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
+                contents.getContent("doclet.help.search.head"));
+        htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+                ? HtmlTree.SECTION(searchHead)
+                : HtmlTree.LI(HtmlStyle.blockList, searchHead);
+        Content searchBody = contents.getContent("doclet.help.search.body");
+        Content searchPara = HtmlTree.P(searchBody);
+        htmlTree.addContent(searchPara);
+        if (configuration.allowTag(HtmlTag.SECTION)) {
+            ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+        } else {
+            ul.addContent(htmlTree);
+        }
+
         Content divContent = HtmlTree.DIV(HtmlStyle.contentContainer, ul);
         divContent.addContent(new HtmlTree(HtmlTag.HR));
         Content footnote = HtmlTree.SPAN(HtmlStyle.emphasizedPhrase,
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties	Tue Jul 17 11:05:06 2018 -0400
@@ -192,6 +192,10 @@
     Annotation Type Declaration
 doclet.help.annotation_type.description=\
     Annotation Type Description
+doclet.help.search.head=Search
+doclet.help.search.body=You can search for definitions of modules, packages, types, fields, methods \
+    and other terms defined in the API, using some or all of the name. "Camel-case" abbreviations \
+    are supported: for example, "InpStr" will find "InputStream" and "InputStreamReader".
 
 doclet.ClassUse_Packages.that.use.0=Packages that use {0}
 doclet.ClassUse_Uses.of.0.in.1=Uses of {0} in {1}
--- a/src/jdk.jdi/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.jdi/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, 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
@@ -1153,7 +1153,7 @@
         this.genericSignatureGotten = true;
     }
 
-    private static boolean isPrimitiveArray(String signature) {
+    private static boolean isOneDimensionalPrimitiveArray(String signature) {
         int i = signature.lastIndexOf('[');
         /*
          * TO DO: Centralize JNI signature knowledge.
@@ -1162,7 +1162,7 @@
          *  jdk1.4/doc/guide/jpda/jdi/com/sun/jdi/doc-files/signature.html
          */
         boolean isPA;
-        if (i < 0) {
+        if (i < 0 || signature.startsWith("[[")) {
             isPA = false;
         } else {
             char c = signature.charAt(i + 1);
@@ -1186,7 +1186,7 @@
             ClassLoaderReferenceImpl loader =
                        (ClassLoaderReferenceImpl)classLoader();
             if ((loader == null) ||
-                (isPrimitiveArray(signature)) //Work around 4450091
+                (isOneDimensionalPrimitiveArray(signature)) //Work around 4450091
                 ) {
                 // Caller wants type of boot class field
                 type = vm.findBootType(signature);
--- a/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_ja.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_ja.java	Tue Jul 17 11:05:06 2018 -0400
@@ -91,7 +91,7 @@
             "\u5927\u6b63", // Taisho
             "\u662d\u548c", // Showa
             "\u5e73\u6210", // Heisei
-            "\u65b0\u5143\u53f7", // NewEra
+            "\u5143\u53f7", // NewEra
         };
         final String[] rocEras = {
             "\u6c11\u56fd\u524d",
--- a/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ja.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ja.java	Tue Jul 17 11:05:06 2018 -0400
@@ -154,7 +154,7 @@
             "\u5927\u6b63",
             "\u662d\u548c",
             "\u5e73\u6210",
-            "\u65b0\u5143\u53f7", // NewEra
+            "\u5143\u53f7", // NewEra
         };
 
         final String[] sharedJavaTimeShortEras = {
--- a/test/hotspot/gtest/logging/logTestUtils.inline.hpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/gtest/logging/logTestUtils.inline.hpp	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -95,6 +95,7 @@
   int buflen = 512;
   char* buf = NEW_RESOURCE_ARRAY(char, buflen);
   long pos = ftell(fp);
+  if (pos < 0) return NULL;
 
   char* ret = fgets(buf, buflen, fp);
   while (ret != NULL && buf[strlen(buf) - 1] != '\n' && !feof(fp)) {
--- a/test/hotspot/gtest/memory/test_metachunk.cpp	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/gtest/memory/test_metachunk.cpp	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -60,7 +60,7 @@
   // Check sizes
   EXPECT_EQ(metachunk->size(), metachunk->word_size());
   EXPECT_EQ(pointer_delta(metachunk->end(), metachunk->bottom(),
-                sizeof (MetaWord*)),
+                          sizeof (MetaWord)),
             metachunk->word_size());
 
   // Check usage
--- a/test/hotspot/jtreg/ProblemList.txt	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/ProblemList.txt	Tue Jul 17 11:05:06 2018 -0400
@@ -81,7 +81,6 @@
 
 serviceability/sa/TestRevPtrsForInvokeDynamic.java   8191270 generic-all
 serviceability/sa/sadebugd/SADebugDTest.java         8163805 generic-all
-serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCCMSTest.java 8205643 generic-all
 serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatArrayCorrectnessTest.java 8205541 generic-all
 serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatRateTest.java 8205652 generic-all
 
@@ -139,10 +138,6 @@
 vmTestbase/nsk/jvmti/AttachOnDemand/attach034/TestDescription.java 8042145 generic-all
 vmTestbase/nsk/jvmti/AttachOnDemand/attach045/TestDescription.java 8202971 generic-all
 vmTestbase/nsk/jvmti/unit/heap/HeapWalkTests/TestDescription.java 8016181 generic-all
-vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/TestDescription.java 8201513 generic-all
-vmTestbase/nsk/jvmti/IterateThroughHeap/filter-class-untagged/TestDescription.java 8201513 generic-all
-vmTestbase/nsk/jvmti/IterateThroughHeap/filter-class-tagged/TestDescription.java 8201513 generic-all
-vmTestbase/nsk/jvmti/IterateThroughHeap/filter-untagged/TestDescription.java 8201513 generic-all
 
 vmTestbase/gc/lock/jni/jnilock002/TestDescription.java 8191869,8192647 generic-all
 
@@ -166,7 +161,6 @@
 vmTestbase/vm/mlvm/indy/func/jvmti/mergeCP_indy2manyDiff_b/TestDescription.java 8013267 generic-all
 vmTestbase/vm/mlvm/indy/func/jvmti/mergeCP_indy2manySame_b/TestDescription.java 8013267 generic-all
 
-vmTestbase/nsk/jdb/exclude/exclude001/exclude001.java 8197938 windows-all
 
 vmTestbase/nsk/jdwp/ThreadReference/ForceEarlyReturn/forceEarlyReturn001/forceEarlyReturn001.java 7199837 generic-all
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/arraycopy/ACasLoadsStoresBadMem.java	Tue Jul 17 11:05:06 2018 -0400
@@ -0,0 +1,58 @@
+/*
+ * 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 8200282
+ * @summary arraycopy converted as a series of loads/stores uses wrong slice for loads
+ *
+ * @run main/othervm -XX:-TieredCompilation -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:CompileCommand=dontinline,ACasLoadsStoresBadMem::not_inlined  ACasLoadsStoresBadMem
+ *
+ */
+
+public class ACasLoadsStoresBadMem {
+    public static void main(String[] args) {
+        int[] dst = new int[5];
+        for (int i = 0; i < 20_000; i++) {
+            test1(dst, 1);
+            for (int j = 1; j < 5; j++) {
+                if (dst[j] != j) {
+                    throw new RuntimeException("Bad copy ");
+                }
+            }
+        }
+    }
+
+    private static void test1(int[] dst, int dstPos) {
+        int[] src = new int[4];
+        not_inlined();
+        src[0] = 1;
+        src[1] = 2;
+        src[2] = 3;
+        src[3] = 4;
+        System.arraycopy(src, 0, dst, dstPos, 4);
+    }
+
+    private static void not_inlined() {
+    }
+}
--- a/test/hotspot/jtreg/compiler/c2/Test8062950.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/compiler/c2/Test8062950.java	Tue Jul 17 11:05:06 2018 -0400
@@ -24,6 +24,7 @@
 /*
  * @test
  * @bug 8062950
+ * @requires vm.flavor == "server"
  * @key regression
  * @library /test/lib
  * @run driver compiler.c2.Test8062950
--- a/test/hotspot/jtreg/compiler/loopopts/IterationSplitPredicateInconsistency.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/compiler/loopopts/IterationSplitPredicateInconsistency.java	Tue Jul 17 11:05:06 2018 -0400
@@ -25,6 +25,7 @@
  * @test
  * @bug 8193130 8203915
  * @summary Bad graph when unrolled loop bounds conflicts with range checks
+ * @requires vm.flavor == "server"
  *
  * @run main/othervm IterationSplitPredicateInconsistency
  * @run main/othervm -XX:-UseLoopPredicate IterationSplitPredicateInconsistency
--- a/test/hotspot/jtreg/compiler/loopopts/TestCMovSplitThruPhi.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/compiler/loopopts/TestCMovSplitThruPhi.java	Tue Jul 17 11:05:06 2018 -0400
@@ -25,6 +25,7 @@
  * @test
  * @bug 8187822
  * @summary C2 conditonal move optimization might create broken graph
+ * @requires vm.flavor == "server"
  * @run main/othervm -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,TestCMovSplitThruPhi::not_inlined -XX:CompileOnly=TestCMovSplitThruPhi::test -XX:-LoopUnswitching TestCMovSplitThruPhi
  *
  */
--- a/test/hotspot/jtreg/compiler/loopstripmining/CheckLoopStripMiningIterShortLoop.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/compiler/loopstripmining/CheckLoopStripMiningIterShortLoop.java	Tue Jul 17 11:05:06 2018 -0400
@@ -25,6 +25,7 @@
  * @test
  * @bug 8196294
  * @summary when loop strip is enabled, LoopStripMiningIterShortLoop should be not null
+ * @requires vm.flavor == "server"
  * @library /test/lib /
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java	Tue Jul 17 11:05:06 2018 -0400
@@ -117,22 +117,15 @@
         }
 
         // should deoptimize for speculative type check
+        // Intepreter will also add actual type check trap information into MDO
+        // when it throw ClassCastException
         if (!deoptimize(method, src_obj)) {
             throw new RuntimeException(method.getName() + " is not deoptimized");
         }
 
         // compile again
-        WHITE_BOX.enqueueMethodForCompilation(method, CompilerWhiteBoxTest.COMP_LEVEL_FULL_OPTIMIZATION);
-        if (!WHITE_BOX.isMethodCompiled(method)) {
-            throw new RuntimeException(method.getName() + " is not recompiled");
-        }
-
-        // should deoptimize for actual type check
-        if (!deoptimize(method, src_obj)) {
-            throw new RuntimeException(method.getName() + " is not deoptimized (should deoptimize for actual type check)");
-        }
-
-        // compile once again
+        // c2 will generate throw instead of uncommon trap because
+        // actual type check trap information is present in MDO
         WHITE_BOX.enqueueMethodForCompilation(method, CompilerWhiteBoxTest.COMP_LEVEL_FULL_OPTIMIZATION);
         if (!WHITE_BOX.isMethodCompiled(method)) {
             throw new RuntimeException(method.getName() + " is not recompiled");
--- a/test/hotspot/jtreg/compiler/vectorization/TestUnexpectedLoadOrdering.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/compiler/vectorization/TestUnexpectedLoadOrdering.java	Tue Jul 17 11:05:06 2018 -0400
@@ -25,6 +25,7 @@
  * @test
  * @bug 8201367
  * @summary RPO walk of counted loop block doesn't properly order loads
+ * @requires vm.flavor == "server"
  *
  * @run main/othervm -XX:-BackgroundCompilation -XX:-UseCountedLoopSafepoints TestUnexpectedLoadOrdering
  *
--- a/test/hotspot/jtreg/runtime/ElfDecoder/TestElfDirectRead.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/runtime/ElfDecoder/TestElfDirectRead.java	Tue Jul 17 11:05:06 2018 -0400
@@ -25,13 +25,38 @@
  * @test
  * @bug 8193373
  * @summary Test reading ELF info direct from underlaying file
- * @requires (os.family == "linux")
+ * @requires (os.family == "linux") & (os.arch != "ppc64")
  * @modules java.base/jdk.internal.misc
  * @library /test/lib
  * @build sun.hotspot.WhiteBox
  * @run driver ClassFileInstaller sun.hotspot.WhiteBox
- *                              sun.hotspot.WhiteBox$WhiteBoxPermission
- * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:NativeMemoryTracking=detail TestElfDirectRead
+ *                                sun.hotspot.WhiteBox$WhiteBoxPermission
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
+                     -XX:NativeMemoryTracking=detail TestElfDirectRead
+ */
+
+// This test intentionally disables caching of Elf sections during symbol lookup
+// with WhiteBox.disableElfSectionCache(). On platforms which do not use file
+// descriptors instead of plain function pointers this slows down the lookup just a
+// little bit, because all the symbols from an Elf file are still read consecutively
+// after one 'fseek()' call. But on platforms with file descriptors like ppc64
+// big-endian, we get two 'fseek()' calls for each symbol read from the Elf file
+// because reading the file descriptor table is nested inside the loop which reads
+// the symbols. This really trashes the I/O system and considerable slows down the
+// test, so we need an extra long timeout setting.
+
+/*
+ * @test
+ * @bug 8193373
+ * @summary Test reading ELF info direct from underlaying file
+ * @requires (os.family == "linux") & (os.arch == "ppc64")
+ * @modules java.base/jdk.internal.misc
+ * @library /test/lib
+ * @build sun.hotspot.WhiteBox
+ * @run driver ClassFileInstaller sun.hotspot.WhiteBox
+ *                                sun.hotspot.WhiteBox$WhiteBoxPermission
+ * @run main/othervm/timeout=600 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
+                                 -XX:NativeMemoryTracking=detail TestElfDirectRead
  */
 
 import jdk.test.lib.process.ProcessTools;
--- a/test/hotspot/jtreg/runtime/LoaderConstraints/differentLE/Test.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/runtime/LoaderConstraints/differentLE/Test.java	Tue Jul 17 11:05:06 2018 -0400
@@ -78,11 +78,9 @@
     // Break the expectedErrorMessage into 2 pieces since the loader name will include
     // its identity hash and can not be compared against.
     static String expectedErrorMessage_part1 = "loader constraint violation: loader PreemptingClassLoader @";
-    static String expectedErrorMessage_part2 = " (instance of PreemptingClassLoader, " +
-        "child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) wants to load " +
-        "class test.D_ambgs. A different class with the same name was previously loaded " +
-        "by 'app' (instance of jdk.internal.loader.ClassLoaders$AppClassLoader).";
-
+    static String expectedErrorMessage_part2 = " wants to load class test.D_ambgs. A different class " +
+                                               "with the same name was previously loaded by 'app'. " +
+                                               "(test.D_ambgs is in unnamed module of loader 'app')";
     public static void test_access() throws Exception {
         try {
             // Make a Class 'D_ambgs' under the default loader.
@@ -118,4 +116,3 @@
         test_access();
     }
 }
-
--- a/test/hotspot/jtreg/runtime/LoaderConstraints/duplicateLE/Test.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/runtime/LoaderConstraints/duplicateLE/Test.java	Tue Jul 17 11:05:06 2018 -0400
@@ -40,26 +40,21 @@
     // Break each expectedErrorMessage into 2 parts due to the class loader name containing
     // the unique @<id> identity hash which cannot be compared against.
     static String expectedErrorMessage1_part1 = "loader PreemptingClassLoader @";
-    static String expectedErrorMessage1_part2 =
-        " (instance of PreemptingClassLoader, " +
-        "child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "attempted duplicate class definition for test.Foo.";
+    static String expectedErrorMessage1_part2 = " attempted duplicate class definition for test.Foo. (test.Foo is in unnamed module of loader PreemptingClassLoader @";
+    static String expectedErrorMessage1_part3 = ", parent loader 'app')";
 
     // Check that all names have external formatting ('.' and not '/' in package names).
     // Check for name and parent of class loader.
     static String expectedErrorMessage2_part1 = "loader 'DuplicateLE_Test_Loader' @";
-    static String expectedErrorMessage2_part2 =
-        " (instance of PreemptingClassLoader, " +
-        "child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "attempted duplicate class definition for test.Foo.";
+    static String expectedErrorMessage2_part2 = " attempted duplicate class definition for test.Foo. (test.Foo is in unnamed module of loader 'DuplicateLE_Test_Loader' @";
+    static String expectedErrorMessage2_part3 = ", parent loader 'app')";
 
     // Check that all names have external formatting ('.' and not '/' in package names).
     // Check for name and parent of class loader. Type should be mentioned as 'interface'.
     static String expectedErrorMessage3_part1 = "loader 'DuplicateLE_Test_Loader_IF' @";
-    static String expectedErrorMessage3_part2 =
-        " (instance of PreemptingClassLoader, " +
-        "child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "attempted duplicate interface definition for test.J.";
+    static String expectedErrorMessage3_part2 = " attempted duplicate interface definition for test.J. (test.J is in unnamed module of loader 'DuplicateLE_Test_Loader_IF' @";
+    static String expectedErrorMessage3_part3 = ", parent loader 'app')";
+
 
     // Test that the error message is correct when a loader constraint error is
     // detected during vtable creation.
@@ -68,8 +63,11 @@
     // overrides "J.m()LFoo;".  But, Task's class Foo and super type J's class Foo
     // are different.  So, a LinkageError exception should be thrown because the
     // loader constraint check will fail.
-    public static void test(String loaderName, String expectedErrorMessage_part1,
-                            String expectedErrorMessage_part2, String testType) throws Exception {
+    public static void test(String loaderName,
+                            String expectedErrorMessage_part1,
+                            String expectedErrorMessage_part2,
+                            String expectedErrorMessage_part3,
+                            String testType) throws Exception {
         String[] classNames = {testType};
         ClassLoader l = new PreemptingClassLoader(loaderName, classNames, false);
         l.loadClass(testType);
@@ -79,7 +77,8 @@
         } catch (LinkageError e) {
             String errorMsg = e.getMessage();
             if (!errorMsg.contains(expectedErrorMessage_part1) ||
-                !errorMsg.contains(expectedErrorMessage_part2)) {
+                !errorMsg.contains(expectedErrorMessage_part2) ||
+                !errorMsg.contains(expectedErrorMessage_part3)) {
                 System.out.println("Expected: " + expectedErrorMessage_part1 + "<id>" + expectedErrorMessage_part2 + "\n" +
                                    "but got:  " + errorMsg);
                 throw new RuntimeException("Wrong LinkageError exception thrown: " + errorMsg);
@@ -89,9 +88,11 @@
     }
 
     public static void main(String args[]) throws Exception {
-        test(null, expectedErrorMessage1_part1, expectedErrorMessage1_part2, "test.Foo");
-        test("DuplicateLE_Test_Loader", expectedErrorMessage2_part1, expectedErrorMessage2_part2, "test.Foo");
-        test("DuplicateLE_Test_Loader_IF", expectedErrorMessage3_part1, expectedErrorMessage3_part2, "test.J");
+        test(null, expectedErrorMessage1_part1, expectedErrorMessage1_part2,
+             expectedErrorMessage1_part3, "test.Foo");
+        test("DuplicateLE_Test_Loader", expectedErrorMessage2_part1, expectedErrorMessage2_part2,
+             expectedErrorMessage2_part3, "test.Foo");
+        test("DuplicateLE_Test_Loader_IF", expectedErrorMessage3_part1, expectedErrorMessage3_part2,
+             expectedErrorMessage3_part3, "test.J");
     }
 }
-
--- a/test/hotspot/jtreg/runtime/LoaderConstraints/itableLdrConstraint/Test.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/runtime/LoaderConstraints/itableLdrConstraint/Test.java	Tue Jul 17 11:05:06 2018 -0400
@@ -35,31 +35,25 @@
 
 public class Test {
 
-    // Break expected error messages into 2 parts since the loader name includes its identity
+    // Break expected error messages into 3 parts since the loader name includes its identity
     // hash which is unique and can't be compared against.
-    static String expectedErrorMessage1_part1 =
-        "loader constraint violation in interface itable initialization for class test.C: " +
-        "when selecting method test.I.m()Ltest/Foo; " +
-        "the class loader PreemptingClassLoader @";
-    static String expectedErrorMessage1_part2 =
-        " (instance of PreemptingClassLoader, " +
-        "child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "for super interface test.I, and the class loader 'app' " +
-        "(instance of jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "of the selected method's type, test.J have different Class objects " +
-        "for the type test.Foo used in the signature";
+    static String expectedErrorMessage1_part1 = "loader constraint violation in interface itable initialization for " +
+                                                "class test.C: when selecting method test.I.m()Ltest/Foo; the class loader " +
+                                                "PreemptingClassLoader @";
+    static String expectedErrorMessage1_part2 = " for super interface test.I, and the class loader 'app' of the " +
+                                                "selected method's type, test.J have different Class objects for the " +
+                                                "type test.Foo used in the signature (test.I is in unnamed module of loader " +
+                                                "PreemptingClassLoader @";
+    static String expectedErrorMessage1_part3 = ", parent loader 'app'; test.J is in unnamed module of loader 'app')";
 
-    static String expectedErrorMessage2_part1 =
-        "loader constraint violation in interface itable initialization for class test.C: " +
-        "when selecting method test.I.m()Ltest/Foo; " +
-        "the class loader 'ItableLdrCnstrnt_Test_Loader' @";
-    static String expectedErrorMessage2_part2 =
-        " (instance of PreemptingClassLoader, " +
-        "child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "for super interface test.I, and the class loader 'app' " +
-        "(instance of jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "of the selected method's type, test.J have different Class objects " +
-        "for the type test.Foo used in the signature";
+    static String expectedErrorMessage2_part1 = "loader constraint violation in interface itable initialization for " +
+                                                "class test.C: when selecting method test.I.m()Ltest/Foo; the class loader " +
+                                                "'ItableLdrCnstrnt_Test_Loader' @";
+    static String expectedErrorMessage2_part2 = " for super interface test.I, and the class loader 'app' of the " +
+                                                "selected method's type, test.J have different Class objects for the " +
+                                                "type test.Foo used in the signature (test.I is in unnamed module of loader " +
+                                                "'ItableLdrCnstrnt_Test_Loader' @";
+    static String expectedErrorMessage2_part3 = ", parent loader 'app'; test.J is in unnamed module of loader 'app')";
 
     // Test that the error message is correct when a loader constraint error is
     // detected during itable creation.
@@ -71,7 +65,8 @@
     // exception should be thrown because the loader constraint check will fail.
     public static void test(String loaderName,
                             String expectedErrorMessage_part1,
-                            String expectedErrorMessage_part2) throws Exception {
+                            String expectedErrorMessage_part2,
+                            String expectedErrorMessage_part3) throws Exception {
         Class<?> c = test.Foo.class; // Forces standard class loader to load Foo.
         String[] classNames = {"test.Task", "test.Foo", "test.C", "test.I"};
         ClassLoader l = new PreemptingClassLoader(loaderName, classNames);
@@ -82,7 +77,8 @@
         } catch (LinkageError e) {
             String errorMsg = e.getMessage();
             if (!errorMsg.contains(expectedErrorMessage_part1) ||
-                !errorMsg.contains(expectedErrorMessage_part2)) {
+                !errorMsg.contains(expectedErrorMessage_part2) ||
+                !errorMsg.contains(expectedErrorMessage_part3)) {
                 System.out.println("Expected: " + expectedErrorMessage_part1 + "<id>" + expectedErrorMessage_part2 + "\n" +
                                    "but got:  " + errorMsg);
                 throw new RuntimeException("Wrong LinkageError exception thrown: " + errorMsg);
@@ -92,7 +88,7 @@
     }
 
     public static void main(String... args) throws Exception {
-        test(null, expectedErrorMessage1_part1, expectedErrorMessage1_part2);
-        test("ItableLdrCnstrnt_Test_Loader", expectedErrorMessage2_part1, expectedErrorMessage2_part2);
+        test(null, expectedErrorMessage1_part1, expectedErrorMessage1_part2, expectedErrorMessage1_part3);
+        test("ItableLdrCnstrnt_Test_Loader", expectedErrorMessage2_part1, expectedErrorMessage2_part2, expectedErrorMessage2_part3);
     }
 }
--- a/test/hotspot/jtreg/runtime/LoaderConstraints/vtableLdrConstraint/Test.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/runtime/LoaderConstraints/vtableLdrConstraint/Test.java	Tue Jul 17 11:05:06 2018 -0400
@@ -35,31 +35,25 @@
 
 public class Test {
 
-    // Break expected error messages into 2 parts since the loader name includes its identity
+    // Break expected error messages into 3 parts since the loader name includes its identity
     // hash which is unique and can't be compared against.
-    static String expectedErrorMessage1_part1 =
-        "loader constraint violation for class test.Task: " +
-        "when selecting overriding method test.Task.m()Ltest/Foo; " +
-        "the class loader PreemptingClassLoader @";
-    static String expectedErrorMessage1_part2 =
-        " (instance of PreemptingClassLoader, " +
-        "child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "of the selected method's type test.Task, " +
-        "and the class loader 'app' (instance of jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "for its super type test.J " +
-        "have different Class objects for the type test.Foo used in the signature";
+    static String expectedErrorMessage1_part1 = "loader constraint violation for class test.Task: when " +
+                                                "selecting overriding method test.Task.m()Ltest/Foo; the " +
+                                                "class loader PreemptingClassLoader @";
+    static String expectedErrorMessage1_part2 = " of the selected method's type test.Task, and the class " +
+                                                "loader 'app' for its super type test.J have different Class objects " +
+                                                "for the type test.Foo used in the signature (test.Task is in unnamed " +
+                                                "module of loader PreemptingClassLoader @";
+    static String expectedErrorMessage1_part3 = ", parent loader 'app'; test.J is in unnamed module of loader 'app')";
 
-    static String expectedErrorMessage2_part1 =
-        "loader constraint violation for class test.Task: " +
-        "when selecting overriding method test.Task.m()Ltest/Foo; " +
-        "the class loader 'VtableLdrCnstrnt_Test_Loader' @";
-    static String expectedErrorMessage2_part2 =
-        " (instance of PreemptingClassLoader, " +
-        "child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "of the selected method's type test.Task, " +
-        "and the class loader 'app' (instance of jdk.internal.loader.ClassLoaders$AppClassLoader) " +
-        "for its super type test.J " +
-        "have different Class objects for the type test.Foo used in the signature";
+    static String expectedErrorMessage2_part1 = "loader constraint violation for class test.Task: when " +
+                                                "selecting overriding method test.Task.m()Ltest/Foo; the " +
+                                                "class loader 'VtableLdrCnstrnt_Test_Loader' @";
+    static String expectedErrorMessage2_part2 = " of the selected method's type test.Task, and the class " +
+                                                "loader 'app' for its super type test.J have different Class objects " +
+                                                "for the type test.Foo used in the signature (test.Task is in unnamed " +
+                                                "module of loader 'VtableLdrCnstrnt_Test_Loader' @";
+    static String expectedErrorMessage2_part3 = ", parent loader 'app'; test.J is in unnamed module of loader 'app')";
 
     // Test that the error message is correct when a loader constraint error is
     // detected during vtable creation.
@@ -70,7 +64,8 @@
     // loader constraint check will fail.
     public static void test(String loaderName,
                             String expectedErrorMessage_part1,
-                            String expectedErrorMessage_part2) throws Exception {
+                            String expectedErrorMessage_part2,
+                            String expectedErrorMessage_part3) throws Exception {
         Class<?> c = test.Foo.class; // Forces standard class loader to load Foo.
         String[] classNames = {"test.Task", "test.Foo", "test.I"};
         ClassLoader l = new PreemptingClassLoader(loaderName, classNames);
@@ -81,7 +76,8 @@
         } catch (LinkageError e) {
             String errorMsg = e.getMessage();
             if (!errorMsg.contains(expectedErrorMessage_part1) ||
-                !errorMsg.contains(expectedErrorMessage_part2)) {
+                !errorMsg.contains(expectedErrorMessage_part2) ||
+                !errorMsg.contains(expectedErrorMessage_part3)) {
                 System.out.println("Expected: " + expectedErrorMessage_part1 + "<id>" + expectedErrorMessage_part2 + "\n" +
                                    "but got:  " + errorMsg);
                 throw new RuntimeException("Wrong LinkageError exception thrown: " + errorMsg);
@@ -91,8 +87,9 @@
     }
 
     public static void main(String args[]) throws Exception {
-        test(null, expectedErrorMessage1_part1, expectedErrorMessage1_part2);
-        test("VtableLdrCnstrnt_Test_Loader", expectedErrorMessage2_part1, expectedErrorMessage2_part2);
+        test(null, expectedErrorMessage1_part1,
+             expectedErrorMessage1_part2, expectedErrorMessage1_part3);
+        test("VtableLdrCnstrnt_Test_Loader", expectedErrorMessage2_part1,
+             expectedErrorMessage2_part2, expectedErrorMessage2_part3);
     }
 }
-
--- a/test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java	Tue Jul 17 11:05:06 2018 -0400
@@ -24,7 +24,7 @@
 /*
  * @test ReservedStackTest
  *
- * @requires vm.opt.DeoptimizeAlot == null | vm.opt.DeoptimizeAlot == false
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  * @modules java.base/jdk.internal.vm.annotation
--- a/test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTestCompiler.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTestCompiler.java	Tue Jul 17 11:05:06 2018 -0400
@@ -26,7 +26,7 @@
  * @summary Run ReservedStackTest with dedicated compilers C1 and C2.
  *
  * @requires vm.flavor == "server" & !vm.emulatedClient
- * @requires vm.opt.DeoptimizeAlot == null | vm.opt.DeoptimizeAlot == false
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  * @modules java.base/jdk.internal.vm.annotation
--- a/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitor.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitor.java	Tue Jul 17 11:05:06 2018 -0400
@@ -23,9 +23,13 @@
 
 package MyPackage;
 
+import java.lang.management.ManagementFactory;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+
 /** API for handling the underlying heap sampling monitoring system. */
 public class HeapMonitor {
   private static int[][] arrays;
@@ -56,7 +60,7 @@
     int sum = 0;
     List<Frame> frames = new ArrayList<Frame>();
     allocate(frames);
-    frames.add(new Frame("allocate", "()Ljava/util/List;", "HeapMonitor.java", 58));
+    frames.add(new Frame("allocate", "()Ljava/util/List;", "HeapMonitor.java", 62));
     return frames;
   }
 
@@ -65,8 +69,8 @@
     for (int j = 0; j < allocationIterations; j++) {
       sum += actuallyAllocate();
     }
-    frames.add(new Frame("actuallyAllocate", "()I", "HeapMonitor.java", 93));
-    frames.add(new Frame("allocate", "(Ljava/util/List;)V", "HeapMonitor.java", 66));
+    frames.add(new Frame("actuallyAllocate", "()I", "HeapMonitor.java", 97));
+    frames.add(new Frame("allocate", "(Ljava/util/List;)V", "HeapMonitor.java", 70));
   }
 
   public static List<Frame> repeatAllocate(int max) {
@@ -74,7 +78,7 @@
     for (int i = 0; i < max; i++) {
       frames = allocate();
     }
-    frames.add(new Frame("repeatAllocate", "(I)Ljava/util/List;", "HeapMonitor.java", 75));
+    frames.add(new Frame("repeatAllocate", "(I)Ljava/util/List;", "HeapMonitor.java", 79));
     return frames;
   }
 
@@ -152,14 +156,42 @@
   }
 
   public native static int sampledEvents();
-  public native static boolean obtainedEvents(Frame[] frames);
-  public native static boolean garbageContains(Frame[] frames);
+  public native static boolean obtainedEvents(Frame[] frames, boolean checkLines);
+  public native static boolean garbageContains(Frame[] frames, boolean checkLines);
   public native static boolean eventStorageIsEmpty();
   public native static void resetEventStorage();
   public native static int getEventStorageElementCount();
   public native static void forceGarbageCollection();
   public native static boolean enableVMEvents();
 
+  private static boolean getCheckLines() {
+    boolean checkLines = true;
+
+    // Do not check lines for Graal since it is not always "precise" with BCIs at uncommon traps.
+    try {
+      HotSpotDiagnosticMXBean bean = ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class);
+
+      VMOption enableJVMCI = bean.getVMOption("EnableJVMCI");
+      VMOption useJVMCICompiler = bean.getVMOption("UseJVMCICompiler");
+      String compiler = System.getProperty("jvmci.Compiler");
+
+      checkLines = !(enableJVMCI.getValue().equals("true")
+          && useJVMCICompiler.getValue().equals("true") && compiler.equals("graal"));
+    } catch (Exception e) {
+      // NOP.
+    }
+
+    return checkLines;
+  }
+
+  public static boolean obtainedEvents(Frame[] frames) {
+    return obtainedEvents(frames, getCheckLines());
+  }
+
+  public static boolean garbageContains(Frame[] frames) {
+    return garbageContains(frames, getCheckLines());
+  }
+
   public static boolean statsHaveExpectedNumberSamples(int expected, int acceptedErrorPercentage) {
     double actual = getEventStorageElementCount();
     double diffPercentage = Math.abs(actual - expected) / expected;
--- a/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCCMSTest.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCCMSTest.java	Tue Jul 17 11:05:06 2018 -0400
@@ -28,6 +28,7 @@
  * @summary Verifies the JVMTI Heap Monitor Statistics using CMS GC
  * @build Frame HeapMonitor
  * @requires vm.gc == "ConcMarkSweep" | vm.gc == "null"
+ * @requires !vm.graal.enabled
  * @compile HeapMonitorGCCMSTest.java
  * @run main/othervm/native -agentlib:HeapMonitorTest -XX:+UseConcMarkSweepGC MyPackage.HeapMonitorGCTest
  */
--- a/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorVMEventsTest.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorVMEventsTest.java	Tue Jul 17 11:05:06 2018 -0400
@@ -26,11 +26,13 @@
 import java.util.ArrayList;
 import java.util.List;
 
+// Graal is not tested here due to Graal not supporting DisableIntrinsic.
 /**
  * @test
  * @summary Verifies that when the VM event is sent, sampled events are also collected.
  * @build Frame HeapMonitor
  * @compile HeapMonitorVMEventsTest.java
+ * @requires !vm.graal.enabled
  * @run main/othervm/native -XX:+UnlockDiagnosticVMOptions
  *                          -XX:DisableIntrinsic=_clone
  *                          -agentlib:HeapMonitorTest MyPackage.HeapMonitorVMEventsTest
--- a/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c	Tue Jul 17 11:05:06 2018 -0400
@@ -208,6 +208,7 @@
                                      ObjectTrace* trace,
                                      ExpectedContentFrame *expected,
                                      size_t expected_count,
+                                     jboolean check_lines,
                                      int print_out_comparisons) {
   jvmtiFrameInfo* frames;
   size_t i;
@@ -224,6 +225,7 @@
     char *name = NULL, *signature = NULL, *file_name = NULL;
     jclass declaring_class;
     int line_number;
+    jboolean differ;
     jvmtiError err;
 
     if (bci < 0 && expected[i].line_number != -1) {
@@ -258,23 +260,21 @@
       return FALSE;
     }
 
+    differ = (strcmp(name, expected[i].name) ||
+              strcmp(signature, expected[i].signature) ||
+              strcmp(file_name, expected[i].file_name) ||
+              (check_lines && line_number != expected[i].line_number));
+
     if (print_out_comparisons) {
-      fprintf(stderr, "\tComparing:\n");
+      fprintf(stderr, "\tComparing: (check_lines: %d)\n", check_lines);
       fprintf(stderr, "\t\tNames: %s and %s\n", name, expected[i].name);
       fprintf(stderr, "\t\tSignatures: %s and %s\n", signature, expected[i].signature);
       fprintf(stderr, "\t\tFile name: %s and %s\n", file_name, expected[i].file_name);
       fprintf(stderr, "\t\tLines: %d and %d\n", line_number, expected[i].line_number);
-      fprintf(stderr, "\t\tResult is %d\n",
-              (strcmp(name, expected[i].name) ||
-               strcmp(signature, expected[i].signature) ||
-               strcmp(file_name, expected[i].file_name) ||
-               line_number != expected[i].line_number));
+      fprintf(stderr, "\t\tResult is %d\n", differ);
     }
 
-    if (strcmp(name, expected[i].name) ||
-        strcmp(signature, expected[i].signature) ||
-        strcmp(file_name, expected[i].file_name) ||
-        line_number != expected[i].line_number) {
+    if (differ) {
       return FALSE;
     }
   }
@@ -388,14 +388,15 @@
 static jboolean event_storage_contains(JNIEnv* env,
                                        EventStorage* storage,
                                        ExpectedContentFrame* frames,
-                                       size_t size) {
+                                       size_t size,
+                                       jboolean check_lines) {
   int i;
   event_storage_lock(storage);
   fprintf(stderr, "Checking storage count %d\n", storage->live_object_count);
   for (i = 0; i < storage->live_object_count; i++) {
     ObjectTrace* trace = storage->live_objects[i];
 
-    if (check_sample_content(env, trace, frames, size, PRINT_OUT)) {
+    if (check_sample_content(env, trace, frames, size, check_lines, PRINT_OUT)) {
       event_storage_unlock(storage);
       return TRUE;
     }
@@ -407,7 +408,8 @@
 static jboolean event_storage_garbage_contains(JNIEnv* env,
                                                EventStorage* storage,
                                                ExpectedContentFrame* frames,
-                                               size_t size) {
+                                               size_t size,
+                                               jboolean check_lines) {
   int i;
   event_storage_lock(storage);
   fprintf(stderr, "Checking garbage storage count %d\n",
@@ -419,7 +421,7 @@
       continue;
     }
 
-    if (check_sample_content(env, trace, frames, size, PRINT_OUT)) {
+    if (check_sample_content(env, trace, frames, size, check_lines, PRINT_OUT)) {
       event_storage_unlock(storage);
       return TRUE;
     }
@@ -876,7 +878,9 @@
 }
 
 JNIEXPORT jboolean JNICALL
-Java_MyPackage_HeapMonitor_obtainedEvents(JNIEnv* env, jclass cls, jobjectArray frames) {
+Java_MyPackage_HeapMonitor_obtainedEvents(JNIEnv* env, jclass cls,
+                                          jobjectArray frames,
+                                          jboolean check_lines) {
   jboolean result;
   jsize size = (*env)->GetArrayLength(env, frames);
   ExpectedContentFrame *native_frames = malloc(size * sizeof(*native_frames));
@@ -886,14 +890,17 @@
   }
 
   fill_native_frames(env, frames, native_frames, size);
-  result = event_storage_contains(env, &global_event_storage, native_frames, size);
+  result = event_storage_contains(env, &global_event_storage, native_frames,
+                                  size, check_lines);
 
   free(native_frames), native_frames = NULL;
   return result;
 }
 
 JNIEXPORT jboolean JNICALL
-Java_MyPackage_HeapMonitor_garbageContains(JNIEnv* env, jclass cls, jobjectArray frames) {
+Java_MyPackage_HeapMonitor_garbageContains(JNIEnv* env, jclass cls,
+                                           jobjectArray frames,
+                                           jboolean check_lines) {
   jboolean result;
   jsize size = (*env)->GetArrayLength(env, frames);
   ExpectedContentFrame *native_frames = malloc(size * sizeof(*native_frames));
@@ -903,7 +910,8 @@
   }
 
   fill_native_frames(env, frames, native_frames, size);
-  result = event_storage_garbage_contains(env, &global_event_storage, native_frames, size);
+  result = event_storage_garbage_contains(env, &global_event_storage,
+                                          native_frames, size, check_lines);
 
   free(native_frames), native_frames = NULL;
   return result;
--- a/test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest02.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest02.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -32,10 +32,13 @@
  * @modules java.base/jdk.internal.misc
  * @library /test/lib
  * @library ../share
- * @run main/othervm -XX:+UsePerfData -XX:MaxNewSize=4m -XX:MaxHeapSize=128M -XX:MaxMetaspaceSize=128M GcCauseTest02
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyDependencies
+                     -XX:+UsePerfData -XX:MaxNewSize=4m -XX:MaxHeapSize=128M -XX:MaxMetaspaceSize=128M GcCauseTest02
  */
 import utils.*;
 
+// This test produces more than 90_000 classes until it eats up ~70% of the 128M meta space.
+// We turn off VerifyDependencies because it slows down the test considerably in debug builds.
 public class GcCauseTest02 {
 
     public static void main(String[] args) throws Exception {
--- a/test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest02.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest02.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -32,10 +32,13 @@
  * @modules java.base/jdk.internal.misc
  * @library /test/lib
  * @library ../share
- * @run main/othervm -XX:+UsePerfData -XX:MaxNewSize=4m -XX:MaxHeapSize=128M -XX:MaxMetaspaceSize=128M GcTest02
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyDependencies
+                     -XX:+UsePerfData -XX:MaxNewSize=4m -XX:MaxHeapSize=128M -XX:MaxMetaspaceSize=128M GcTest02
  */
 import utils.*;
 
+// This test produces more than 90_000 classes until it eats up ~70% of the 128M meta space.
+// We turn off VerifyDependencies because it slows down the test considerably in debug builds.
 public class GcTest02 {
 
     public static void main(String[] args) throws Exception {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdb/eval/eval001/eval001.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdb/eval/eval001/eval001.java	Tue Jul 17 11:05:06 2018 -0400
@@ -98,7 +98,8 @@
         { DEBUGGEE_CLASS + "._eval001a.myMethod()", "2147483647" },
         { "myClass.toString().equals(\"abcde\")", "true"},
         { "i + j + k", "777"},
-        { "new java.lang.String(\"Hello, World\").length()", "12"}
+        { "new java.lang.String(\"Hello, World\").length()", "12"},
+        { DEBUGGEE_CLASS + "._eval001a.testPrimitiveArray(test)", "1.0" }
                                           };
 
     protected void runCases() {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdb/eval/eval001/eval001a.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdb/eval/eval001/eval001a.java	Tue Jul 17 11:05:06 2018 -0400
@@ -48,6 +48,7 @@
         int i = 111;
         int j = 222;
         int k = 444;
+        double[][][] test = new double[2][2][2];
 
         synchronized (this) {
             lastBreak();
@@ -81,4 +82,8 @@
              return line;
         }
     }
+
+    public double testPrimitiveArray(double[][][] d){
+        return 1.0;
+    }
 }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/exclude001.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/exclude001.java	Tue Jul 17 11:05:06 2018 -0400
@@ -34,13 +34,13 @@
  * The debuggee program (exclude001a.java) starts three
  * addional threads of MyThread class. The 'run' method of these
  * threads invokes java.lang.System.currentTimeMillis() and
- * com.sun.jdi.Bootstrap.virtualMachineManager() methods.
+ * sun.util.calendar.Gregorian() methods.
  * There are three test cases:
  *  - block all exclude filter;
  *  - modified exclude filter allowing tracing events for java.* methods,
  *    which is set with 'exclude javax.*,sun.*,com.sun.*,jdk.*' command;
- *  - modified exclude filter allowing tracing events for com.sun.* methods,
- *    which is set with 'exclude java.*,javax.*,sun.*,jdk.*' command.
+ *  - modified exclude filter allowing tracing events for sun.* methods,
+ *    which is set with 'exclude java.*,javax.*,com.sun.*,jdk.*' command.
  *  - non-modified, predefined exclude filter;
  *  - modified exclude filter allowing tracing events for java.* methods,
  *    which is set with 'exclude javax.*,sun.*,com.sun.*' command;
@@ -102,7 +102,7 @@
     static final String DEBUGGEE_THREAD = PACKAGE_NAME + "." + MYTHREAD;
 
     static final String JAVA_CORE_METHOD = "java.lang.System.currentTimeMillis";
-    static final String COM_SUN_METHOD   = "com.sun.jdi.Bootstrap.virtualMachineManager";
+    static final String SUN_METHOD   = "sun.util.calendar.Gregorian";
 
     protected void runCases() {
         String[] reply;
@@ -152,8 +152,8 @@
                         case 1: // allow java.*
                                 reply = jdb.receiveReplyFor(JdbCommand.exclude + "javax.*,sun.*,com.sun.*,jdk.*");
                                 break;
-                        case 2: // allow com.sun.*
-                                reply = jdb.receiveReplyFor(JdbCommand.exclude + "java.*,javax.*,sun.*,jdk.");
+                        case 2: // allow sun.*
+                                reply = jdb.receiveReplyFor(JdbCommand.exclude + "java.*,javax.*,com.sun.*,jdk.");
                                 break;
                         }
 
@@ -172,12 +172,12 @@
                                 }
                             }
 
-                            count = grep.find(COM_SUN_METHOD);
+                            count = grep.find(SUN_METHOD);
                             if (count > 0) {
                                 if (testCase == 2) {
                                     comTraced = true;
                                 } else {
-                                    log.complain("Trace message for excluded method: " + COM_SUN_METHOD);
+                                    log.complain("Trace message for excluded method: " + SUN_METHOD);
                                 }
                             }
 
@@ -202,7 +202,7 @@
             success = false;
         }
         if (!comTraced) {
-            log.complain("There were no tracing events for " + COM_SUN_METHOD + "() method while turned off filter");
+            log.complain("There were no tracing events for " + SUN_METHOD + "() method while turned off filter");
             success = false;
         }
         if (!nskTraced) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/exclude001a.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/exclude001a.java	Tue Jul 17 11:05:06 2018 -0400
@@ -29,7 +29,7 @@
 
 import java.io.*;
 
-import com.sun.jdi.*;
+import java.util.*;
 
 
 /* This is debuggee aplication */
@@ -89,6 +89,6 @@
 
         long time = java.lang.System.currentTimeMillis();
 
-        VirtualMachineManager vmm = com.sun.jdi.Bootstrap.virtualMachineManager();
+        String caltype = GregorianCalendar.getInstance().getCalendarType();
     }
 }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.c	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.c	Tue Jul 17 11:05:06 2018 -0400
@@ -163,7 +163,7 @@
                             void* user_data) {
   int object;
   int field;
-  if(!NSK_VERIFY(!verify_tag(object_class_tag, *object_tag_ptr))) {
+  if (!NSK_VERIFY(verify_tag(object_class_tag, *object_tag_ptr))) {
     nsk_jvmti_setFailStatus();
   }
 
@@ -190,7 +190,7 @@
                              void* user_data) {
   int object;
   int field;
-  if(!NSK_VERIFY(!verify_tag(class_tag, *tag_ptr))) {
+  if (!NSK_VERIFY(verify_tag(class_tag, *tag_ptr))) {
     nsk_jvmti_setFailStatus();
   }
   for(object = 0; object < TEST_OBJECTS_COUNT; object++) {
@@ -221,7 +221,7 @@
                             void* user_data) {
   int object;
   int field;
-  if(!NSK_VERIFY(!verify_tag(class_tag, *tag_ptr))) {
+  if (!NSK_VERIFY(verify_tag(class_tag, *tag_ptr))) {
     nsk_jvmti_setFailStatus();
   }
   for(object = 0; object < TEST_OBJECTS_COUNT; object++) {
@@ -247,7 +247,7 @@
                            jlong* tag_ptr,
                            jint length,
                            void* user_data) {
-  if(!NSK_VERIFY(!verify_tag(class_tag, *tag_ptr))) {
+  if (!NSK_VERIFY(verify_tag(class_tag, *tag_ptr))) {
     NSK_COMPLAIN0("Tag values invalid for selected heap filter were passed "
                   "to jvmtiHeapIterationCallback.\n");
     NSK_COMPLAIN2("\tClass tag: 0x%lX;\n\tObject tag: 0x%lX.\n", class_tag, *tag_ptr);
@@ -293,7 +293,7 @@
 
 /**
  * Read array of test objects.
- * Tag each of these objjects, their classes, non-primitive fields and non-primitive fields classes.
+ * Tag each of these objects, their classes, non-primitive fields and non-primitive fields classes.
  */
 int tag_objects(jvmtiEnv *jvmti, JNIEnv *jni) {
   jclass debugee;
@@ -502,7 +502,7 @@
     return;
   }
 
-  NSK_DISPLAY0("Verifying that all filds were found.\n");
+  NSK_DISPLAY0("Verifying that all fields were found.\n");
   verify_objects(1);
 
   if(!NSK_VERIFY(nsk_jvmti_resumeSync())) {
@@ -520,7 +520,7 @@
     return;
   }
 
-  NSK_DISPLAY0("Verifying that all filds were found.\n");
+  NSK_DISPLAY0("Verifying that all fields were found.\n");
   verify_objects(0);
 
   /*
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack001.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack001.java	Tue Jul 17 11:05:06 2018 -0400
@@ -51,6 +51,7 @@
  *     4254634     println() while catching StackOverflowError causes hotspot VM crash
  *     4302288 the second stack overflow causes Classic VM to exit on win32
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack001
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack002.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack002.java	Tue Jul 17 11:05:06 2018 -0400
@@ -52,6 +52,7 @@
  *     4254634     println() while catching StackOverflowError causes hotspot VM crash
  *     4302288 the second stack overflow causes Classic VM to exit on win32
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack002
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack003.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack003.java	Tue Jul 17 11:05:06 2018 -0400
@@ -46,6 +46,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack003
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack004.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack004.java	Tue Jul 17 11:05:06 2018 -0400
@@ -46,6 +46,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack004
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack005.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack005.java	Tue Jul 17 11:05:06 2018 -0400
@@ -46,6 +46,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack005
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack006.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack006.java	Tue Jul 17 11:05:06 2018 -0400
@@ -46,6 +46,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack006
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack007.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack007.java	Tue Jul 17 11:05:06 2018 -0400
@@ -45,6 +45,7 @@
  *     See also the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack007
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack008.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack008.java	Tue Jul 17 11:05:06 2018 -0400
@@ -47,6 +47,7 @@
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
  * @ignore 8139875
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack008
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack009.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack009.java	Tue Jul 17 11:05:06 2018 -0400
@@ -46,6 +46,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack009
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack010.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack010.java	Tue Jul 17 11:05:06 2018 -0400
@@ -46,6 +46,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack010
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack011.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack011.java	Tue Jul 17 11:05:06 2018 -0400
@@ -46,6 +46,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack011
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack012.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack012.java	Tue Jul 17 11:05:06 2018 -0400
@@ -47,6 +47,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack012
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack013.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack013.java	Tue Jul 17 11:05:06 2018 -0400
@@ -46,6 +46,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack013
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack014.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack014.java	Tue Jul 17 11:05:06 2018 -0400
@@ -49,6 +49,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack014
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack015.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack015.java	Tue Jul 17 11:05:06 2018 -0400
@@ -47,6 +47,7 @@
  *     See the bug:
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack015
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack016.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack016.java	Tue Jul 17 11:05:06 2018 -0400
@@ -50,6 +50,7 @@
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
  * @ignore 8139875
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack016 -eager
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack017.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack017.java	Tue Jul 17 11:05:06 2018 -0400
@@ -43,6 +43,7 @@
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
  * @ignore 8139875
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack017 -eager
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack018.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack018.java	Tue Jul 17 11:05:06 2018 -0400
@@ -48,6 +48,7 @@
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
  * @ignore 8139875
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack018 -eager
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack019.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack019.java	Tue Jul 17 11:05:06 2018 -0400
@@ -41,6 +41,7 @@
  *     4366625 (P4/S4) multiple stack overflow causes HS crash
  *
  * @ignore 8139875
+ * @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
  * @run main/othervm nsk.stress.stack.stack019 -eager
  */
 
--- a/test/jdk/ProblemList.txt	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/ProblemList.txt	Tue Jul 17 11:05:06 2018 -0400
@@ -520,6 +520,7 @@
 java/lang/management/MemoryMXBean/PendingAllGC.sh               8158837 generic-all
 
 java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java    8081652 generic-all
+java/lang/management/ThreadMXBean/AllThreadIds.java             8131745 generic-all
 
 ############################################################################
 
@@ -669,6 +670,7 @@
 javax/sound/sampled/DirectAudio/bug6372428.java                      8055097 generic-all
 javax/sound/sampled/Clip/bug5070081.java                             8055097 generic-all
 javax/sound/sampled/DataLine/LongFramePosition.java                  8055097 generic-all
+javax/sound/sampled/Clip/AutoCloseTimeCheck.java                     8207150 generic-all
 
 javax/sound/sampled/Clip/Drain/ClipDrain.java          7062792 generic-all
 
--- a/test/jdk/java/awt/Frame/UnfocusableMaximizedFrameResizablity/UnfocusableMaximizedFrameResizablity.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/java/awt/Frame/UnfocusableMaximizedFrameResizablity/UnfocusableMaximizedFrameResizablity.java	Tue Jul 17 11:05:06 2018 -0400
@@ -24,7 +24,7 @@
 /*
   @test
   @key headful
-  @bug 4980161 7158623
+  @bug 4980161 7158623 8204860
   @summary Setting focusable window state to false makes the maximized frame resizable
   @compile UnfocusableMaximizedFrameResizablity.java
   @run main UnfocusableMaximizedFrameResizablity
@@ -36,29 +36,84 @@
 import java.awt.AWTException;
 import java.awt.event.InputEvent;
 import java.awt.Robot;
+import javax.swing.JFrame;
+import javax.swing.SwingUtilities;
 
 public class UnfocusableMaximizedFrameResizablity {
 
     private static Frame frame;
+    private static JFrame jframe;
     private static Robot robot;
     private static boolean isProgInterruption = false;
     private static Thread mainThread = null;
     private static int sleepTime = 300000;
 
-    private static void createAndShowFrame() {
+    private static void createAndShowFrame() throws Exception {
 
         //The MAXIMIZED_BOTH state is not supported by the toolkit. Nothing to test.
         if (!Toolkit.getDefaultToolkit().isFrameStateSupported(Frame.MAXIMIZED_BOTH)) {
             return;
         }
 
-        frame = new Frame("Unfocusable frame");
+        //Case 1: Setting frame resizable to true followed by focusable to false
+        frame = createFrame("Resizable Unfocusable frame");
+        frame.setResizable(true);
+        frame.setFocusableWindowState(false);
+        tryToResizeFrame(frame);
+
+        //Case 2: Setting frame focusable to false followed by resizable to true
+        frame = createFrame("Unfocusable Resizable frame");
+        frame.setFocusableWindowState(false);
+        frame.setResizable(true);
+        tryToResizeFrame(frame);
+
+        //Case 3: Testing JFrame fullscreen behaviour only on Mac OS
+        if (System.getProperty("os.name").toLowerCase().startsWith("mac")) {
+            SwingUtilities.invokeAndWait(new Runnable() {
+
+                Override
+                public void run() {
+                    jframe = createJFrame("Unfocusable Resizable JFrame");
+                    jframe.setFocusableWindowState(false);
+                    jframe.setResizable(true);
+                    Object prop1 = jframe.getRootPane().getClientProperty("apple.awt.fullscreenable");
+                    jframe.setVisible(false);
+                    jframe.setVisible(true);
+                    Object prop2 = jframe.getRootPane().getClientProperty("apple.awt.fullscreenable");
+
+                    if((prop1 != null && prop2 != null) && (!prop1.equals(prop2))) {
+                        jframe.dispose();
+                        cleanup();
+                        throw new RuntimeException("Non-focusable resizable JFrame is fullscreenable!!");
+                    }
+                }
+            });
+        }
+
+        cleanup();
+    }
+
+    private static JFrame createJFrame(String title) {
+        JFrame jframe = new JFrame(title);
+        jframe.setMaximizedBounds(new Rectangle(0, 0, 300, 300));
+        jframe.setSize(200, 200);
+        jframe.setVisible(true);
+        jframe.setExtendedState(Frame.MAXIMIZED_BOTH);
+
+        return jframe;
+    }
+
+    private static Frame createFrame(String title) {
+        Frame frame = new Frame(title);
         frame.setMaximizedBounds(new Rectangle(0, 0, 300, 300));
         frame.setSize(200, 200);
         frame.setVisible(true);
         frame.setExtendedState(Frame.MAXIMIZED_BOTH);
-        frame.setFocusableWindowState(false);
 
+        return frame;
+    }
+
+    private static void tryToResizeFrame(Frame frame) {
         try {
             robot = new Robot();
         } catch (AWTException e) {
@@ -89,16 +144,16 @@
             cleanup();
             throw new RuntimeException("The maximized unfocusable frame can be resized.");
         }
-        cleanup();
+
+        frame.dispose();
     }
 
     private static void cleanup() {
-        frame.dispose();
         isProgInterruption = true;
         mainThread.interrupt();
     }
 
-    public static void main(String args[]) throws InterruptedException {
+    public static void main(String args[]) throws Exception {
 
         mainThread = Thread.currentThread();
 
--- a/test/jdk/java/lang/invoke/t8150782/TestAccessClass.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/java/lang/invoke/t8150782/TestAccessClass.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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,6 +24,7 @@
  */
 
 /* @test
+ * @bug 8150782 8207027
  * @compile TestAccessClass.java TestCls.java
  * @run testng/othervm -ea -esa test.java.lang.invoke.t8150782.TestAccessClass
  */
@@ -54,11 +55,17 @@
     }
 
     @Test
-    public void returnsSameClass() throws IllegalAccessException, ClassNotFoundException {
+    public void returnsSameClassInSamePackage() throws IllegalAccessException, ClassNotFoundException {
         Class<?> aClass = lookup().accessClass(Class1.class);
         assertEquals(Class1.class, aClass);
     }
 
+    @Test
+    public void returnsSameArrayClassInSamePackage() throws IllegalAccessException, ClassNotFoundException {
+        Class<?> aClass = lookup().accessClass(Class1[].class);
+        assertEquals(Class1[].class, aClass);
+    }
+
     @DataProvider
     Object[][] illegalAccessAccess() {
         return new Object[][] {
--- a/test/jdk/java/lang/invoke/t8150782/TestFindClass.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/java/lang/invoke/t8150782/TestFindClass.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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,6 +24,7 @@
  */
 
 /* @test
+ * @bug 8150782 8207027
  * @compile TestFindClass.java TestCls.java
  * @run testng/othervm -ea -esa test.java.lang.invoke.t8150782.TestFindClass
  */
@@ -56,11 +57,17 @@
     }
 
     @Test
-    public void returnsRequestedClass() throws IllegalAccessException, ClassNotFoundException {
+    public void returnsRequestedClassInSamePackage() throws IllegalAccessException, ClassNotFoundException {
         Class<?> aClass = lookup().findClass(PACKAGE_PREFIX + "TestFindClass$Class1");
         assertEquals(Class1.class, aClass);
     }
 
+    @Test
+    public void returnsRequestedArrayClassInSamePackage() throws IllegalAccessException, ClassNotFoundException {
+        Class<?> aClass = lookup().findClass("[L" + PACKAGE_PREFIX + "TestFindClass$Class1;");
+        assertEquals(Class1[].class, aClass);
+    }
+
     @Test(expectedExceptions = {ClassNotFoundException.class})
     public void classNotFoundExceptionTest() throws IllegalAccessException, ClassNotFoundException {
         lookup().findClass(PACKAGE_PREFIX + "TestFindClass$NonExistent");
--- a/test/jdk/java/nio/channels/Selector/RegisterDuringSelect.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/java/nio/channels/Selector/RegisterDuringSelect.java	Tue Jul 17 11:05:06 2018 -0400
@@ -28,6 +28,7 @@
  */
 
 import java.io.IOException;
+import java.nio.channels.ClosedSelectorException;
 import java.nio.channels.Pipe;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
@@ -44,9 +45,14 @@
             @Override
             public Void call() throws IOException {
                 for (;;) {
-                    sel.select();
+                    try {
+                        sel.select();
+                    } catch (ClosedSelectorException ignore) {
+                        return null;
+                    }
                     if (sel.isOpen()) {
                         barrier.arriveAndAwaitAdvance();
+                        System.out.println("selectLoop advanced ...");
                     } else {
                         // closed
                         return null;
@@ -107,3 +113,4 @@
 
     }
 }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/text/Format/DateFormat/Bug8193444.java	Tue Jul 17 11:05:06 2018 -0400
@@ -0,0 +1,84 @@
+/*
+ * 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 8193444
+ * @summary Checks SimpleDateFormat.format/parse for the AIOOB exception when
+ *          formatting/parsing dates through a pattern string that contains a
+ *          sequence of 256 or more non-ASCII unicode characters.
+ * @run testng/othervm Bug8193444
+ */
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import static org.testng.Assert.assertEquals;
+
+public class Bug8193444 {
+
+    private static final String NON_ASCII_CHAR = "\u263A";
+
+    @DataProvider(name = "dateFormat")
+    Object[][] dateFormatData() {
+        return new Object[][]{
+            // short_length (between 0 and 254)
+            {250},
+            // boundary
+            {254},
+            // long_length
+            {257},};
+    }
+
+    @Test(dataProvider = "dateFormat")
+    public void testDateFormatAndParse(int length)
+            throws ParseException {
+
+        String pattern = NON_ASCII_CHAR.repeat(length);
+
+        DateFormat df = new SimpleDateFormat(pattern);
+        // format() should not throw AIOOB exception
+        String result = df.format(new Date());
+
+        // Since the tested format patterns do not contain any character
+        // representing date/time field, those characters are not interpreted,
+        // they are simply copied into the output string during formatting
+        assertEquals(result, pattern, "Failed to format the date using"
+                + " pattern of length: " + length);
+
+        // The format pattern used by this SimpleDateFormat
+        // contains a sequence of non-ASCII characters, which does not
+        // represent any date/time field. The same sequence is given
+        // for parsing, just to check that the parsing does
+        // not throw any AIOOB exception.
+        // Although as per the parse() specification, the calendar's default
+        // values of the date-time fields are used for any missing
+        // date-time information, but checking that is not the intention of
+        // this test.
+        df.parse(pattern);
+    }
+
+}
--- a/test/jdk/java/time/test/java/time/format/TestZoneTextPrinterParser.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/java/time/test/java/time/format/TestZoneTextPrinterParser.java	Tue Jul 17 11:05:06 2018 -0400
@@ -49,7 +49,7 @@
 
 /*
  * @test
- * @bug 8081022 8151876 8166875 8189784
+ * @bug 8081022 8151876 8166875 8189784 8206980
  * @key randomness
  */
 
@@ -156,12 +156,15 @@
             {"America/Chicago",  "CST",                   none,      Locale.ENGLISH, TextStyle.SHORT},
             {"Asia/Taipei",      "CST",                   preferred, Locale.ENGLISH, TextStyle.SHORT},
             {"Australia/South",  "ACST",                  preferred_s, Locale.ENGLISH, TextStyle.SHORT},
-            {"America/Chicago",  "CDT",                   none,        Locale.ENGLISH, TextStyle.SHORT},
+            {"America/Chicago",  "CDT",                   none,      Locale.ENGLISH, TextStyle.SHORT},
             {"Asia/Shanghai",    "CDT",                   preferred_s, Locale.ENGLISH, TextStyle.SHORT},
-            {"America/Juneau",   "AKST",                  none,        Locale.ENGLISH, TextStyle.SHORT},
-            {"America/Juneau",   "AKDT",                  none,        Locale.ENGLISH, TextStyle.SHORT},
-            {"Pacific/Honolulu", "HST",                   none,        Locale.ENGLISH, TextStyle.SHORT},
-            {"America/Halifax",  "AST",                   none,        Locale.ENGLISH, TextStyle.SHORT},
+            {"America/Juneau",   "AKST",                  none,      Locale.ENGLISH, TextStyle.SHORT},
+            {"America/Juneau",   "AKDT",                  none,      Locale.ENGLISH, TextStyle.SHORT},
+            {"Pacific/Honolulu", "HST",                   none,      Locale.ENGLISH, TextStyle.SHORT},
+            {"America/Halifax",  "AST",                   none,      Locale.ENGLISH, TextStyle.SHORT},
+            {"Z",                "Z",                     none,      Locale.ENGLISH, TextStyle.SHORT},
+            {"Z",                "Z",                     none,      Locale.US,      TextStyle.SHORT},
+            {"Z",                "Z",                     none,      Locale.CANADA,  TextStyle.SHORT},
        };
     }
 
--- a/test/jdk/java/util/Calendar/JapaneseEraNameTest.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/java/util/Calendar/JapaneseEraNameTest.java	Tue Jul 17 11:05:06 2018 -0400
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8202088
+ * @bug 8202088 8207152
  * @summary Test the localized Japanese new era name (May 1st. 2019-)
  *      is retrieved no matter CLDR provider contains the name or not.
  * @modules jdk.localedata
@@ -51,7 +51,7 @@
     Object[][] names() {
         return new Object[][] {
             // type,    locale,  name
-            { LONG,     JAPAN,   "\u65b0\u5143\u53f7" }, // NewEra
+            { LONG,     JAPAN,   "\u5143\u53f7" }, // NewEra
             { LONG,     US,      "NewEra" },
             { SHORT,    JAPAN,   "N" },
             { SHORT,    US,      "N" },
--- a/test/jdk/javax/net/ssl/compatibility/Compatibility.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/javax/net/ssl/compatibility/Compatibility.java	Tue Jul 17 11:05:06 2018 -0400
@@ -29,7 +29,7 @@
  *     its usages, please look through README.
  *
  * @library /test/lib
- * @compile -source 1.6 -target 1.6 JdkUtils.java Parameter.java Server.java Client.java
+ * @compile -source 1.7 -target 1.7 JdkUtils.java Parameter.java Server.java Client.java
  * @run main/manual Compatibility
  */
 
--- a/test/jdk/javax/net/ssl/compatibility/JdkRelease.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/javax/net/ssl/compatibility/JdkRelease.java	Tue Jul 17 11:05:06 2018 -0400
@@ -26,12 +26,12 @@
  */
 public enum JdkRelease {
 
-    JDK6(6, "1.6"),
     JDK7(7, "1.7"),
     JDK8(8, "1.8"),
     JDK9(9, "9"),
     JDK10(10, "10"),
-    JDK11(11, "11");
+    JDK11(11, "11"),
+    JDK12(12, "12");
 
     public final int sequence;
     public final String release;
@@ -42,9 +42,7 @@
     }
 
     public static JdkRelease getRelease(String jdkVersion) {
-        if (jdkVersion.startsWith(JDK6.release)) {
-            return JDK6;
-        } else if (jdkVersion.startsWith(JDK7.release)) {
+        if (jdkVersion.startsWith(JDK7.release)) {
             return JDK7;
         } else if (jdkVersion.startsWith(JDK8.release)) {
             return JDK8;
@@ -54,6 +52,8 @@
             return JDK10;
         } else if (jdkVersion.startsWith(JDK11.release)) {
             return JDK11;
+        } else if (jdkVersion.startsWith(JDK12.release)) {
+            return JDK12;
         }
 
         return null;
--- a/test/jdk/javax/net/ssl/compatibility/Parameter.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/javax/net/ssl/compatibility/Parameter.java	Tue Jul 17 11:05:06 2018 -0400
@@ -65,15 +65,15 @@
     TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(
             Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_RSA_WITH_AES_256_CBC_SHA256(
-            Protocol.TLSV1_2, JdkRelease.JDK6),
+            Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384(
             Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384(
             Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_DHE_RSA_WITH_AES_256_CBC_SHA256(
-            Protocol.TLSV1_2, JdkRelease.JDK6),
+            Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_DHE_DSS_WITH_AES_256_CBC_SHA256(
-            Protocol.TLSV1_2, JdkRelease.JDK6),
+            Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA(),
     TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA(),
     TLS_RSA_WITH_AES_256_CBC_SHA(),
@@ -86,15 +86,15 @@
     TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256(
             Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_RSA_WITH_AES_128_CBC_SHA256(
-            Protocol.TLSV1_2, JdkRelease.JDK6),
+            Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256(
             Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256(
             Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_DHE_RSA_WITH_AES_128_CBC_SHA256(
-            Protocol.TLSV1_2, JdkRelease.JDK6),
+            Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_DHE_DSS_WITH_AES_128_CBC_SHA256(
-            Protocol.TLSV1_2, JdkRelease.JDK6),
+            Protocol.TLSV1_2, JdkRelease.JDK7),
     TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA(),
     TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(),
     TLS_RSA_WITH_AES_128_CBC_SHA(),
@@ -142,11 +142,11 @@
     SSL_RSA_WITH_RC4_128_SHA(),
     SSL_RSA_WITH_3DES_EDE_CBC_SHA(),
     SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA(
-            Protocol.SSLV3_0, JdkRelease.JDK6),
+            Protocol.SSLV3_0, JdkRelease.JDK7),
     SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA(
-            Protocol.SSLV3_0, JdkRelease.JDK6),
+            Protocol.SSLV3_0, JdkRelease.JDK7),
     SSL_RSA_WITH_RC4_128_MD5(
-            Protocol.SSLV3_0, JdkRelease.JDK6);
+            Protocol.SSLV3_0, JdkRelease.JDK7);
 
     private static final boolean FULL_CIPHER_SUITES
             = Utils.getBoolProperty("fullCipherSuites");
@@ -172,7 +172,7 @@
     }
 
     private CipherSuite() {
-        this(Protocol.TLSV1_0, null, JdkRelease.JDK6, null);
+        this(Protocol.TLSV1_0, null, JdkRelease.JDK7, null);
     }
 
     boolean supportedByProtocol(Protocol protocol) {
--- a/test/jdk/javax/net/ssl/compatibility/README	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/javax/net/ssl/compatibility/README	Tue Jul 17 11:05:06 2018 -0400
@@ -1,4 +1,4 @@
-# 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
@@ -113,7 +113,6 @@
 
 Example 2
 $ cat /path/to/jdkList
-/path/to/jdk6
 /path/to/jdk7
 /path/to/jdk8
 /path/to/jdk9
@@ -125,6 +124,6 @@
     -DjdkListFile=/path/to/jdkList \
     $JDK_WS/jdk/test/javax/net/ssl/compatibility/Compatibility.java
 The above example uses a file "/path/to/jdkList" to contain the paths of local
-different JDK builds through 6 to 10. The execution uses each of JDK builds as
+different JDK builds through 7 to 10. The execution uses each of JDK builds as
 server and client respectively. And it enables SSL debug flag, and tests the
 full parameter value set.
\ No newline at end of file
--- a/test/jdk/javax/swing/JEditorPane/8195095/ImageViewTest.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/javax/swing/JEditorPane/8195095/ImageViewTest.java	Tue Jul 17 11:05:06 2018 -0400
@@ -24,7 +24,7 @@
 /**
  * @test
  * @key headful
- * @bug 8195095
+ * @bug 8195095 8206238
  * @summary Tests if Images are scaled correctly in JEditorPane.
  * @run main ImageViewTest
  */
@@ -40,22 +40,16 @@
 
 public class ImageViewTest {
 
-    private static final int WIDTH = 200;
-    private static final int HEIGHT = 200;
     private static JFrame f;
 
-    private static JEditorPane editorPane1;
-    private static JEditorPane editorPane2;
-    private static JEditorPane editorPane3;
-    private static JEditorPane editorPane4;
-
-    private static void test(Robot r, JEditorPane editorPane)  throws Exception {
+    private static void test(Robot r, JEditorPane editorPane,
+                            final int WIDTH, final int HEIGHT )  throws Exception {
 
         SwingUtilities.invokeAndWait(() -> {
             f = new JFrame();
             editorPane.setEditable(false);
             f.add(editorPane);
-            f.setSize(220,240);
+            f.setSize(WIDTH + 20, HEIGHT + 40);
             f.setLocationRelativeTo(null);
 
             f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
@@ -109,34 +103,78 @@
 
         Robot r = new Robot();
 
+        final JEditorPane[] editorPanes = new JEditorPane[11];
+
         SwingUtilities.invokeAndWait(() -> {
-            editorPane1 = new JEditorPane("text/html",
+            editorPanes[0] = new JEditorPane("text/html",
                     "<img height=\"200\" src=\"file:///" + ABSOLUTE_FILE_PATH + "\"");
 
-            editorPane2 = new JEditorPane("text/html",
+            editorPanes[1] = new JEditorPane("text/html",
                     "<img width=\"200\" src=\"file:///" + ABSOLUTE_FILE_PATH + "\"");
 
-            editorPane3 = new JEditorPane("text/html",
+            editorPanes[2] = new JEditorPane("text/html",
                     "<img width=\"200\" height=\"200\" src=\"file:///" + ABSOLUTE_FILE_PATH + "\"");
 
-            editorPane4 = new JEditorPane("text/html",
+            editorPanes[3] = new JEditorPane("text/html",
                     "<img src=\"file:///" + ABSOLUTE_FILE_PATH + "\"");
 
+            editorPanes[4] = new JEditorPane("text/html",
+                    "<img width=\"100\" src =\"file:///" + ABSOLUTE_FILE_PATH + "\"");
+
+            editorPanes[5] = new JEditorPane("text/html",
+                    "<img height=\"100\" src =\"file:///" + ABSOLUTE_FILE_PATH + "\"");
+
+            editorPanes[6] = new JEditorPane("text/html",
+                    "<img width=\"100\" height=\"100\" src =\"file:///" + ABSOLUTE_FILE_PATH + "\"");
+
+            editorPanes[7] = new JEditorPane("text/html",
+                    "<img width=\"50\" src =\"file:///" + ABSOLUTE_FILE_PATH + "\"");
+
+            editorPanes[8] = new JEditorPane("text/html",
+                    "<img height=\"50\" src =\"file:///" + ABSOLUTE_FILE_PATH + "\"");
+
+            editorPanes[9] = new JEditorPane("text/html",
+                    "<img width=\"300\" src =\"file:///" + ABSOLUTE_FILE_PATH + "\"");
+
+            editorPanes[10] = new JEditorPane("text/html",
+                    "<img height=\"300\" src =\"file:///" + ABSOLUTE_FILE_PATH + "\"");
+
         });
 
         r.waitForIdle();
 
         System.out.println("Test with only height set to 200");
-        test(r, editorPane1);
+        test(r, editorPanes[0], 200, 200);
 
         System.out.println("Test with only width set to 200");
-        test(r, editorPane2);
+        test(r, editorPanes[1], 200, 200);
+
+        System.out.println("Test with both of them set");
+        test(r, editorPanes[2], 200, 200);
+
+        System.out.println("Test with none of them set to 200");
+        test(r, editorPanes[3], 200, 200);
+
+        System.out.println("Test with only width set to 100");
+        test(r, editorPanes[4], 100, 100);
+
+        System.out.println("Test with only height set to 100");
+        test(r, editorPanes[5], 100, 100);
 
-        System.out.println("Test with none of them set");
-        test(r, editorPane3);
+        System.out.println("Test with both width and height set to 100");
+        test(r, editorPanes[6], 100, 100);
+
+        System.out.println("Test with only width set to 50");
+        test(r, editorPanes[7], 50, 50);
 
-        System.out.println("Test with both of them set to 200");
-        test(r, editorPane4);
+        System.out.println("Test with only height set to 50");
+        test(r, editorPanes[8], 50, 50);
+
+        System.out.println("Test with only width set to 300");
+        test(r, editorPanes[9], 300, 300);
+
+        System.out.println("Test with only height set to 300");
+        test(r, editorPanes[10], 300, 300);
 
         System.out.println("Test Passed.");
     }
--- a/test/jdk/lib/security/cacerts/VerifyCACerts.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/lib/security/cacerts/VerifyCACerts.java	Tue Jul 17 11:05:06 2018 -0400
@@ -24,7 +24,7 @@
 
 /**
  * @test
- * @bug 8189131 8198240 8191844 8189949 8191031 8196141 8204923 8195774
+ * @bug 8189131 8198240 8191844 8189949 8191031 8196141 8204923 8195774 8199779
  * @requires java.runtime.name ~= "OpenJDK.*"
  * @summary Check root CA entries in cacerts file
  */
@@ -42,7 +42,7 @@
             + File.separator + "security" + File.separator + "cacerts";
 
     // The numbers of certs now.
-    private static final int COUNT = 83;
+    private static final int COUNT = 90;
 
     // map of cert alias to SHA-256 fingerprint
     private static final Map<String, String> FINGERPRINT_MAP
@@ -214,6 +214,20 @@
                     "03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7");
             put("affirmtrustpremiumeccca [jdk]",
                     "BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23");
+            put("deutschetelekomrootca2 [jdk]",
+                    "B6:19:1A:50:D0:C3:97:7F:7D:A9:9B:CD:AA:C8:6A:22:7D:AE:B9:67:9E:C7:0B:A3:B0:C9:D9:22:71:C1:70:D3");
+            put("ttelesecglobalrootclass3ca [jdk]",
+                    "FD:73:DA:D3:1C:64:4F:F1:B4:3B:EF:0C:CD:DA:96:71:0B:9C:D9:87:5E:CA:7E:31:70:7A:F3:E9:6D:52:2B:BD");
+            put("ttelesecglobalrootclass2ca [jdk]",
+                    "91:E2:F5:78:8D:58:10:EB:A7:BA:58:73:7D:E1:54:8A:8E:CA:CD:01:45:98:BC:0B:14:3E:04:1B:17:05:25:52");
+            put("starfieldservicesrootg2ca [jdk]",
+                    "56:8D:69:05:A2:C8:87:08:A4:B3:02:51:90:ED:CF:ED:B1:97:4A:60:6A:13:C6:E5:29:0F:CB:2A:E6:3E:DA:B5");
+            put("globalsignca [jdk]",
+                    "EB:D4:10:40:E4:BB:3E:C7:42:C9:E3:81:D3:1E:F2:A4:1A:48:B6:68:5C:96:E7:CE:F3:C1:DF:6C:D4:33:1C:99");
+            put("globalsignr3ca [jdk]",
+                    "CB:B5:22:D7:B7:F1:27:AD:6A:01:13:86:5B:DF:1C:D4:10:2E:7D:07:59:AF:63:5A:7C:F4:72:0D:C9:63:C5:3B");
+            put("globalsigneccrootcar5 [jdk]",
+                    "17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24");
         }
     };
 
--- a/test/jdk/sun/security/ec/xec/TestXDH.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/sun/security/ec/xec/TestXDH.java	Tue Jul 17 11:05:06 2018 -0400
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8171277
+ * @bug 8171277 8206915
  * @summary Test XDH key agreement
  * @library /test/lib
  * @build jdk.test.lib.Convert
@@ -66,15 +66,17 @@
         throws Exception {
 
         KeyPairGenerator kpg = KeyPairGenerator.getInstance(name);
+        AlgorithmParameterSpec paramSpec = null;
         if (param instanceof Integer) {
             kpg.initialize((Integer) param);
         } else if (param instanceof String) {
-            kpg.initialize(new NamedParameterSpec((String) param));
+            paramSpec = new NamedParameterSpec((String) param);
+            kpg.initialize(paramSpec);
         }
         KeyPair kp = kpg.generateKeyPair();
 
         KeyAgreement ka = KeyAgreement.getInstance(name);
-        ka.init(kp.getPrivate());
+        ka.init(kp.getPrivate(), paramSpec);
         ka.doPhase(kp.getPublic(), true);
 
         byte[] secret = ka.generateSecret();
@@ -96,6 +98,16 @@
             throw new RuntimeException("Arrays not equal");
         }
 
+        // make sure generateSecret() resets the state to after init()
+        try {
+            ka.generateSecret();
+            throw new RuntimeException("generateSecret does not reset state");
+        } catch (IllegalStateException ex) {
+            // do nothing---this is expected
+        }
+        ka.doPhase(pubKey, true);
+        ka.generateSecret();
+
         // test with XDH key specs
         XECPublicKeySpec xdhPublic =
             kf.getKeySpec(kp.getPublic(), XECPublicKeySpec.class);
--- a/test/jdk/sun/security/tools/jarsigner/compatibility/Compatibility.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/sun/security/tools/jarsigner/compatibility/Compatibility.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -36,7 +36,7 @@
  *          java.base/sun.security.util
  *          java.base/sun.security.x509
  * @library /test/lib /lib/testlibrary ../warnings
- * @compile -source 1.6 -target 1.6 JdkUtils.java
+ * @compile -source 1.7 -target 1.7 JdkUtils.java
  * @run main/manual/othervm Compatibility
  */
 
--- a/test/jdk/tools/pack200/PackageVersionTest.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/jdk/tools/pack200/PackageVersionTest.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, 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
@@ -60,9 +60,6 @@
 
         verify6991164();
 
-        verifyPack("Test6.class", JAVA6_PACKAGE_MAJOR_VERSION,
-                JAVA6_PACKAGE_MINOR_VERSION);
-
         // a jar file devoid of indy classes must generate 160.1 package file
         verifyPack("Test7.class", JAVA6_PACKAGE_MAJOR_VERSION,
                 JAVA6_PACKAGE_MINOR_VERSION);
@@ -91,9 +88,10 @@
         String target = name.substring(name.length() - 1);
         String javacCmds[] = {
             "-source",
-            "6",
+            "7",
             "-target",
-            name.substring(name.length() - 1),
+            "7",
+            "-Xlint:-options",
             name + ".java"
         };
         Utils.compiler(javacCmds);
--- a/test/langtools/ProblemList.txt	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/ProblemList.txt	Tue Jul 17 11:05:06 2018 -0400
@@ -59,6 +59,8 @@
 
 tools/javac/options/smokeTests/OptionSmokeTest.java                             8205493    generic-all    hard-coded release values in strings
 
+tools/javac/file/zip/8003512/LoadClassFromJava6CreatedJarTest.java              8206874    generic-all    test requires a JDK 6 environment to be useful
+
 ###########################################################################
 #
 # javap
--- a/test/langtools/jdk/jshell/CompilerOptionsTest.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/jdk/jshell/CompilerOptionsTest.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -40,7 +40,7 @@
     @BeforeMethod
     @Override
     public void setUp() {
-        setUp(b -> b.compilerOptions("-source", "7", "-Xlint:cast"));
+        setUp(b -> b.compilerOptions("-source", "7", "-Xlint:cast,-options"));
     }
 
     public void testLint() {
--- a/test/langtools/tools/javac/TryWithResources/WeirdTwr.out	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-- compiler.warn.source.no.bootclasspath: 6
-- compiler.warn.option.obsolete.source: 6
-- compiler.warn.option.obsolete.suppression
-WeirdTwr.java:14:12: compiler.err.feature.not.supported.in.source: (compiler.misc.feature.try.with.resources), 6, 7
-1 error
-3 warnings
--- a/test/langtools/tools/javac/api/TestGetScopeResult.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/api/TestGetScopeResult.java	Tue Jul 17 11:05:06 2018 -0400
@@ -23,9 +23,12 @@
 
 /*
  * @test
- * @bug 8205418
+ * @bug 8205418 8207229 8207230
  * @summary Test the outcomes from Trees.getScope
- * @modules jdk.compiler
+ * @modules jdk.compiler/com.sun.tools.javac.api
+ *          jdk.compiler/com.sun.tools.javac.comp
+ *          jdk.compiler/com.sun.tools.javac.tree
+ *          jdk.compiler/com.sun.tools.javac.util
  */
 
 import java.io.IOException;
@@ -42,16 +45,26 @@
 import com.sun.source.tree.CompilationUnitTree;
 import com.sun.source.tree.LambdaExpressionTree;
 import com.sun.source.tree.Scope;
+import com.sun.source.tree.VariableTree;
 import com.sun.source.util.JavacTask;
 import com.sun.source.util.TreePath;
 import com.sun.source.util.TreePathScanner;
 import com.sun.source.util.Trees;
 
+import com.sun.tools.javac.api.JavacTool;
+import com.sun.tools.javac.comp.Analyzer;
+import com.sun.tools.javac.comp.AttrContext;
+import com.sun.tools.javac.comp.Env;
+import com.sun.tools.javac.tree.JCTree.JCStatement;
+import com.sun.tools.javac.util.Context;
+import com.sun.tools.javac.util.Context.Factory;
+
 import static javax.tools.JavaFileObject.Kind.SOURCE;
 
 public class TestGetScopeResult {
     public static void main(String... args) throws IOException {
         new TestGetScopeResult().run();
+        new TestGetScopeResult().testAnalyzerDisabled();
     }
 
     public void run() throws IOException {
@@ -109,6 +122,26 @@
         };
         doTest("class Test { void test() { cand1(s -> { }); } void cand1(I1 i) { } void cand1(I2 i, int i) { } interface I1 { public String test(String s); } interface I2 { public int test(CharSequence s); } }",
                multipleCandidates2);
+
+        String[] implicitExplicitConflict1 = {
+            ":t",
+            "s:java.lang.String",
+            "super:java.lang.Object",
+            "this:Test"
+        };
+
+        doTest("class Test { void test() { cand((var s, t) -> \"\"); } void cand(I i) { } interface I { public String test(String s); }  }",
+               implicitExplicitConflict1);
+
+        String[] implicitExplicitConflict2 = {
+            "s:<any>",
+            ":t",
+            "super:java.lang.Object",
+            "this:Test"
+        };
+
+        doTest("class Test { void test() { cand((t, var s) -> \"\"); } void cand(I i) { } interface I { public String test(String s); }  }",
+               implicitExplicitConflict2);
     }
 
     public void doTest(String code, String... expected) throws IOException {
@@ -151,5 +184,79 @@
         }
     }
 
+    void testAnalyzerDisabled() throws IOException {
+        JavacTool c = JavacTool.create();
+        try (StandardJavaFileManager fm = c.getStandardFileManager(null, null, null)) {
+            class MyFileObject extends SimpleJavaFileObject {
+                MyFileObject() {
+                    super(URI.create("myfo:///Test.java"), SOURCE);
+                }
+                @Override
+                public String getCharContent(boolean ignoreEncodingErrors) {
+                    return "class Test {" +
+                           "    void test() { cand(() -> { System.err.println(); }); }" +
+                           "    Runnable r = new Runnable() { public void test() { System.err.println(); } };" +
+                           "    void cand(Runnable r) { }" +
+                           "}";
+                }
+            }
+            Context ctx = new Context();
+            TestAnalyzer.preRegister(ctx);
+            JavacTask t = (JavacTask) c.getTask(null, fm, null, List.of("-XDfind=lambda"), null,
+                                                List.of(new MyFileObject()), ctx);
+            CompilationUnitTree cut = t.parse().iterator().next();
+            t.analyze();
+
+            TestAnalyzer analyzer = (TestAnalyzer) TestAnalyzer.instance(ctx);
+
+            if (!analyzer.analyzeCalled) {
+                throw new IllegalStateException("Analyzer didn't run!");
+            }
+
+            new TreePathScanner<Void, Void>() {
+                @Override
+                public Void visitLambdaExpression(LambdaExpressionTree node, Void p) {
+                    analyzer.analyzeCalled = false;
+                    Trees.instance(t).getScope(new TreePath(getCurrentPath(), node.getBody()));
+                    if (analyzer.analyzeCalled) {
+                        throw new IllegalStateException("Analyzer was run during getScope!");
+                    }
+                    return super.visitLambdaExpression(node, p);
+                }
+
+                @Override
+                public Void visitVariable(VariableTree node, Void p) {
+                    if (node.getInitializer() != null) {
+                        analyzer.analyzeCalled = false;
+                        TreePath tp = new TreePath(getCurrentPath(), node.getInitializer());
+                        Trees.instance(t).getScope(tp);
+                        if (analyzer.analyzeCalled) {
+                            throw new IllegalStateException("Analyzer was run during getScope!");
+                        }
+                    }
+                    return super.visitVariable(node, p);
+                }
+            }.scan(cut, null);
+        }
+    }
+
+    private static final class TestAnalyzer extends Analyzer {
+
+        public static void preRegister(Context context) {
+            context.put(analyzerKey, (Factory<Analyzer>) ctx -> new TestAnalyzer(ctx));
+        }
+
+        private boolean analyzeCalled;
+
+        public TestAnalyzer(Context context) {
+            super(context);
+        }
+
+        @Override
+        protected void analyze(JCStatement statement, Env<AttrContext> env) {
+            analyzeCalled = true;
+            super.analyze(statement, env);
+        }
+    }
 }
 
--- a/test/langtools/tools/javac/conditional/Conditional.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/conditional/Conditional.java	Tue Jul 17 11:05:06 2018 -0400
@@ -5,7 +5,7 @@
  * @author Tim Hanson, BEA
  *
  * @compile Conditional.java
- * @compile/fail/ref=Conditional.out -XDrawDiagnostics  -source 7 Conditional.java
+ * @compile/fail/ref=Conditional.out -XDrawDiagnostics -source 7 -Xlint:-options Conditional.java
  */
 
 import java.util.*;
--- a/test/langtools/tools/javac/conditional/Conditional.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/conditional/Conditional.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,4 +1,2 @@
-- compiler.warn.source.no.bootclasspath: 7
 Conditional.java:16:38: compiler.err.prob.found.req: (compiler.misc.inconvertible.types: java.util.List<? extends java.lang.Object>, java.util.List<java.lang.String>)
 1 error
-1 warning
--- a/test/langtools/tools/javac/defaultMethodsVisibility/DefaultMethodsNotVisibleForSourceLessThan8Test.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/defaultMethodsVisibility/DefaultMethodsNotVisibleForSourceLessThan8Test.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -107,7 +107,6 @@
 
     public static void main(String[] args) throws Exception {
         String[] sources = new String[] {
-            "1.6",
             "1.7",
         };
         for (String source : sources) {
--- a/test/langtools/tools/javac/depDocComment/SuppressDeprecation.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/depDocComment/SuppressDeprecation.java	Tue Jul 17 11:05:06 2018 -0400
@@ -5,7 +5,7 @@
  * @author gafter
  *
  * @compile/ref=SuppressDeprecation.out -Xlint:deprecation -XDrawDiagnostics SuppressDeprecation.java
- * @compile/ref=SuppressDeprecation8.out -source 8 -Xlint:deprecation -XDrawDiagnostics SuppressDeprecation.java
+ * @compile/ref=SuppressDeprecation8.out -source 8 -Xlint:deprecation -XDrawDiagnostics -Xlint:-options SuppressDeprecation.java
  */
 
 /* Test for the contexts in which deprecations warnings should
--- a/test/langtools/tools/javac/depDocComment/SuppressDeprecation8.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/depDocComment/SuppressDeprecation8.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,4 +1,3 @@
-- compiler.warn.source.no.bootclasspath: 8
 SuppressDeprecation.java:83:10: compiler.warn.has.been.deprecated: g(), T
 SuppressDeprecation.java:84:14: compiler.warn.has.been.deprecated: g(), T
 SuppressDeprecation.java:85:9: compiler.warn.has.been.deprecated: var, T
@@ -6,4 +5,4 @@
 SuppressDeprecation.java:91:9: compiler.warn.has.been.deprecated: T(int), T
 SuppressDeprecation.java:99:1: compiler.warn.has.been.deprecated: T(), T
 SuppressDeprecation.java:131:17: compiler.warn.has.been.deprecated: X, compiler.misc.unnamed.package
-8 warnings
+7 warnings
--- a/test/langtools/tools/javac/diags/examples.not-yet.txt	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples.not-yet.txt	Tue Jul 17 11:05:06 2018 -0400
@@ -52,7 +52,7 @@
 compiler.misc.bad.enclosing.method                      # bad class file
 compiler.misc.bad.runtime.invisible.param.annotations   # bad class file
 compiler.misc.bad.signature                             # bad class file
-compiler.misc.bad.requires.flag				# bad class file
+compiler.misc.bad.requires.flag                         # bad class file
 compiler.misc.bad.type.annotation.value
 compiler.misc.base.membership                           # UNUSED
 compiler.misc.class.file.not.found                      # ClassReader
@@ -61,7 +61,7 @@
 compiler.misc.fatal.err.cant.locate.ctor                # Resolve, from Lower
 compiler.misc.fatal.err.cant.locate.field               # Resolve, from Lower
 compiler.misc.fatal.err.cant.locate.meth                # Resolve, from Lower
-compiler.misc.fatal.err.cant.close	                # JavaCompiler
+compiler.misc.fatal.err.cant.close                      # JavaCompiler
 compiler.misc.feature.not.supported.in.source.plural    # cannot happen (for now)
 compiler.misc.file.does.not.contain.package
 compiler.misc.illegal.start.of.class.file
@@ -153,6 +153,7 @@
 compiler.misc.locn.system_modules                             # fragment uninteresting in and of itself
 compiler.misc.locn.upgrade_module_path                        # fragment uninteresting in and of itself
 compiler.misc.inferred.do.not.conform.to.eq.bounds            # hard to generate, could probably be removed
+compiler.err.feature.not.supported.in.source                  # Generated for using diamond before source 7
 
 # The following are new module-related messages, that need new  examples to be created
 compiler.err.duplicate.module.on.path
@@ -190,4 +191,4 @@
 compiler.warn.source.target.conflict
 compiler.warn.target.default.source.conflict
 compiler.err.preview.not.latest
-compiler.err.preview.without.source.or.release
\ No newline at end of file
+compiler.err.preview.without.source.or.release
--- a/test/langtools/tools/javac/diags/examples/AnnotationsAfterTypeParamsNotSupportedInSource.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/AnnotationsAfterTypeParamsNotSupportedInSource.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -23,8 +23,7 @@
 
 // key: compiler.err.feature.not.supported.in.source.plural
 // key: compiler.misc.feature.annotations.after.type.params
-// key: compiler.warn.source.no.bootclasspath
-// options: -source 7
+// options: -source 7 -Xlint:-options
 
 @interface Anno { }
 
--- a/test/langtools/tools/javac/diags/examples/DiamondAndAnonClass.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/DiamondAndAnonClass.java	Tue Jul 17 11:05:06 2018 -0400
@@ -24,8 +24,7 @@
 // key: compiler.misc.feature.not.supported.in.source
 // key: compiler.misc.feature.diamond.and.anon.class
 // key: compiler.err.cant.apply.diamond.1
-// key: compiler.warn.source.no.bootclasspath
-// options: -source 8
+// options: -source 8 -Xlint:-options
 
 import java.util.*;
 
--- a/test/langtools/tools/javac/diags/examples/DiamondNotSupported.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/DiamondNotSupported.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 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
@@ -21,14 +21,15 @@
  * questions.
  */
 
-// key: compiler.err.feature.not.supported.in.source
-// key: compiler.misc.feature.diamond
-// options: -source 6 -Xlint:-options
+// key: compiler.misc.feature.not.supported.in.source
+// key: compiler.misc.feature.diamond.and.anon.class
+// key: compiler.err.cant.apply.diamond.1
+// options: -source 8 -Xlint:-options
 
 import java.util.*;
 
 class DiamondNotSupported {
     void m() {
-        List<String> list = new ArrayList<>();
+        List<String> list = new ArrayList<>(){};
     }
 }
--- a/test/langtools/tools/javac/diags/examples/DirPathElementNotFound.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/DirPathElementNotFound.java	Tue Jul 17 11:05:06 2018 -0400
@@ -22,8 +22,7 @@
  */
 
 // key: compiler.warn.dir.path.element.not.found
-// key: compiler.warn.source.no.bootclasspath
-// options: -Xlint:path -source 8 -target 8 -extdirs DoesNotExist
+// options: -Xlint:path,-options -source 8 -target 8 -extdirs DoesNotExist
 // run: simple
 
 class DirPathElementNotFound { }
--- a/test/langtools/tools/javac/diags/examples/MethodInvokedWithWrongNumberOfArgs.java	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
- * 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.
- */
-
-// key: compiler.err.bad.target.sigpoly.call
-// options: -Xlint:-options -source 6 -target 6
-
-class MethodInvokedWithWrongNumberOfArgs {
-    static java.lang.invoke.MethodHandle getNamedMember;
-    public static Object getMember(String name, Object rec) throws Throwable {
-        return getNamedMember.invoke(rec, name);
-    }
-}
--- a/test/langtools/tools/javac/diags/examples/ModulesNotSupportedInSource/module-info.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/ModulesNotSupportedInSource/module-info.java	Tue Jul 17 11:05:06 2018 -0400
@@ -23,8 +23,7 @@
 
 // key: compiler.err.feature.not.supported.in.source.plural
 // key: compiler.misc.feature.modules
-// key: compiler.warn.source.no.bootclasspath
-// options: -source 8 -Xlint:-path
+// options: -source 8 -Xlint:-path,-options
 
 module ModulesNotSupportedInSource {
 }
--- a/test/langtools/tools/javac/diags/examples/MulticatchNotSupported.java	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * 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.
- */
-
-// key: compiler.err.feature.not.supported.in.source.plural
-// key: compiler.misc.feature.multicatch
-// options: -source 1.6 -Xlint:-options
-
-class MulticatchNotSupported {
-    class E1 extends Exception { }
-    class E2 extends Exception { }
-
-    void e1() throws E1 { }
-    void e2() throws E2 { }
-
-    void m() {
-        try {
-            e1();
-            e2();
-        } catch (final E1 | E2 e) {
-            e.printStackTrace();
-        }
-    }
-}
--- a/test/langtools/tools/javac/diags/examples/ObsoleteSourceAndTarget.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/ObsoleteSourceAndTarget.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2014, 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
@@ -25,7 +25,7 @@
 // key: compiler.warn.option.obsolete.target
 // key: compiler.warn.option.obsolete.suppression
 // key: compiler.warn.source.no.bootclasspath
-// options: -source 1.6 -target 1.6
+// options: -source 1.7 -target 1.7
 
 class ObsoleteSourceAndTarget {
     public static void foo() {;}
--- a/test/langtools/tools/javac/diags/examples/ParametersUnsupported.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/ParametersUnsupported.java	Tue Jul 17 11:05:06 2018 -0400
@@ -22,6 +22,9 @@
  */
 
 // key: compiler.warn.option.parameters.unsupported
+// key: compiler.warn.option.obsolete.source
+// key: compiler.warn.option.obsolete.suppression
+// key: compiler.warn.option.obsolete.target
 // options: -parameters --release 7
 
 class ParametersUnsupported {
--- a/test/langtools/tools/javac/diags/examples/PrivateInterfaceMethodsNotSupported.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/PrivateInterfaceMethodsNotSupported.java	Tue Jul 17 11:05:06 2018 -0400
@@ -23,8 +23,7 @@
 
 // key: compiler.err.feature.not.supported.in.source.plural
 // key: compiler.misc.feature.private.intf.methods
-// key: compiler.warn.source.no.bootclasspath
-// options: -source 8
+// options: -source 8 -Xlint:-options
 
 interface PrivateInterfaceMethodsNotSupported {
     private void foo() {}
--- a/test/langtools/tools/javac/diags/examples/RepeatableAnnotationsNotSupported.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/RepeatableAnnotationsNotSupported.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, 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
@@ -23,8 +23,7 @@
 
 // key: compiler.err.feature.not.supported.in.source.plural
 // key: compiler.misc.feature.repeatable.annotations
-// key: compiler.warn.source.no.bootclasspath
-// options: -source 7
+// options: -source 7 -Xlint:-options
 
 @interface Anno { }
 
--- a/test/langtools/tools/javac/diags/examples/SourceNoBootclasspath.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/SourceNoBootclasspath.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2014, 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
@@ -22,6 +22,6 @@
  */
 
 // key: compiler.warn.source.no.bootclasspath
-// options: -source 7
+// options: -source 8
 
 class SourceNoBootclasspath { }
--- a/test/langtools/tools/javac/diags/examples/StringSwitchNotSupported.java	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * 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.
- */
-
-// key: compiler.err.feature.not.supported.in.source.plural
-// key: compiler.misc.feature.string.switch
-// options: -source 6 -Xlint:-options
-
-class StringSwitchNotSupported {
-    int m(String s) {
-        switch (s) {
-            case "one": return 1;
-            case "two": return 2;
-            default:    return -1;
-        }
-    }
-}
--- a/test/langtools/tools/javac/diags/examples/TryResourceNotSupported.java	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * 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.
- */
-
-// key: compiler.err.feature.not.supported.in.source
-// key: compiler.misc.feature.try.with.resources
-// options: -source 1.6 -Xlint:-options
-
-import java.io.*;
-
-class TryResourceNotSupported {
-    void m() {
-        try (Writer out = new StringWriter()) {
-            out.println("Hello World");
-        }
-    }
-}
--- a/test/langtools/tools/javac/diags/examples/TryWithoutCatchOrFinally.java	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * 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.
- */
-
-// key: compiler.err.try.without.catch.or.finally
-// options: -source 1.6 -Xlint:-options
-
-class TryWithoutCatchOrFinally {
-    void m() {
-        try {
-        }
-    }
-}
--- a/test/langtools/tools/javac/diags/examples/TypeAnnotationsNotSupported.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/TypeAnnotationsNotSupported.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2014, 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
@@ -23,8 +23,7 @@
 
 // key: compiler.err.feature.not.supported.in.source.plural
 // key: compiler.misc.feature.type.annotations
-// key: compiler.warn.source.no.bootclasspath
-// options: -source 7
+// options: -source 7 -Xlint:-options
 
 @interface Anno { }
 
--- a/test/langtools/tools/javac/diags/examples/UnsupportedBinaryLiteral.java	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * 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.
- */
-
-// key: compiler.err.feature.not.supported.in.source.plural
-// key: compiler.misc.feature.binary.lit
-// options: -source 6 -Xlint:-options
-
-class UnsupportedBinaryLiteral {
-    int i = 0b01000010;
-}
--- a/test/langtools/tools/javac/diags/examples/UnsupportedUnderscoreLiteral.java	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * 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.
- */
-
-// key: compiler.err.feature.not.supported.in.source.plural
-// key: compiler.misc.feature.underscore.lit
-// options: -source 6 -Xlint:-options
-
-class UnsupportedUnderscoreLiteral {
-    int i = 123_456_789;
-}
--- a/test/langtools/tools/javac/diags/examples/VarInTryWithResourcesNotSupportedInSource.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/diags/examples/VarInTryWithResourcesNotSupportedInSource.java	Tue Jul 17 11:05:06 2018 -0400
@@ -23,8 +23,7 @@
 
 // key: compiler.err.feature.not.supported.in.source.plural
 // key: compiler.misc.feature.var.in.try.with.resources
-// key: compiler.warn.source.no.bootclasspath
-// options: -source 8
+// options: -source 8 -Xlint:-options
 
 class VarInTryWithResourcesNotSupportedInSource {
     void m() {
--- a/test/langtools/tools/javac/generics/diamond/neg/Neg09a.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/diamond/neg/Neg09a.java	Tue Jul 17 11:05:06 2018 -0400
@@ -4,7 +4,7 @@
  *
  * @summary  Check that diamond is not allowed with anonymous inner class expressions at source < 9
  * @author Maurizio Cimadamore
- * @compile/fail/ref=Neg09a.out Neg09a.java -source 8 -XDrawDiagnostics
+ * @compile/fail/ref=Neg09a.out Neg09a.java -source 8 -XDrawDiagnostics -Xlint:-options
  *
  */
 
--- a/test/langtools/tools/javac/generics/diamond/neg/Neg09a.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/diamond/neg/Neg09a.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,4 +1,2 @@
-- compiler.warn.source.no.bootclasspath: 8
 Neg09a.java:15:34: compiler.err.cant.apply.diamond.1: Neg09a.Member<X>, (compiler.misc.feature.not.supported.in.source: (compiler.misc.feature.diamond.and.anon.class), 8, 9)
 1 error
-1 warning
--- a/test/langtools/tools/javac/generics/diamond/neg/Neg09b.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/diamond/neg/Neg09b.java	Tue Jul 17 11:05:06 2018 -0400
@@ -4,7 +4,7 @@
  *
  * @summary  Check that diamond is not allowed with anonymous inner class expressions at source < 9
  * @author Maurizio Cimadamore
- * @compile/fail/ref=Neg09b.out Neg09b.java -source 8 -XDrawDiagnostics
+ * @compile/fail/ref=Neg09b.out Neg09b.java -source 8 -XDrawDiagnostics -Xlint:-options
  *
  */
 
--- a/test/langtools/tools/javac/generics/diamond/neg/Neg09b.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/diamond/neg/Neg09b.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,4 +1,2 @@
-- compiler.warn.source.no.bootclasspath: 8
 Neg09b.java:16:34: compiler.err.cant.apply.diamond.1: Neg09b.Nested<X>, (compiler.misc.feature.not.supported.in.source: (compiler.misc.feature.diamond.and.anon.class), 8, 9)
 1 error
-1 warning
--- a/test/langtools/tools/javac/generics/diamond/neg/Neg09c.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/diamond/neg/Neg09c.java	Tue Jul 17 11:05:06 2018 -0400
@@ -4,7 +4,7 @@
  *
  * @summary  Check that diamond is not allowed with anonymous inner class expressions at source < 9
  * @author Maurizio Cimadamore
- * @compile/fail/ref=Neg09c.out Neg09c.java -source 8 -XDrawDiagnostics
+ * @compile/fail/ref=Neg09c.out Neg09c.java -source 8 -XDrawDiagnostics -Xlint:-options
  *
  */
 
--- a/test/langtools/tools/javac/generics/diamond/neg/Neg09c.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/diamond/neg/Neg09c.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,4 +1,2 @@
-- compiler.warn.source.no.bootclasspath: 8
 Neg09c.java:15:39: compiler.err.cant.apply.diamond.1: Neg09c.Member<X>, (compiler.misc.feature.not.supported.in.source: (compiler.misc.feature.diamond.and.anon.class), 8, 9)
 1 error
-1 warning
--- a/test/langtools/tools/javac/generics/diamond/neg/Neg09d.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/diamond/neg/Neg09d.java	Tue Jul 17 11:05:06 2018 -0400
@@ -4,7 +4,7 @@
  *
  * @summary  Check that diamond is not allowed with anonymous inner class expressions at source < 9
  * @author Maurizio Cimadamore
- * @compile/fail/ref=Neg09d.out Neg09d.java -source 8 -XDrawDiagnostics
+ * @compile/fail/ref=Neg09d.out Neg09d.java -source 8 -XDrawDiagnostics -Xlint:-options
  *
  */
 
--- a/test/langtools/tools/javac/generics/diamond/neg/Neg09d.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/diamond/neg/Neg09d.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,4 +1,2 @@
-- compiler.warn.source.no.bootclasspath: 8
 Neg09d.java:16:33: compiler.err.doesnt.exist: Neg09
 1 error
-1 warning
--- a/test/langtools/tools/javac/generics/inference/6278587/T6278587Neg.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/inference/6278587/T6278587Neg.java	Tue Jul 17 11:05:06 2018 -0400
@@ -3,7 +3,7 @@
  * @bug     6278587 8007464
  * @summary Inference broken for subtypes of subtypes of F-bounded types
  * @author  Peter von der Ah\u00e9
- * @compile/fail/ref=T6278587Neg.out -XDrawDiagnostics -source 7 T6278587Neg.java
+ * @compile/fail/ref=T6278587Neg.out -XDrawDiagnostics -source 7 -Xlint:-options T6278587Neg.java
  * @compile T6278587Neg.java
  */
 
--- a/test/langtools/tools/javac/generics/inference/6278587/T6278587Neg.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/inference/6278587/T6278587Neg.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,4 +1,2 @@
-- compiler.warn.source.no.bootclasspath: 7
 T6278587Neg.java:18:10: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.lower.bounds: T, T6278587Neg.C)
 1 error
-1 warning
--- a/test/langtools/tools/javac/generics/odersky/BadTest4.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/odersky/BadTest4.java	Tue Jul 17 11:05:06 2018 -0400
@@ -4,7 +4,7 @@
  * @summary Negative regression test from odersky
  * @author odersky
  *
- * @compile/fail/ref=BadTest4.out -XDrawDiagnostics -source 7 BadTest4.java
+ * @compile/fail/ref=BadTest4.out -XDrawDiagnostics -source 7 -Xlint:-options BadTest4.java
  * @compile BadTest4.java
  */
 
--- a/test/langtools/tools/javac/generics/odersky/BadTest4.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/generics/odersky/BadTest4.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,4 +1,2 @@
-- compiler.warn.source.no.bootclasspath: 7
 BadTest4.java:38:17: compiler.err.cant.apply.symbol: kindname.method, f, A,B, java.lang.Integer,java.lang.Number, kindname.class, BadTest4.Main, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Number, java.lang.Integer)
 1 error
-1 warning
--- a/test/langtools/tools/javac/lambda/SourceLevelTest.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/lambda/SourceLevelTest.java	Tue Jul 17 11:05:06 2018 -0400
@@ -3,7 +3,7 @@
  * @bug 8003280
  * @summary Add lambda tests
  *  check that lambda features are not enabled with source < 8
- * @compile/fail/ref=SourceLevelTest.out -XDrawDiagnostics -source 7 SourceLevelTest.java
+ * @compile/fail/ref=SourceLevelTest.out -XDrawDiagnostics -source 7 -Xlint:-options SourceLevelTest.java
  */
 
 class SourceLevelTest {
--- a/test/langtools/tools/javac/lambda/SourceLevelTest.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/lambda/SourceLevelTest.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,6 +1,4 @@
-- compiler.warn.source.no.bootclasspath: 7
 SourceLevelTest.java:11:9: compiler.err.feature.not.supported.in.source.plural: (compiler.misc.feature.default.methods), 7, 8
 SourceLevelTest.java:18:17: compiler.err.feature.not.supported.in.source.plural: (compiler.misc.feature.lambda), 7, 8
 SourceLevelTest.java:19:20: compiler.err.feature.not.supported.in.source.plural: (compiler.misc.feature.method.references), 7, 8
 3 errors
-1 warning
--- a/test/langtools/tools/javac/modules/AnnotationProcessing.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/modules/AnnotationProcessing.java	Tue Jul 17 11:05:06 2018 -0400
@@ -23,7 +23,7 @@
 
 /**
  * @test
- * @bug 8133884 8162711 8133896 8172158 8172262 8173636 8175119
+ * @bug 8133884 8162711 8133896 8172158 8172262 8173636 8175119 8189747
  * @summary Verify that annotation processing works.
  * @library /tools/lib
  * @modules
@@ -1389,6 +1389,19 @@
             .run()
             .writeAll();
 
+        //from source:
+        new JavacTask(tb)
+            .options("--module-source-path", moduleSrc.toString(),
+                     "--source-path", src.toString(),
+                     "-processorpath", System.getProperty("test.class.path"),
+                     "-processor", UnboundLookupGenerate.class.getName(),
+                     "-XDrawDiagnostics")
+            .outdir(classes)
+            .files(findJavaFiles(moduleSrc))
+            .run()
+            .writeAll()
+            .getOutput(OutputKind.DIRECT);
+
     }
 
     @SupportedAnnotationTypes("*")
@@ -1486,6 +1499,29 @@
 
     }
 
+    @SupportedAnnotationTypes("*")
+    public static final class UnboundLookupGenerate extends AbstractProcessor {
+
+        @Override
+        public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
+            if (processingEnv.getElementUtils().getTypeElement("nue.Nue") == null) {
+                try (Writer w = processingEnv.getFiler().createSourceFile("m1x/nue.Nue").openWriter()) {
+                    w.write("package nue; public class Nue {}");
+                } catch (IOException ex) {
+                    throw new IllegalStateException(ex);
+                }
+            }
+
+            return false;
+        }
+
+        @Override
+        public SourceVersion getSupportedSourceVersion() {
+            return SourceVersion.latest();
+        }
+
+    }
+
     @Test
     public void testWrongDefaultTargetModule(Path base) throws Exception {
         Path src = base.resolve("src");
--- a/test/langtools/tools/javac/options/modes/SourceTargetTest.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/options/modes/SourceTargetTest.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -71,7 +71,7 @@
 
         writeFile("C.java", "class C { }");
 
-        String[] opts = { "-source", "1.6", "-target", "1.6" };
+        String[] opts = { "-source", "1.7", "-target", "1.7" };
         String[] files = { "C.java" };
 
         runMain(opts, files)
--- a/test/langtools/tools/javac/options/release/ReleaseOption.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/options/release/ReleaseOption.java	Tue Jul 17 11:05:06 2018 -0400
@@ -3,7 +3,7 @@
  * @bug 8072480
  * @summary Verify that javac rejects Java 8 program with --release 7
  * @compile ReleaseOption.java
- * @compile/fail/ref=ReleaseOption-release7.out -XDrawDiagnostics --release 7 ReleaseOption.java
+ * @compile/fail/ref=ReleaseOption-release7.out -XDrawDiagnostics --release 7 -Xlint:-options ReleaseOption.java
  */
 
 interface ReleaseOption extends java.util.stream.Stream {
--- a/test/langtools/tools/javac/options/release/ReleaseOptionThroughAPI.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/options/release/ReleaseOptionThroughAPI.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -50,7 +50,7 @@
              PrintWriter outWriter = new PrintWriter(out)) {
             Iterable<? extends JavaFileObject> input =
                     fm.getJavaFileObjects(System.getProperty("test.src") + "/ReleaseOption.java");
-            List<String> options = Arrays.asList("--release", "7", "-XDrawDiagnostics");
+            List<String> options = Arrays.asList("--release", "7", "-XDrawDiagnostics", "-Xlint:-options");
 
             compiler.getTask(outWriter, fm, null, options, null, input).call();
             String expected =
--- a/test/langtools/tools/javac/processing/environment/TestSourceVersion.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/processing/environment/TestSourceVersion.java	Tue Jul 17 11:05:06 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2015, 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
@@ -31,14 +31,15 @@
  *          jdk.compiler
  * @build   JavacTestingAbstractProcessor
  * @compile TestSourceVersion.java
- * @compile -processor TestSourceVersion -proc:only -source 1.6 -AExpectedVersion=RELEASE_6 HelloWorld.java
- * @compile -processor TestSourceVersion -proc:only -source   6 -AExpectedVersion=RELEASE_6 HelloWorld.java
  * @compile -processor TestSourceVersion -proc:only -source 1.7 -AExpectedVersion=RELEASE_7 HelloWorld.java
  * @compile -processor TestSourceVersion -proc:only -source   7 -AExpectedVersion=RELEASE_7 HelloWorld.java
  * @compile -processor TestSourceVersion -proc:only -source 1.8 -AExpectedVersion=RELEASE_8 HelloWorld.java
  * @compile -processor TestSourceVersion -proc:only -source   8 -AExpectedVersion=RELEASE_8 HelloWorld.java
  * @compile -processor TestSourceVersion -proc:only -source 1.9 -AExpectedVersion=RELEASE_9 HelloWorld.java
  * @compile -processor TestSourceVersion -proc:only -source   9 -AExpectedVersion=RELEASE_9 HelloWorld.java
+ * @compile -processor TestSourceVersion -proc:only -source  10 -AExpectedVersion=RELEASE_10 HelloWorld.java
+ * @compile -processor TestSourceVersion -proc:only -source  11 -AExpectedVersion=RELEASE_11 HelloWorld.java
+ * @compile -processor TestSourceVersion -proc:only -source  12 -AExpectedVersion=RELEASE_12 HelloWorld.java
  */
 
 import java.util.Set;
--- a/test/langtools/tools/javac/varargs/6313164/T6313164.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/varargs/6313164/T6313164.java	Tue Jul 17 11:05:06 2018 -0400
@@ -3,7 +3,7 @@
  * @bug     6313164 8036953
  * @author mcimadamore
  * @summary  javac generates code that fails byte code verification for the varargs feature
- * @compile/fail/ref=T6313164Source7.out -source 7 -XDrawDiagnostics T6313164.java
+ * @compile/fail/ref=T6313164Source7.out -source 7 -XDrawDiagnostics  -Xlint:-options T6313164.java
  * @compile/fail/ref=T6313164Source8AndHigher.out -XDrawDiagnostics T6313164.java
  */
 import p1.*;
--- a/test/langtools/tools/javac/varargs/6313164/T6313164Source7.out	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/varargs/6313164/T6313164Source7.out	Tue Jul 17 11:05:06 2018 -0400
@@ -1,6 +1,4 @@
-- compiler.warn.source.no.bootclasspath: 7
 T6313164.java:14:10: compiler.err.cant.apply.symbol: kindname.method, foo1, p1.A[], p1.B,p1.B, kindname.class, p1.B, (compiler.misc.inaccessible.varargs.type: p1.A, kindname.class, T6313164)
 T6313164.java:19:15: compiler.err.prob.found.req: (compiler.misc.inaccessible.varargs.type: p1.A, kindname.class, T6313164)
 T6313164.java:20:15: compiler.err.prob.found.req: (compiler.misc.inaccessible.varargs.type: p1.A, kindname.class, T6313164)
 3 errors
-1 warning
--- a/test/langtools/tools/javac/varargs/warning/Warn4.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/varargs/warning/Warn4.java	Tue Jul 17 11:05:06 2018 -0400
@@ -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
@@ -93,7 +93,6 @@
     }
 
     enum SourceLevel {
-        JDK_6("6"),
         JDK_7("7"),
         JDK_9("9");
 
--- a/test/langtools/tools/javac/versions/Versions.java	Tue Jul 17 10:54:15 2018 -0400
+++ b/test/langtools/tools/javac/versions/Versions.java	Tue Jul 17 11:05:06 2018 -0400
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 4981566 5028634 5094412 6304984 7025786 7025789 8001112 8028545 8000961 8030610 8028546 8188870 8173382 8173382 8193290 8205619
+ * @bug 4981566 5028634 5094412 6304984 7025786 7025789 8001112 8028545 8000961 8030610 8028546 8188870 8173382 8173382 8193290 8205619 8028563
  * @summary Check interpretation of -target and -source options
  * @modules java.compiler
  *          jdk.compiler
@@ -66,7 +66,7 @@
     }
 
     public static final Set<String> RETIRED_SOURCES =
-        Set.of("1.2", "1.3", "1.4", "1.5" /*, 1.6 */);
+        Set.of("1.2", "1.3", "1.4", "1.5", "1.6");
 
     public static final Set<String> VALID_SOURCES =
         Set.of("1.7", "1.8", "1.9", "1.10", "11", "12");
--- a/test/langtools/tools/javac/warnings/6594914/T6594914b.out	Tue Jul 17 10:54:15 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-- compiler.warn.source.no.bootclasspath: 1.8
-T6594914b.java:12:22: compiler.warn.sun.proprietary: sun.security.x509.X509CertInfo
-T6594914b.java:17:33: compiler.warn.sun.proprietary: sun.security.x509.X509CertInfo
-T6594914b.java:18:22: compiler.warn.sun.proprietary: sun.security.x509.X509CertInfo
-T6594914b.java:19:37: compiler.warn.sun.proprietary: sun.security.x509.CertException
-T6594914b.java:18:56: compiler.warn.sun.proprietary: sun.security.x509.X509CertInfo
-T6594914b.java:27:26: compiler.warn.sun.proprietary: sun.security.x509.X509CertInfo
-- compiler.note.deprecated.filename: T6594914b.java
-- compiler.note.deprecated.recompile
-7 warnings