changeset 52938:dcfc30acfb3a intrinsics

undo changes to allow for jep-334 dependency
author jlaskey
date Tue, 30 Oct 2018 14:28:06 -0300
parents c9d66af26668
children c3ecd531c027
files src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java src/java.base/share/classes/java/io/PrintStream.java src/java.base/share/classes/java/io/PrintWriter.java src/java.base/share/classes/java/lang/Class.java src/java.base/share/classes/java/lang/Double.java src/java.base/share/classes/java/lang/Enum.java src/java.base/share/classes/java/lang/Float.java src/java.base/share/classes/java/lang/Integer.java src/java.base/share/classes/java/lang/Long.java src/java.base/share/classes/java/lang/String.java src/java.base/share/classes/java/lang/invoke/MethodHandle.java src/java.base/share/classes/java/lang/invoke/MethodType.java src/java.base/share/classes/java/lang/invoke/VarHandle.java src/java.base/share/classes/java/lang/invoke/VarHandles.java src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template src/java.base/share/classes/java/util/Formatter.java src/java.base/share/classes/java/util/Objects.java src/java.base/share/classes/module-info.java src/java.base/share/classes/sun/invoke/util/Wrapper.java src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties src/jdk.compiler/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java src/jdk.compiler/share/classes/module-info.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValue/getvalue003.java test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValues/getvalues001.java test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValues/getvalues002.java test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValues/getvalues003.java test/jdk/java/lang/invoke/VarHandles/VarHandleBaseByteArrayTest.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessString.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestByteArrayView.java.template test/jdk/java/util/Formatter/Basic-X.java.template test/jdk/java/util/Formatter/BasicBigDecimal.java test/jdk/java/util/Formatter/BasicBigInteger.java test/jdk/java/util/Formatter/BasicBoolean.java test/jdk/java/util/Formatter/BasicBooleanObject.java test/jdk/java/util/Formatter/BasicByte.java test/jdk/java/util/Formatter/BasicByteObject.java test/jdk/java/util/Formatter/BasicChar.java test/jdk/java/util/Formatter/BasicCharObject.java test/jdk/java/util/Formatter/BasicDateTime.java test/jdk/java/util/Formatter/BasicDouble.java test/jdk/java/util/Formatter/BasicDoubleObject.java test/jdk/java/util/Formatter/BasicFloat.java test/jdk/java/util/Formatter/BasicFloatObject.java test/jdk/java/util/Formatter/BasicInt.java test/jdk/java/util/Formatter/BasicIntObject.java test/jdk/java/util/Formatter/BasicLong.java test/jdk/java/util/Formatter/BasicLongObject.java test/jdk/java/util/Formatter/BasicShort.java test/jdk/java/util/Formatter/BasicShortObject.java test/jdk/java/util/Formatter/EncodingTest.java test/jdk/java/util/Formatter/FormatLocale.java test/jdk/java/util/Formatter/NullArg.java test/langtools/jdk/javadoc/doclet/lib/JavadocTester.java test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java test/langtools/jdk/jshell/TypeNameTest.java test/langtools/tools/javac/T8187978/FilterOutCandidatesForDiagnosticsTest.out test/langtools/tools/javac/generics/inference/8176534/TestUncheckedCalls.java test/langtools/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.out test/langtools/tools/javac/lvti/harness/NonDenotableTest.java test/langtools/tools/javac/varargs/6806876/T6806876.out
diffstat 80 files changed, 308 insertions(+), 3809 deletions(-) [+]
line wrap: on
line diff
--- a/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	Tue Oct 30 14:28:06 2018 -0300
@@ -552,7 +552,7 @@
                 if (Utils.SORT_MEMBERS_DESCR_MAJOR)
                     // descRef is transmitted as UDELTA5; sort it first?
                     x = this.descRef.compareTo(that.descRef);
-                // Primary key is classDesc.
+                // Primary key is classRef.
                 if (x == 0)
                     x = this.classRef.compareTo(that.classRef);
                 if (x == 0)
--- a/src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java	Tue Oct 30 14:28:06 2018 -0300
@@ -2194,7 +2194,7 @@
                         }
                         buf[pc++] = (byte) origBC;
                         int coding = bc_initref.getInt();
-                        // Find the nth overloading of <init> in classDesc.
+                        // Find the nth overloading of <init> in classRef.
                         MemberEntry ref = pkg.cp.getOverloadingForIndex(CONSTANT_Methodref, classRef, "<init>", coding);
                         fixupBuf.addU2(pc, ref);
                         buf[pc+0] = buf[pc+1] = 0;
--- a/src/java.base/share/classes/java/io/PrintStream.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/io/PrintStream.java	Tue Oct 30 14:28:06 2018 -0300
@@ -25,12 +25,11 @@
 
 package java.io;
 
-import java.lang.compiler.IntrinsicCandidate;
+import java.util.Formatter;
+import java.util.Locale;
 import java.nio.charset.Charset;
 import java.nio.charset.IllegalCharsetNameException;
 import java.nio.charset.UnsupportedCharsetException;
-import java.util.Formatter;
-import java.util.Locale;
 
 /**
  * A {@code PrintStream} adds functionality to another output stream,
@@ -946,7 +945,6 @@
      *
      * @since  1.5
      */
-    @IntrinsicCandidate
     public PrintStream printf(String format, Object ... args) {
         return format(format, args);
     }
@@ -999,7 +997,6 @@
      *
      * @since  1.5
      */
-    @IntrinsicCandidate
     public PrintStream printf(Locale l, String format, Object ... args) {
         return format(l, format, args);
     }
@@ -1045,7 +1042,6 @@
      *
      * @since  1.5
      */
-    @IntrinsicCandidate
     public PrintStream format(String format, Object ... args) {
         try {
             synchronized (this) {
@@ -1105,7 +1101,6 @@
      *
      * @since  1.5
      */
-    @IntrinsicCandidate
     public PrintStream format(Locale l, String format, Object ... args) {
         try {
             synchronized (this) {
--- a/src/java.base/share/classes/java/io/PrintWriter.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/io/PrintWriter.java	Tue Oct 30 14:28:06 2018 -0300
@@ -25,13 +25,12 @@
 
 package java.io;
 
-import java.lang.compiler.IntrinsicCandidate;
+import java.util.Objects;
+import java.util.Formatter;
+import java.util.Locale;
 import java.nio.charset.Charset;
 import java.nio.charset.IllegalCharsetNameException;
 import java.nio.charset.UnsupportedCharsetException;
-import java.util.Objects;
-import java.util.Formatter;
-import java.util.Locale;
 
 /**
  * Prints formatted representations of objects to a text-output stream.  This
@@ -886,7 +885,6 @@
      *
      * @since  1.5
      */
-    @IntrinsicCandidate
     public PrintWriter printf(String format, Object ... args) {
         return format(format, args);
     }
@@ -924,7 +922,6 @@
      *         {@code null} argument depends on the <a
      *         href="../util/Formatter.html#syntax">conversion</a>.
      *
-     *
      * @throws  java.util.IllegalFormatException
      *          If a format string contains an illegal syntax, a format
      *          specifier that is incompatible with the given arguments,
@@ -941,7 +938,6 @@
      *
      * @since  1.5
      */
-    @IntrinsicCandidate
     public PrintWriter printf(Locale l, String format, Object ... args) {
         return format(l, format, args);
     }
@@ -986,7 +982,6 @@
      *
      * @since  1.5
      */
-    @IntrinsicCandidate
     public PrintWriter format(String format, Object ... args) {
         try {
             synchronized (lock) {
@@ -1047,7 +1042,6 @@
      *
      * @since  1.5
      */
-    @IntrinsicCandidate
     public PrintWriter format(Locale l, String format, Object ... args) {
         try {
             synchronized (lock) {
--- a/src/java.base/share/classes/java/lang/Class.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/Class.java	Tue Oct 30 14:28:06 2018 -0300
@@ -26,8 +26,6 @@
 package java.lang;
 
 import java.lang.annotation.Annotation;
-import java.lang.constant.ClassDesc;
-import java.lang.invoke.TypeDescriptor;
 import java.lang.module.ModuleReader;
 import java.lang.ref.SoftReference;
 import java.io.IOException;
@@ -48,7 +46,6 @@
 import java.lang.reflect.Proxy;
 import java.lang.reflect.Type;
 import java.lang.reflect.TypeVariable;
-import java.lang.constant.Constable;
 import java.net.URL;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
@@ -61,7 +58,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Optional;
 import java.util.StringJoiner;
 
 import jdk.internal.HotSpotIntrinsicCandidate;
@@ -74,7 +70,6 @@
 import jdk.internal.reflect.Reflection;
 import jdk.internal.reflect.ReflectionFactory;
 import jdk.internal.vm.annotation.ForceInline;
-import sun.invoke.util.Wrapper;
 import sun.reflect.generics.factory.CoreReflectionFactory;
 import sun.reflect.generics.factory.GenericsFactory;
 import sun.reflect.generics.repository.ClassRepository;
@@ -157,9 +152,7 @@
 public final class Class<T> implements java.io.Serializable,
                               GenericDeclaration,
                               Type,
-                              AnnotatedElement,
-                                       TypeDescriptor.OfField<Class<?>>,
-                              Constable<Class<?>> {
+                              AnnotatedElement {
     private static final int ANNOTATION= 0x00002000;
     private static final int ENUM      = 0x00004000;
     private static final int SYNTHETIC = 0x00001000;
@@ -4023,41 +4016,4 @@
         }
         return members;
     }
-
-    /**
-     * Produce the type descriptor string for this class as per JVMS 4.3.2.
-     * <p>
-     * Note that this is not a strict inverse of {@link #forName};
-     * distinct classes which share a common name but have different class loaders
-     * will have identical descriptor strings.
-     *
-     * @return the type descriptor representation
-     * @jvms 4.3.2 Field Descriptors
-     */
-    @Override
-    public String descriptorString() {
-        if (isPrimitive())
-            return Wrapper.forPrimitiveType(this).basicTypeString();
-        else if (isArray()) {
-            return "[" + componentType.descriptorString();
-        }
-        else {
-            return "L" + getName().replace('.', '/') + ";";
-        }
-    }
-
-    @Override
-    public Class<?> componentType() {
-        return isArray() ? componentType : null;
-    }
-
-    @Override
-    public Class<?> arrayType() {
-        return Array.newInstance(this, 0).getClass();
-    }
-
-    @Override
-    public Optional<ClassDesc> describeConstable() {
-        return Optional.of(ClassDesc.ofDescriptor(descriptorString()));
-    }
 }
--- a/src/java.base/share/classes/java/lang/Double.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/Double.java	Tue Oct 30 14:28:06 2018 -0300
@@ -25,11 +25,6 @@
 
 package java.lang;
 
-import java.lang.invoke.MethodHandles;
-import java.lang.constant.Constable;
-import java.lang.constant.ConstantDesc;
-import java.util.Optional;
-
 import jdk.internal.math.FloatingDecimal;
 import jdk.internal.math.DoubleConsts;
 import jdk.internal.HotSpotIntrinsicCandidate;
@@ -51,8 +46,7 @@
  * @author  Joseph D. Darcy
  * @since 1.0
  */
-public final class Double extends Number
-        implements Comparable<Double>, ConstantDesc<Double>, Constable<Double> {
+public final class Double extends Number implements Comparable<Double> {
     /**
      * A constant holding the positive infinity of type
      * {@code double}. It is equal to the value returned by
@@ -1076,29 +1070,6 @@
         return Math.min(a, b);
     }
 
-    /**
-     * Returns a nominal descriptor for this instance, which is the instance
-     * itself.
-     *
-     * @return an {@link Optional} describing the {@linkplain Double} instance
-     */
-    @Override
-    public Optional<Double> describeConstable() {
-        return Optional.of(this);
-    }
-
-    /**
-     * Resolve this instance as a {@link ConstantDesc}, the result of which is
-     * the instance itself.
-     *
-     * @param lookup ignored
-     * @return the {@linkplain Double} instance
-     */
-    @Override
-    public Double resolveConstantDesc(MethodHandles.Lookup lookup) {
-        return this;
-    }
-
     /** use serialVersionUID from JDK 1.0.2 for interoperability */
     private static final long serialVersionUID = -9172774392245257468L;
 }
--- a/src/java.base/share/classes/java/lang/Enum.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/Enum.java	Tue Oct 30 14:28:06 2018 -0300
@@ -25,19 +25,11 @@
 
 package java.lang;
 
+import java.io.Serializable;
 import java.io.IOException;
 import java.io.InvalidObjectException;
 import java.io.ObjectInputStream;
 import java.io.ObjectStreamException;
-import java.io.Serializable;
-import java.lang.constant.ClassDesc;
-import java.lang.constant.Constable;
-import java.lang.constant.ConstantDescs;
-import java.lang.constant.DynamicConstantDesc;
-import java.lang.invoke.MethodHandles;
-import java.util.Optional;
-
-import static java.util.Objects.requireNonNull;
 
 /**
  * This is the common base class of all Java language enumeration types.
@@ -64,7 +56,7 @@
 @SuppressWarnings("serial") // No serialVersionUID needed due to
                             // special-casing of enum types.
 public abstract class Enum<E extends Enum<E>>
-        implements Constable<E>, Comparable<E>, Serializable {
+        implements Comparable<E>, Serializable {
     /**
      * The name of this enum constant, as declared in the enum declaration.
      * Most programmers should use the {@link #toString} method rather than
@@ -211,13 +203,6 @@
         return (zuper == Enum.class) ? (Class<E>)clazz : (Class<E>)zuper;
     }
 
-    @Override
-    public final Optional<EnumDesc<E>> describeConstable() {
-        return getDeclaringClass()
-                .describeConstable()
-                .map(c -> EnumDesc.of(c, name));
-    }
-
     /**
      * Returns the enum constant of the specified enum type with the
      * specified name.  The name must match exactly an identifier used
@@ -273,55 +258,4 @@
     private void readObjectNoData() throws ObjectStreamException {
         throw new InvalidObjectException("can't deserialize enum");
     }
-
-    /**
-     * A <a href="package-summary.html#nominal">nominal descriptor</a> for an
-     * {@code enum} constant.
-     *
-     * @param <E> the type of the enum constant
-     *
-     * @since 12
-     */
-    public static final class EnumDesc<E extends Enum<E>>
-            extends DynamicConstantDesc<E> {
-
-        /**
-         * Construct a nominal descriptor for the specified {@code enum} class and name.
-         *
-         * @param constantType a {@link ClassDesc} describing the {@code enum} class
-         * @param constantName the name of the enum constant, as per JVMS 4.2.2
-         * @throws NullPointerException if any argument is null
-         * @jvms 4.2.2 Unqualified Names
-         */
-        private EnumDesc(ClassDesc constantType, String constantName) {
-            super(ConstantDescs.BSM_ENUM_CONSTANT, requireNonNull(constantName), requireNonNull(constantType));
-        }
-
-        /**
-         * Return a nominal descriptor for the specified {@code enum} class and name
-         *
-         * @param <E> the type of the enum constant
-         * @param enumClass a {@link ClassDesc} describing the {@code enum} class
-         * @param constantName the name of the enum constant, as per JVMS 4.2.2
-         * @return the nominal descriptor
-         * @throws NullPointerException if any argument is null
-         * @jvms 4.2.2 Unqualified Names
-         */
-        public static<E extends Enum<E>> EnumDesc<E> of(ClassDesc enumClass,
-                                                        String constantName) {
-            return new EnumDesc<>(enumClass, constantName);
-        }
-
-        @Override
-        @SuppressWarnings("unchecked")
-        public E resolveConstantDesc(MethodHandles.Lookup lookup)
-                throws ReflectiveOperationException {
-            return Enum.valueOf((Class<E>) constantType().resolveConstantDesc(lookup), constantName());
-        }
-
-        @Override
-        public String toString() {
-            return String.format("EnumDesc[%s.%s]", constantType().displayName(), constantName());
-        }
-    }
 }
--- a/src/java.base/share/classes/java/lang/Float.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/Float.java	Tue Oct 30 14:28:06 2018 -0300
@@ -25,11 +25,6 @@
 
 package java.lang;
 
-import java.lang.invoke.MethodHandles;
-import java.lang.constant.Constable;
-import java.lang.constant.ConstantDesc;
-import java.util.Optional;
-
 import jdk.internal.math.FloatingDecimal;
 import jdk.internal.HotSpotIntrinsicCandidate;
 
@@ -50,8 +45,7 @@
  * @author  Joseph D. Darcy
  * @since 1.0
  */
-public final class Float extends Number
-        implements Comparable<Float>, ConstantDesc<Float>, Constable<Float> {
+public final class Float extends Number implements Comparable<Float> {
     /**
      * A constant holding the positive infinity of type
      * {@code float}. It is equal to the value returned by
@@ -988,29 +982,6 @@
         return Math.min(a, b);
     }
 
-    /**
-     * Returns a nominal descriptor for this instance, which is the instance
-     * itself.
-     *
-     * @return an {@link Optional} describing the {@linkplain Float} instance
-     */
-    @Override
-    public Optional<Float> describeConstable() {
-        return Optional.of(this);
-    }
-
-    /**
-     * Resolve this instance as a {@link ConstantDesc}, the result of which is
-     * the instance itself.
-     *
-     * @param lookup ignored
-     * @return the {@linkplain Float} instance
-     */
-    @Override
-    public Float resolveConstantDesc(MethodHandles.Lookup lookup) {
-        return this;
-    }
-
     /** use serialVersionUID from JDK 1.0.2 for interoperability */
     private static final long serialVersionUID = -2671257302660747028L;
 }
--- a/src/java.base/share/classes/java/lang/Integer.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/Integer.java	Tue Oct 30 14:28:06 2018 -0300
@@ -26,12 +26,7 @@
 package java.lang;
 
 import java.lang.annotation.Native;
-import java.lang.invoke.MethodHandles;
-import java.lang.constant.Constable;
-import java.lang.constant.ConstantDesc;
 import java.util.Objects;
-import java.util.Optional;
-
 import jdk.internal.HotSpotIntrinsicCandidate;
 import jdk.internal.misc.VM;
 
@@ -61,8 +56,7 @@
  * @author  Joseph D. Darcy
  * @since 1.0
  */
-public final class Integer extends Number
-        implements Comparable<Integer>, ConstantDesc<Integer>, Constable<Integer> {
+public final class Integer extends Number implements Comparable<Integer> {
     /**
      * A constant holding the minimum value an {@code int} can
      * have, -2<sup>31</sup>.
@@ -1831,29 +1825,6 @@
         return Math.min(a, b);
     }
 
-    /**
-     * Returns a nominal descriptor for this instance, which is the instance
-     * itself.
-     *
-     * @return an {@link Optional} describing the {@linkplain Integer} instance
-     */
-    @Override
-    public Optional<Integer> describeConstable() {
-        return Optional.of(this);
-    }
-
-    /**
-     * Resolve this instance as a {@link ConstantDesc}, the result of which is
-     * the instance itself.
-     *
-     * @param lookup ignored
-     * @return the {@linkplain Integer} instance
-     */
-    @Override
-    public Integer resolveConstantDesc(MethodHandles.Lookup lookup) {
-        return this;
-    }
-
     /** use serialVersionUID from JDK 1.0.2 for interoperability */
     @Native private static final long serialVersionUID = 1360826667806852920L;
 }
--- a/src/java.base/share/classes/java/lang/Long.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/Long.java	Tue Oct 30 14:28:06 2018 -0300
@@ -26,13 +26,8 @@
 package java.lang;
 
 import java.lang.annotation.Native;
-import java.lang.invoke.MethodHandles;
-import java.lang.constant.Constable;
-import java.lang.constant.ConstantDesc;
 import java.math.*;
 import java.util.Objects;
-import java.util.Optional;
-
 import jdk.internal.HotSpotIntrinsicCandidate;
 
 import static java.lang.String.COMPACT_STRINGS;
@@ -61,8 +56,7 @@
  * @author  Joseph D. Darcy
  * @since   1.0
  */
-public final class Long extends Number
-        implements Comparable<Long>, ConstantDesc<Long>, Constable<Long> {
+public final class Long extends Number implements Comparable<Long> {
     /**
      * A constant holding the minimum value a {@code long} can
      * have, -2<sup>63</sup>.
@@ -1953,29 +1947,6 @@
         return Math.min(a, b);
     }
 
-    /**
-     * Returns a nominal descriptor for this instance, which is the instance
-     * itself.
-     *
-     * @return an {@link Optional} describing the {@linkplain Long} instance
-     */
-    @Override
-    public Optional<Long> describeConstable() {
-        return Optional.of(this);
-    }
-
-    /**
-     * Resolve this instance as a {@link ConstantDesc}, the result of which is
-     * the instance itself.
-     *
-     * @param lookup ignored
-     * @return the {@linkplain Long} instance
-     */
-    @Override
-    public Long resolveConstantDesc(MethodHandles.Lookup lookup) {
-        return this;
-    }
-
     /** use serialVersionUID from JDK 1.0.2 for interoperability */
     @Native private static final long serialVersionUID = 4290774380558885855L;
 }
--- a/src/java.base/share/classes/java/lang/String.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/String.java	Tue Oct 30 14:28:06 2018 -0300
@@ -28,10 +28,6 @@
 import java.io.ObjectStreamField;
 import java.io.UnsupportedEncodingException;
 import java.lang.annotation.Native;
-import java.lang.invoke.MethodHandles;
-import java.lang.compiler.IntrinsicCandidate;
-import java.lang.constant.Constable;
-import java.lang.constant.ConstantDesc;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -39,9 +35,9 @@
 import java.util.Formatter;
 import java.util.Locale;
 import java.util.Objects;
-import java.util.Optional;
 import java.util.Spliterator;
 import java.util.StringJoiner;
+import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
 import java.util.stream.Collectors;
@@ -130,8 +126,7 @@
  */
 
 public final class String
-    implements java.io.Serializable, Comparable<String>, CharSequence,
-               ConstantDesc<String>, Constable<String> {
+    implements java.io.Serializable, Comparable<String>, CharSequence {
 
     /**
      * The value is used for character storage.
@@ -1788,7 +1783,7 @@
      * @param   src         the characters being searched.
      * @param   srcCoder    coder handles the mapping between bytes/chars
      * @param   srcCount    count of the source string.
-     * @param   tgtStr      the characters being searched for.
+     * @param   tgt         the characters being searched for.
      * @param   fromIndex   the index to begin searching from.
      */
     static int lastIndexOf(byte[] src, byte srcCoder, int srcCount,
@@ -2130,7 +2125,6 @@
      * @since 1.4
      * @spec JSR-51
      */
-    @IntrinsicCandidate
     public String replaceAll(String regex, String replacement) {
         return Pattern.compile(regex).matcher(this).replaceAll(replacement);
     }
@@ -3072,7 +3066,6 @@
      * @see  java.util.Formatter
      * @since  1.5
      */
-    @IntrinsicCandidate
     public static String format(String format, Object... args) {
         return new Formatter().format(format, args).toString();
     }
@@ -3114,94 +3107,11 @@
      * @see  java.util.Formatter
      * @since  1.5
      */
-    @IntrinsicCandidate
     public static String format(Locale l, String format, Object... args) {
         return new Formatter(l).format(format, args).toString();
     }
 
     /**
-     * Returns a formatted string using this string, as the specified
-     * <a href="../util/Formatter.html#syntax">format</a>, and
-     * arguments.
-     *
-     * <p> The locale always used is the one returned by {@link
-     * java.util.Locale#getDefault(java.util.Locale.Category)
-     * Locale.getDefault(Locale.Category)} with
-     * {@link java.util.Locale.Category#FORMAT FORMAT} category specified.
-     *
-     * @param  args
-     *         Arguments referenced by the format specifiers in the format
-     *         string.  If there are more arguments than format specifiers, the
-     *         extra arguments are ignored.  The number of arguments is
-     *         variable and may be zero.  The maximum number of arguments is
-     *         limited by the maximum dimension of a Java array as defined by
-     *         <cite>The Java&trade; Virtual Machine Specification</cite>.
-     *         The behaviour on a
-     *         {@code null} argument depends on the <a
-     *         href="../util/Formatter.html#syntax">conversion</a>.
-     *
-     * @throws  java.util.IllegalFormatException
-     *          If a format string contains an illegal syntax, a format
-     *          specifier that is incompatible with the given arguments,
-     *          insufficient arguments given the format string, or other
-     *          illegal conditions.  For specification of all possible
-     *          formatting errors, see the <a
-     *          href="../util/Formatter.html#detail">Details</a> section of the
-     *          formatter class specification.
-     *
-     * @return  A formatted string
-     *
-     * @see  java.util.Formatter
-     *
-     * @since  12
-     */
-    @IntrinsicCandidate
-    public String format(Object... args) {
-        return new Formatter().format(this, args).toString();
-    }
-
-    /**
-     * Returns a formatted string using this string, as the specified
-     * <a href="../util/Formatter.html#syntax">format</a>, the specified locale,
-     * and  arguments.
-     *
-     * @param  l
-     *         The {@linkplain java.util.Locale locale} to apply during
-     *         formatting.  If {@code l} is {@code null} then no localization
-     *         is applied.
-     *
-     * @param  args
-     *         Arguments referenced by the format specifiers in the format
-     *         string.  If there are more arguments than format specifiers, the
-     *         extra arguments are ignored.  The number of arguments is
-     *         variable and may be zero.  The maximum number of arguments is
-     *         limited by the maximum dimension of a Java array as defined by
-     *         <cite>The Java&trade; Virtual Machine Specification</cite>.
-     *         The behaviour on a
-     *         {@code null} argument depends on the
-     *         <a href="../util/Formatter.html#syntax">conversion</a>.
-     *
-     * @throws  java.util.IllegalFormatException
-     *          If a format string contains an illegal syntax, a format
-     *          specifier that is incompatible with the given arguments,
-     *          insufficient arguments given the format string, or other
-     *          illegal conditions.  For specification of all possible
-     *          formatting errors, see the <a
-     *          href="../util/Formatter.html#detail">Details</a> section of the
-     *          formatter class specification
-     *
-     * @return  A formatted string
-     *
-     * @see  java.util.Formatter
-     *
-     * @since  12
-     */
-    @IntrinsicCandidate
-    public String format(Locale l, Object... args) {
-        return new Formatter(l).format(this, args).toString();
-    }
-
-    /**
      * Returns the string representation of the {@code Object} argument.
      *
      * @param   obj   an {@code Object}.
@@ -3607,28 +3517,4 @@
         throw new IllegalArgumentException(
             format("Not a valid Unicode code point: 0x%X", codePoint));
     }
-
-    /**
-     * Returns a nominal descriptor for this instance, which is the instance
-     * itself.
-     *
-     * @return an {@link Optional} describing the {@linkplain String} instance
-     */
-    @Override
-    public Optional<String> describeConstable() {
-        return Optional.of(this);
-    }
-
-    /**
-     * Resolve this instance as a {@link ConstantDesc}, the result of which is
-     * the instance itself.
-     *
-     * @param lookup ignored
-     * @return the {@linkplain String} instance
-     */
-    @Override
-    public String resolveConstantDesc(MethodHandles.Lookup lookup) {
-        return this;
-    }
-
 }
--- a/src/java.base/share/classes/java/lang/invoke/MethodHandle.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/invoke/MethodHandle.java	Tue Oct 30 14:28:06 2018 -0300
@@ -28,19 +28,10 @@
 
 import jdk.internal.HotSpotIntrinsicCandidate;
 
-import java.lang.constant.ClassDesc;
-import java.lang.constant.Constable;
-import java.lang.constant.ConstantDesc;
-import java.lang.constant.DirectMethodHandleDesc;
-import java.lang.constant.MethodHandleDesc;
-import java.lang.constant.MethodTypeDesc;
 import java.util.Arrays;
 import java.util.Objects;
-import java.util.Optional;
 
-import static java.lang.invoke.MethodHandleInfo.*;
 import static java.lang.invoke.MethodHandleStatics.*;
-import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
 
 /**
  * A method handle is a typed, directly executable reference to an underlying method,
@@ -437,7 +428,7 @@
  * @author John Rose, JSR 292 EG
  * @since 1.7
  */
-public abstract class MethodHandle implements Constable<MethodHandle> {
+public abstract class MethodHandle {
 
     /**
      * Internal marker interface which distinguishes (to the Java compiler)
@@ -1520,52 +1511,6 @@
         return bindArgumentL(0, x);
     }
 
-    @Override
-    public Optional<? extends ConstantDesc<MethodHandle>> describeConstable() {
-        MethodHandleInfo info;
-        ClassDesc owner;
-        String name;
-        MethodTypeDesc type;
-        boolean isInterface;
-        try {
-            info = IMPL_LOOKUP.revealDirect(this);
-            isInterface = info.getDeclaringClass().isInterface();
-            owner = info.getDeclaringClass().describeConstable().orElseThrow();
-            type = info.getMethodType().describeConstable().orElseThrow();
-            name = info.getName();
-        }
-        catch (Exception e) {
-            return Optional.empty();
-        }
-
-        switch (info.getReferenceKind()) {
-            case REF_getField:
-                return Optional.of(MethodHandleDesc.ofField(DirectMethodHandleDesc.Kind.GETTER, owner, name, type.returnType()));
-            case REF_putField:
-                return Optional.of(MethodHandleDesc.ofField(DirectMethodHandleDesc.Kind.SETTER, owner, name, type.parameterType(0)));
-            case REF_getStatic:
-                return Optional.of(MethodHandleDesc.ofField(DirectMethodHandleDesc.Kind.STATIC_GETTER, owner, name, type.returnType()));
-            case REF_putStatic:
-                return Optional.of(MethodHandleDesc.ofField(DirectMethodHandleDesc.Kind.STATIC_SETTER, owner, name, type.parameterType(0)));
-            case REF_invokeVirtual:
-                return Optional.of(MethodHandleDesc.of(DirectMethodHandleDesc.Kind.VIRTUAL, owner, name, type));
-            case REF_invokeStatic:
-                return isInterface ?
-                        Optional.of(MethodHandleDesc.of(DirectMethodHandleDesc.Kind.INTERFACE_STATIC, owner, name, type)) :
-                        Optional.of(MethodHandleDesc.of(DirectMethodHandleDesc.Kind.STATIC, owner, name, type));
-            case REF_invokeSpecial:
-                return isInterface ?
-                        Optional.of(MethodHandleDesc.of(DirectMethodHandleDesc.Kind.INTERFACE_SPECIAL, owner, name, type)) :
-                        Optional.of(MethodHandleDesc.of(DirectMethodHandleDesc.Kind.SPECIAL, owner, name, type));
-            case REF_invokeInterface:
-                return Optional.of(MethodHandleDesc.of(DirectMethodHandleDesc.Kind.INTERFACE_VIRTUAL, owner, name, type));
-            case REF_newInvokeSpecial:
-                return Optional.of(MethodHandleDesc.of(DirectMethodHandleDesc.Kind.CONSTRUCTOR, owner, name, type));
-            default:
-                return Optional.empty();
-        }
-    }
-
     /**
      * Returns a string representation of the method handle,
      * starting with the string {@code "MethodHandle"} and
--- a/src/java.base/share/classes/java/lang/invoke/MethodType.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/invoke/MethodType.java	Tue Oct 30 14:28:06 2018 -0300
@@ -25,30 +25,21 @@
 
 package java.lang.invoke;
 
-import java.lang.constant.ClassDesc;
-import java.lang.constant.Constable;
-import java.lang.constant.MethodTypeDesc;
+import jdk.internal.vm.annotation.Stable;
+import sun.invoke.util.Wrapper;
+import java.lang.ref.WeakReference;
 import java.lang.ref.Reference;
 import java.lang.ref.ReferenceQueue;
-import java.lang.ref.WeakReference;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
-import java.util.NoSuchElementException;
 import java.util.Objects;
-import java.util.Optional;
 import java.util.StringJoiner;
+import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.stream.Stream;
-
-import jdk.internal.vm.annotation.Stable;
 import sun.invoke.util.BytecodeDescriptor;
+import static java.lang.invoke.MethodHandleStatics.*;
 import sun.invoke.util.VerifyType;
-import sun.invoke.util.Wrapper;
-
-import static java.lang.invoke.MethodHandleStatics.UNSAFE;
-import static java.lang.invoke.MethodHandleStatics.newIllegalArgumentException;
 
 /**
  * A method type represents the arguments and return type accepted and
@@ -100,10 +91,7 @@
  * @since 1.7
  */
 public final
-class MethodType
-        implements Constable<MethodType>,
-                   TypeDescriptor.OfMethod<Class<?>, MethodType>,
-                   java.io.Serializable {
+class MethodType implements java.io.Serializable {
     private static final long serialVersionUID = 292L;  // {rtype, {ptype...}}
 
     // The rtype and ptypes fields define the structural identity of the method type:
@@ -1187,28 +1175,10 @@
         return desc;
     }
 
-    @Override
-    public String descriptorString() {
-        return toMethodDescriptorString();
-    }
-
     /*non-public*/ static String toFieldDescriptorString(Class<?> cls) {
         return BytecodeDescriptor.unparse(cls);
     }
 
-    @Override
-    public Optional<MethodTypeDesc> describeConstable() {
-        try {
-            return Optional.of(MethodTypeDesc.of(returnType().describeConstable().orElseThrow(),
-                                                 Stream.of(parameterArray())
-                                                      .map(p -> p.describeConstable().orElseThrow())
-                                                      .toArray(ClassDesc[]::new)));
-        }
-        catch (NoSuchElementException e) {
-            return Optional.empty();
-        }
-    }
-
     /// Serialization.
 
     /**
--- a/src/java.base/share/classes/java/lang/invoke/VarHandle.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/invoke/VarHandle.java	Tue Oct 30 14:28:06 2018 -0300
@@ -25,26 +25,19 @@
 
 package java.lang.invoke;
 
-import java.lang.constant.ClassDesc;
-import java.lang.constant.Constable;
-import java.lang.constant.ConstantDesc;
-import java.lang.constant.ConstantDescs;
-import java.lang.constant.DirectMethodHandleDesc;
-import java.lang.constant.DynamicConstantDesc;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.function.BiFunction;
-import java.util.function.Function;
-
 import jdk.internal.HotSpotIntrinsicCandidate;
 import jdk.internal.util.Preconditions;
 import jdk.internal.vm.annotation.ForceInline;
 import jdk.internal.vm.annotation.Stable;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.BiFunction;
+import java.util.function.Function;
+
 import static java.lang.invoke.MethodHandleStatics.UNSAFE;
+import static java.lang.invoke.MethodHandleStatics.newInternalError;
 
 /**
  * A VarHandle is a dynamically strongly typed reference to a variable, or to a
@@ -444,7 +437,7 @@
  * @see MethodType
  * @since 9
  */
-public abstract class VarHandle implements Constable<VarHandle> {
+public abstract class VarHandle {
     final VarForm vform;
 
     VarHandle(VarForm vform) {
@@ -1864,32 +1857,6 @@
         }
     }
 
-    @Override
-    public final boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        VarHandle that = (VarHandle) o;
-        return accessModeType(AccessMode.GET).equals(that.accessModeType(AccessMode.GET)) &&
-               internalEquals(that);
-    }
-
-    abstract boolean internalEquals(VarHandle vh);
-
-    @Override
-    public final int hashCode() {
-        return 31 * accessModeType(AccessMode.GET).hashCode() + internalHashCode();
-    }
-
-    abstract int internalHashCode();
-
-    @Override
-    public final String toString() {
-        return String.format("VarHandle[varType=%s, coord=%s]",
-                             varType().getName(),
-                             coordinateTypes());
-    }
-
     /**
      * Returns the variable type of variables referenced by this VarHandle.
      *
@@ -1984,12 +1951,6 @@
         }
     }
 
-    @Override
-    public Optional<VarHandleDesc> describeConstable() {
-        // partial function for field and array only
-        return Optional.empty();
-    }
-
     @Stable
     TypesAndInvokers typesAndInvokers;
 
@@ -2121,164 +2082,4 @@
     public static void storeStoreFence() {
         UNSAFE.storeStoreFence();
     }
-
-    /**
-     * A <a href="package-summary.html#nominal">nominal descriptor</a> for a
-     * {@link VarHandle} constant.
-     *
-     * @since 12
-     */
-    public static final class VarHandleDesc extends DynamicConstantDesc<VarHandle> {
-
-        /**
-         * Kinds of variable handle descs
-         */
-        private enum Kind {
-            FIELD(ConstantDescs.BSM_VARHANDLE_FIELD),
-            STATIC_FIELD(ConstantDescs.BSM_VARHANDLE_STATIC_FIELD),
-            ARRAY(ConstantDescs.BSM_VARHANDLE_ARRAY);
-
-            final DirectMethodHandleDesc bootstrapMethod;
-
-            Kind(DirectMethodHandleDesc bootstrapMethod) {
-                this.bootstrapMethod = bootstrapMethod;
-            }
-
-            ConstantDesc<?>[] toBSMArgs(ClassDesc declaringClass, String name, ClassDesc varType) {
-                switch (this) {
-                    case FIELD:
-                    case STATIC_FIELD:
-                        return new ConstantDesc<?>[] { declaringClass, name, varType };
-                    case ARRAY:
-                        return new ConstantDesc<?>[] { declaringClass };
-                    default:
-                        throw new InternalError("Cannot reach here");
-                }
-            }
-        }
-
-        private final Kind kind;
-        private final ClassDesc declaringClass;
-        private final ClassDesc varType;
-
-        /**
-         * Construct a {@linkplain VarHandleDesc} given a kind, name, and declaring
-         * class.
-         *
-         * @param kind the kind of of the var handle
-         * @param name the name of the field, , as per JVMS 4.2.2, for field var
-         *             handles; otherwise ignored
-         * @param declaringClass a {@link ClassDesc} describing the declaring class,
-         *                       for field var handles
-         * @param varType a {@link ClassDesc} describing the type of the variable
-         * @throws NullPointerException if any required argument is null
-         * @jvms 4.2.2 Unqualified Names
-         */
-        private VarHandleDesc(Kind kind, String name, ClassDesc declaringClass, ClassDesc varType) {
-            super(kind.bootstrapMethod, name,
-                  ConstantDescs.CD_VarHandle,
-                  kind.toBSMArgs(declaringClass, name, varType));
-            this.kind = kind;
-            this.declaringClass = declaringClass;
-            this.varType = varType;
-        }
-
-        /**
-         * Returns a {@linkplain VarHandleDesc} corresponding to a {@link VarHandle}
-         * for an instance field.
-         *
-         * @param name the name of the field, as per JVMS 4.2.2
-         * @param declaringClass a {@link ClassDesc} describing the declaring class,
-         *                       for field var handles
-         * @param fieldType a {@link ClassDesc} describing the type of the field
-         * @return the {@linkplain VarHandleDesc}
-         * @throws NullPointerException if any of the arguments are null
-         * @jvms 4.2.2 Unqualified Names
-         */
-        public static VarHandleDesc ofField(ClassDesc declaringClass, String name, ClassDesc fieldType) {
-            Objects.requireNonNull(declaringClass);
-            Objects.requireNonNull(name);
-            Objects.requireNonNull(fieldType);
-            return new VarHandleDesc(Kind.FIELD, name, declaringClass, fieldType);
-        }
-
-        /**
-         * Returns a {@linkplain VarHandleDesc} corresponding to a {@link VarHandle}
-         * for a static field.
-         *
-         * @param name the name of the field, as per JVMS 4.2.2
-         * @param declaringClass a {@link ClassDesc} describing the declaring class,
-         *                       for field var handles
-         * @param fieldType a {@link ClassDesc} describing the type of the field
-         * @return the {@linkplain VarHandleDesc}
-         * @throws NullPointerException if any of the arguments are null
-         * @jvms 4.2.2 Unqualified Names
-         */
-        public static VarHandleDesc ofStaticField(ClassDesc declaringClass, String name, ClassDesc fieldType) {
-            Objects.requireNonNull(declaringClass);
-            Objects.requireNonNull(name);
-            Objects.requireNonNull(fieldType);
-            return new VarHandleDesc(Kind.STATIC_FIELD, name, declaringClass, fieldType);
-        }
-
-        /**
-         * Returns a {@linkplain VarHandleDesc} corresponding to a {@link VarHandle}
-         * for for an array type.
-         *
-         * @param arrayClass a {@link ClassDesc} describing the type of the array
-         * @return the {@linkplain VarHandleDesc}
-         * @throws NullPointerException if any of the arguments are null
-         */
-        public static VarHandleDesc ofArray(ClassDesc arrayClass) {
-            Objects.requireNonNull(arrayClass);
-            if (!arrayClass.isArray())
-                throw new IllegalArgumentException("Array class argument not an array: " + arrayClass);
-            return new VarHandleDesc(Kind.ARRAY, ConstantDescs.DEFAULT_NAME, arrayClass, arrayClass.componentType());
-        }
-
-        /**
-         * Returns a {@link ClassDesc} describing the type of the variable described
-         * by this descriptor.
-         *
-         * @return the variable type
-         */
-        public ClassDesc varType() {
-            return varType;
-        }
-
-        @Override
-        public VarHandle resolveConstantDesc(MethodHandles.Lookup lookup)
-                throws ReflectiveOperationException {
-            switch (kind) {
-                case FIELD:
-                    return lookup.findVarHandle(declaringClass.resolveConstantDesc(lookup),
-                                                constantName(),
-                                                varType.resolveConstantDesc(lookup));
-                case STATIC_FIELD:
-                    return lookup.findStaticVarHandle(declaringClass.resolveConstantDesc(lookup),
-                                                      constantName(),
-                                                      varType.resolveConstantDesc(lookup));
-                case ARRAY:
-                    return MethodHandles.arrayElementVarHandle(declaringClass.resolveConstantDesc(lookup));
-                default:
-                    throw new InternalError("Cannot reach here");
-            }
-        }
-
-        @Override
-        public String toString() {
-            switch (kind) {
-                case FIELD:
-                case STATIC_FIELD:
-                    return String.format("VarHandleDesc[%s%s.%s:%s]",
-                                         (kind == Kind.STATIC_FIELD) ? "static " : "",
-                                         declaringClass.displayName(), constantName(), varType.displayName());
-                case ARRAY:
-                    return String.format("VarHandleDesc[%s[]]", declaringClass.displayName());
-                default:
-                    throw new InternalError("Cannot reach here");
-            }
-        }
-    }
-
 }
--- a/src/java.base/share/classes/java/lang/invoke/VarHandles.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/invoke/VarHandles.java	Tue Oct 30 14:28:06 2018 -0300
@@ -25,9 +25,6 @@
 
 package java.lang.invoke;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-
 import static java.lang.invoke.MethodHandleStatics.UNSAFE;
 
 final class VarHandles {
@@ -147,38 +144,6 @@
         }
     }
 
-    // Required by instance field handles
-    static Field getFieldFromReceiverAndOffset(Class<?> receiverType,
-                                               long offset,
-                                               Class<?> fieldType) {
-        for (Field f : receiverType.getDeclaredFields()) {
-            if (Modifier.isStatic(f.getModifiers())) continue;
-
-            if (offset == UNSAFE.objectFieldOffset(f)) {
-                assert f.getType() == fieldType;
-                return f;
-            }
-        }
-        throw new InternalError("Field not found at offset");
-    }
-
-    // Required by instance static field handles
-    static Field getStaticFieldFromBaseAndOffset(Object base,
-                                                 long offset,
-                                                 Class<?> fieldType) {
-        // @@@ This is a little fragile assuming the base is the class
-        Class<?> receiverType = (Class<?>) base;
-        for (Field f : receiverType.getDeclaredFields()) {
-            if (!Modifier.isStatic(f.getModifiers())) continue;
-
-            if (offset == UNSAFE.staticFieldOffset(f)) {
-                assert f.getType() == fieldType;
-                return f;
-            }
-        }
-        throw new InternalError("Static field not found at offset");
-    }
-
     static VarHandle makeArrayElementHandle(Class<?> arrayClass) {
         if (!arrayClass.isArray())
             throw new IllegalArgumentException("not an array: " + arrayClass);
--- a/src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template	Tue Oct 30 14:28:06 2018 -0300
@@ -27,9 +27,7 @@
 import jdk.internal.util.Preconditions;
 import jdk.internal.vm.annotation.ForceInline;
 
-import java.lang.invoke.VarHandle.VarHandleDesc;
 import java.util.Objects;
-import java.util.Optional;
 
 import static java.lang.invoke.MethodHandleStatics.UNSAFE;
 
@@ -63,30 +61,6 @@
             return accessMode.at.accessModeType(receiverType, {#if[Object]?fieldType:$type$.class});
         }
 
-        @Override
-        final boolean internalEquals(VarHandle vh) {
-            FieldInstanceReadOnly that = (FieldInstanceReadOnly) vh;
-            return fieldOffset == that.fieldOffset;
-        }
-
-        @Override
-        final int internalHashCode() {
-            return Long.hashCode(fieldOffset);
-        }
-
-        @Override
-        public Optional<VarHandleDesc> describeConstable() {
-            var receiverTypeRef = receiverType.describeConstable();
-            var fieldTypeRef = {#if[Object]?fieldType:$type$.class}.describeConstable();
-            if (!receiverTypeRef.isPresent() || !fieldTypeRef.isPresent())
-                return Optional.empty();
-
-            // Reflect on this VarHandle to extract the field name
-            String name = VarHandles.getFieldFromReceiverAndOffset(
-                receiverType, fieldOffset, {#if[Object]?fieldType:$type$.class}).getName();
-            return Optional.of(VarHandleDesc.ofField(receiverTypeRef.get(), name, fieldTypeRef.get()));
-        }
-
         @ForceInline
         static $type$ get(FieldInstanceReadOnly handle, Object holder) {
             return UNSAFE.get$Type$(Objects.requireNonNull(handle.receiverType.cast(holder)),
@@ -350,32 +324,6 @@
         }
 
         @Override
-        final boolean internalEquals(VarHandle vh) {
-            FieldStaticReadOnly that = (FieldStaticReadOnly) vh;
-            return base == that.base && fieldOffset == that.fieldOffset;
-        }
-
-        @Override
-        final int internalHashCode() {
-            return 31 * Long.hashCode(fieldOffset) + base.hashCode();
-        }
-
-        @Override
-        public Optional<VarHandleDesc> describeConstable() {
-            var fieldTypeRef = {#if[Object]?fieldType:$type$.class}.describeConstable();
-            if (!fieldTypeRef.isPresent())
-                return Optional.empty();
-
-            // Reflect on this VarHandle to extract the field name
-            var staticField = VarHandles.getStaticFieldFromBaseAndOffset(
-                base, fieldOffset, {#if[Object]?fieldType:$type$.class});
-            var receiverTypeRef = staticField.getDeclaringClass().describeConstable();
-            if (!receiverTypeRef.isPresent())
-                return Optional.empty();
-            return Optional.of(VarHandleDesc.ofStaticField(receiverTypeRef.get(), staticField.getName(), fieldTypeRef.get()));
-        }
-
-        @Override
         final MethodType accessModeTypeUncached(AccessMode accessMode) {
             return accessMode.at.accessModeType(null, {#if[Object]?fieldType:$type$.class});
         }
@@ -640,29 +588,6 @@
         }
 
         @Override
-        final boolean internalEquals(VarHandle vh) {
-            // Equality of access mode types of AccessMode.GET is sufficient for
-            // equality checks
-            return true;
-        }
-
-        @Override
-        final int internalHashCode() {
-            // The hash code of the access mode types of AccessMode.GET is
-            // sufficient for hash code generation
-            return 0;
-        }
-
-        @Override
-        public Optional<VarHandleDesc> describeConstable() {
-            var arrayTypeRef = {#if[Object]?arrayType:$type$[].class}.describeConstable();
-            if (!arrayTypeRef.isPresent())
-                return Optional.empty();
-
-            return Optional.of(VarHandleDesc.ofArray(arrayTypeRef.get()));
-        }
-
-        @Override
         final MethodType accessModeTypeUncached(AccessMode accessMode) {
             return accessMode.at.accessModeType({#if[Object]?arrayType:$type$[].class}, {#if[Object]?arrayType.getComponentType():$type$.class}, int.class);
         }
--- a/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template	Tue Oct 30 14:28:06 2018 -0300
@@ -67,17 +67,6 @@
             super(form);
             this.be = be;
         }
-
-        @Override
-        final boolean internalEquals(VarHandle vh) {
-            ByteArrayViewVarHandle that = (ByteArrayViewVarHandle) vh;
-            return be == that.be;
-        }
-
-        @Override
-        final int internalHashCode() {
-            return Boolean.hashCode(be);
-        }
     }
 
     static final class ArrayHandle extends ByteArrayViewVarHandle {
--- a/src/java.base/share/classes/java/util/Formatter.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/util/Formatter.java	Tue Oct 30 14:28:06 2018 -0300
@@ -61,7 +61,6 @@
 import java.time.temporal.TemporalQueries;
 import java.time.temporal.UnsupportedTemporalTypeException;
 
-import java.lang.compiler.IntrinsicCandidate;
 import jdk.internal.math.DoubleConsts;
 import jdk.internal.math.FormattedFloatingDecimal;
 import sun.util.locale.provider.LocaleProviderAdapter;
@@ -1914,21 +1913,17 @@
  * @since 1.5
  */
 public final class Formatter implements Closeable, Flushable {
-    /** Receiving Appendable */
-    Appendable a;
-    /** Formatter locale */
-    final Locale l;
-    /** Last low level exception caught */
-    IOException lastException;
-    /** Zero for the locale */
-    final char zero;
-    /** Round up scaler */
-    static double SCALEUP = Math.scalb(1.0, 54);
-    /** Maximum floating decimal digits
-     *    1 (sign) + 19 (max # sig digits) + 1 ('.') + 1 ('e') + 1 (sign)
-     *    + 3 (max # exp digits) + 4 (error) = 30
-     */
-    static final int MAX_FD_CHARS = 30;
+    private Appendable a;
+    private final Locale l;
+
+    private IOException lastException;
+
+    private final char zero;
+    private static double scaleUp;
+
+    // 1 (sign) + 19 (max # sig digits) + 1 ('.') + 1 ('e') + 1 (sign)
+    // + 3 (max # exp digits) + 4 (error) = 30
+    private static final int MAX_FD_CHARS = 30;
 
     /**
      * Returns a charset object for the given charset name.
@@ -2446,10 +2441,6 @@
         }
     }
 
-    private boolean usesDefaultZero(Locale l) {
-        return zero == '0' && (l == null || l.equals(this.l) || l.equals(Locale.US));
-    }
-
     /**
      * Returns the locale set by the construction of this formatter.
      *
@@ -2614,7 +2605,6 @@
      *
      * @return  This formatter
      */
-    @IntrinsicCandidate
     public Formatter format(String format, Object ... args) {
         return format(l, format, args);
     }
@@ -2654,14 +2644,7 @@
      *
      * @return  This formatter
      */
-    @IntrinsicCandidate
     public Formatter format(Locale l, String format, Object ... args) {
-        List<Specifier> fsa = parse(format);
-        format(l, fsa, args);
-        return this;
-    }
-
-    void format(Locale l, List<Specifier> fsa, Object ... args) {
         ensureOpen();
 
         // index of last argument referenced
@@ -2669,106 +2652,38 @@
         // last ordinary index
         int lasto = -1;
 
-        for (Specifier fs : fsa) {
+        List<FormatString> fsa = parse(format);
+        for (FormatString fs : fsa) {
             int index = fs.index();
             try {
                 switch (index) {
                 case -2:  // fixed string, "%n", or "%%"
-                    fs.print(this, null, l);
+                    fs.print(null, l);
                     break;
                 case -1:  // relative index
                     if (last < 0 || (args != null && last > args.length - 1))
                         throw new MissingFormatArgumentException(fs.toString());
-                    fs.print(this, (args == null ? null : args[last]), l);
+                    fs.print((args == null ? null : args[last]), l);
                     break;
                 case 0:  // ordinary index
                     lasto++;
                     last = lasto;
                     if (args != null && lasto > args.length - 1)
                         throw new MissingFormatArgumentException(fs.toString());
-                    fs.print(this, (args == null ? null : args[lasto]), l);
+                    fs.print((args == null ? null : args[lasto]), l);
                     break;
                 default:  // explicit index
                     last = index - 1;
                     if (args != null && last > args.length - 1)
                         throw new MissingFormatArgumentException(fs.toString());
-                    fs.print(this, (args == null ? null : args[last]), l);
+                    fs.print((args == null ? null : args[last]), l);
                     break;
                 }
             } catch (IOException x) {
                 lastException = x;
             }
         }
-
-    }
-
-    /**
-     * Internal interface used to intrinsic-fy formatter usage.
-     */
-    public static class CompiledFormat {
-        private List<Specifier> specifiers;
-
-        private CompiledFormat(List<Specifier> specifiers) {
-            this.specifiers = specifiers;
-        }
-
-        /**
-         * Format the arguments using the compiled format.
-         * @param formatter formatter to use
-         * @param args      format arguments
-         * @return this CompiledFormat
-         */
-        public CompiledFormat format(Formatter formatter, Object... args) {
-            formatter.format(formatter.l, specifiers, args);
-            return this;
-        }
-
-        /**
-         * Format the arguments using the compiled format.
-         * @param formatter formatter to use
-         * @param locale locale to use with format
-         * @param args   format arguments
-         * @return this CompiledFormat
-         */
-        public CompiledFormat format(Formatter formatter, Locale locale, Object... args) {
-            formatter.format(locale, specifiers, args);
-            return this;
-        }
-
-        /**
-         * Returns the number of specifiers.
-         * @return number of specifiers.
-         */
-        public int count() {
-            return specifiers.size();
-        }
-
-        /**
-         * Returns a list of format specifier information.
-         * @return a list of format specifier information
-         */
-        public List<Specifier> specifiers() {
-            return new ArrayList<>(specifiers);
-        }
-
-        /**
-         * Returns the string from the wrapping
-         * @param formatter formatter to use
-         * @return formatter toString
-         */
-        public String toString(Formatter formatter) {
-            return formatter.toString();
-        }
-    }
-
-    /**
-     * Creates a compiled format object.
-     * @param format to compile
-     * @return a compiled format
-     */
-    public static CompiledFormat compile(String format) {
-        List<Specifier> specifiers = parse(format);
-        return new CompiledFormat(specifiers);
+        return this;
     }
 
     // %[argument_index$][flags][width][.precision][t]conversion
@@ -2780,8 +2695,8 @@
     /**
      * Finds format specifiers in the format string.
      */
-    private static List<Specifier> parse(String s) {
-        ArrayList<Specifier> al = new ArrayList<>();
+    private List<FormatString> parse(String s) {
+        ArrayList<FormatString> al = new ArrayList<>();
         Matcher m = fsPattern.matcher(s);
         for (int i = 0, len = s.length(); i < len; ) {
             if (m.find(i)) {
@@ -2819,68 +2734,13 @@
         }
     }
 
-    private StringBuilder maybeNewStringBuilder(int width) {
-        return  width == -1 && a instanceof StringBuilder ? (StringBuilder) a : new StringBuilder();
+    private interface FormatString {
+        int index();
+        void print(Object arg, Locale l) throws IOException;
+        String toString();
     }
 
-    /**
-     * Interface for Formatter specifiers.
-     */
-    public interface Specifier {
-        /**
-         * Return the specifier index.
-         * @return the index
-         */
-        int index();
-
-        /**
-         * Print the specifier to the formatter's appendable.
-         * @param formatter the formatter
-         * @param arg the argument
-         * @param l the locale
-         * @return the formatter
-         * @throws IOException an error occurred
-         */
-        Formatter print(Formatter formatter, Object arg, Locale l) throws IOException;
-
-        /**
-         * Return the specifier value.
-         * @return the value
-         */
-        String value();
-
-        /**
-         * Return the conversion type.
-         * @return the conversion type
-         */
-        char conversion();
-
-        /**
-         * Return a string representation of the specifier.
-         * @return a string representation
-         */
-        String toString();
-
-        /**
-         * Is this specifier has empty flags.
-         * @return true if flags are empty
-         */
-        boolean hasEmptyFlags();
-
-        /**
-         * Is this a date-time specifier?
-         * @return true if date-time specifier
-         */
-        boolean isDateTime();
-
-        /**
-         * is this an upper case sepcifier?
-         * @return true if upper case flag is set
-         */
-        boolean isUpperCase();
-    }
-
-    private static class FixedString implements Specifier {
+    private class FixedString implements FormatString {
         private String s;
         private int start;
         private int end;
@@ -2890,16 +2750,9 @@
             this.end = end;
         }
         public int index() { return -2; }
-        public Formatter print(Formatter formatter, Object arg, Locale l) throws IOException {
-            formatter.a.append(s, start, end);
-            return formatter;
-        }
-        public String value() { return toString(); }
-        public char conversion() { return '\0'; }
+        public void print(Object arg, Locale l)
+            throws IOException { a.append(s, start, end); }
         public String toString() { return s.substring(start, end); }
-        public boolean hasEmptyFlags() { return true; }
-        public boolean isDateTime() { return false; }
-        public boolean isUpperCase() { return false; }
     }
 
     /**
@@ -2917,7 +2770,7 @@
         DECIMAL_FLOAT
     };
 
-    private static class FormatSpecifier implements Specifier {
+    private class FormatSpecifier implements FormatString {
         private int index = -1;
         private Flags f = Flags.NONE;
         private int width;
@@ -2925,14 +2778,6 @@
         private boolean dt = false;
         private char c;
 
-        public String value() {
-            return toString();
-        }
-
-        public char conversion() {
-            return c;
-        }
-
         private int index(String s, int start, int end) {
             if (start >= 0) {
                 try {
@@ -3035,94 +2880,80 @@
                 throw new UnknownFormatConversionException(String.valueOf(c));
         }
 
-
-        public boolean hasEmptyFlags() {
-            return (f.isEmpty() || f.valueOf() == Flags.UPPERCASE.valueOf()) && width == -1;
-        }
-
-        public boolean isDateTime() {
-            return dt;
-        }
-
-        public boolean isUpperCase() {
-            return f.valueOf() == Flags.UPPERCASE.valueOf();
-        }
-
-        public Formatter print(Formatter formatter, Object arg, Locale l) throws IOException {
+        public void print(Object arg, Locale l) throws IOException {
             if (dt) {
-                printDateTime(formatter, arg, l);
-                return formatter;
+                printDateTime(arg, l);
+                return;
             }
             switch(c) {
             case Conversion.DECIMAL_INTEGER:
             case Conversion.OCTAL_INTEGER:
             case Conversion.HEXADECIMAL_INTEGER:
-                printInteger(formatter, arg, l);
+                printInteger(arg, l);
                 break;
             case Conversion.SCIENTIFIC:
             case Conversion.GENERAL:
             case Conversion.DECIMAL_FLOAT:
             case Conversion.HEXADECIMAL_FLOAT:
-                printFloat(formatter, arg, l);
+                printFloat(arg, l);
                 break;
             case Conversion.CHARACTER:
             case Conversion.CHARACTER_UPPER:
-                printCharacter(formatter, arg, l);
+                printCharacter(arg, l);
                 break;
             case Conversion.BOOLEAN:
-                printBoolean(formatter, arg, l);
+                printBoolean(arg, l);
                 break;
             case Conversion.STRING:
-                printString(formatter, arg, l);
+                printString(arg, l);
                 break;
             case Conversion.HASHCODE:
-                printHashCode(formatter, arg, l);
+                printHashCode(arg, l);
                 break;
             case Conversion.LINE_SEPARATOR:
-                formatter.a.append(System.lineSeparator());
+                a.append(System.lineSeparator());
                 break;
             case Conversion.PERCENT_SIGN:
-                print(formatter, "%", l);
+                print("%", l);
                 break;
             default:
                 assert false;
             }
-            return formatter;
         }
 
-        private void printInteger(Formatter formatter, Object arg, Locale l) throws IOException {
+        private void printInteger(Object arg, Locale l) throws IOException {
             if (arg == null)
-                print(formatter, "null", l);
+                print("null", l);
             else if (arg instanceof Byte)
-                print(formatter, ((Byte)arg).byteValue(), l);
+                print(((Byte)arg).byteValue(), l);
             else if (arg instanceof Short)
-                print(formatter, ((Short)arg).shortValue(), l);
+                print(((Short)arg).shortValue(), l);
             else if (arg instanceof Integer)
-                print(formatter, ((Integer)arg).intValue(), l);
+                print(((Integer)arg).intValue(), l);
             else if (arg instanceof Long)
-                print(formatter, ((Long)arg).longValue(), l);
+                print(((Long)arg).longValue(), l);
             else if (arg instanceof BigInteger)
-                print(formatter, ((BigInteger)arg), l);
+                print(((BigInteger)arg), l);
             else
                 failConversion(c, arg);
         }
 
-        private void printFloat(Formatter formatter, Object arg, Locale l) throws IOException {
+        private void printFloat(Object arg, Locale l) throws IOException {
             if (arg == null)
-                print(formatter, "null", l);
+                print("null", l);
             else if (arg instanceof Float)
-                print(formatter, ((Float)arg).floatValue(), l);
+                print(((Float)arg).floatValue(), l);
             else if (arg instanceof Double)
-                print(formatter, ((Double)arg).doubleValue(), l);
+                print(((Double)arg).doubleValue(), l);
             else if (arg instanceof BigDecimal)
-                print(formatter, ((BigDecimal)arg), l);
+                print(((BigDecimal)arg), l);
             else
                 failConversion(c, arg);
         }
 
-        void printDateTime(Formatter formatter, Object arg, Locale l) throws IOException {
+        private void printDateTime(Object arg, Locale l) throws IOException {
             if (arg == null) {
-                print(formatter, "null", l);
+                print("null", l);
                 return;
             }
             Calendar cal = null;
@@ -3143,19 +2974,19 @@
                 cal = (Calendar) ((Calendar) arg).clone();
                 cal.setLenient(true);
             } else if (arg instanceof TemporalAccessor) {
-                print(formatter, (TemporalAccessor) arg, c, l);
+                print((TemporalAccessor) arg, c, l);
                 return;
             } else {
                 failConversion(c, arg);
             }
             // Use the provided locale so that invocations of
             // localizedMagnitude() use optimizations for null.
-            print(formatter, cal, c, l);
+            print(cal, c, l);
         }
 
-        private void printCharacter(Formatter formatter, Object arg, Locale l) throws IOException {
+        private void printCharacter(Object arg, Locale l) throws IOException {
             if (arg == null) {
-                print(formatter, "null", l);
+                print("null", l);
                 return;
             }
             String s = null;
@@ -3182,12 +3013,12 @@
             } else {
                 failConversion(c, arg);
             }
-            print(formatter, s, l);
+            print(s, l);
         }
 
-        private void printString(Formatter formatter, Object arg, Locale l) throws IOException {
+        private void printString(Object arg, Locale l) throws IOException {
             if (arg instanceof Formattable) {
-                Formatter fmt = formatter;
+                Formatter fmt = Formatter.this;
                 if (fmt.locale() != l)
                     fmt = new Formatter(fmt.out(), l);
                 ((Formattable)arg).formatTo(fmt, f.valueOf(), width, precision);
@@ -3195,13 +3026,13 @@
                 if (f.contains(Flags.ALTERNATE))
                     failMismatch(Flags.ALTERNATE, 's');
                 if (arg == null)
-                    print(formatter, "null", l);
+                    print("null", l);
                 else
-                    print(formatter, arg.toString(), l);
+                    print(arg.toString(), l);
             }
         }
 
-        private void printBoolean(Formatter formatter, Object arg, Locale l) throws IOException {
+        private void printBoolean(Object arg, Locale l) throws IOException {
             String s;
             if (arg != null)
                 s = ((arg instanceof Boolean)
@@ -3209,32 +3040,30 @@
                      : Boolean.toString(true));
             else
                 s = Boolean.toString(false);
-            print(formatter, s, l);
+            print(s, l);
         }
 
-        private Formatter printHashCode(Formatter formatter, Object arg, Locale l) throws IOException {
+        private void printHashCode(Object arg, Locale l) throws IOException {
             String s = (arg == null
                         ? "null"
                         : Integer.toHexString(arg.hashCode()));
-            print(formatter, s, l);
-            return formatter;
+            print(s, l);
         }
 
-        Formatter print(Formatter formatter, String s, Locale l) throws IOException {
+        private void print(String s, Locale l) throws IOException {
             if (precision != -1 && precision < s.length())
                 s = s.substring(0, precision);
             if (f.contains(Flags.UPPERCASE))
                 s = toUpperCaseWithLocale(s, l);
-            appendJustified(formatter.a, s);
-            return formatter;
+            appendJustified(a, s);
         }
 
-        String toUpperCaseWithLocale(String s, Locale l) {
+        private String toUpperCaseWithLocale(String s, Locale l) {
             return s.toUpperCase(Objects.requireNonNullElse(l,
                     Locale.getDefault(Locale.Category.FORMAT)));
         }
 
-        Appendable appendJustified(Appendable a, CharSequence cs) throws IOException {
+        private Appendable appendJustified(Appendable a, CharSequence cs) throws IOException {
              if (width == -1) {
                  return a.append(cs);
              }
@@ -3375,69 +3204,62 @@
             }
         }
 
-        private Formatter print(Formatter formatter, byte value, Locale l) throws IOException {
+        private void print(byte value, Locale l) throws IOException {
             long v = value;
             if (value < 0
-                    && (c == Conversion.OCTAL_INTEGER
+                && (c == Conversion.OCTAL_INTEGER
                     || c == Conversion.HEXADECIMAL_INTEGER)) {
                 v += (1L << 8);
                 assert v >= 0 : v;
             }
-            return print(formatter, v, l);
+            print(v, l);
         }
 
-        private Formatter print(Formatter formatter, short value, Locale l) throws IOException {
+        private void print(short value, Locale l) throws IOException {
             long v = value;
             if (value < 0
-                    && (c == Conversion.OCTAL_INTEGER
+                && (c == Conversion.OCTAL_INTEGER
                     || c == Conversion.HEXADECIMAL_INTEGER)) {
                 v += (1L << 16);
                 assert v >= 0 : v;
             }
-            return print(formatter, v, l);
+            print(v, l);
         }
 
-        private Formatter print(Formatter formatter, int value, Locale l) throws IOException {
-
-            if (c == Conversion.DECIMAL_INTEGER && hasEmptyFlags() && !dt && formatter.usesDefaultZero(l)) {
-                formatter.a.append(Integer.toString(value));
-                return formatter;
-            }
-
+        private void print(int value, Locale l) throws IOException {
             long v = value;
             if (value < 0
-                    && (c == Conversion.OCTAL_INTEGER
+                && (c == Conversion.OCTAL_INTEGER
                     || c == Conversion.HEXADECIMAL_INTEGER)) {
                 v += (1L << 32);
                 assert v >= 0 : v;
             }
-            return print(formatter, v, l);
+            print(v, l);
         }
 
-        private Formatter print(Formatter formatter, long value, Locale l) throws IOException {
+        private void print(long value, Locale l) throws IOException {
 
             StringBuilder sb = new StringBuilder();
 
             if (c == Conversion.DECIMAL_INTEGER) {
                 boolean neg = value < 0;
                 String valueStr = Long.toString(value, 10);
-                int pos0 = sb.length();
 
                 // leading sign indicator
                 leadingSign(sb, neg);
 
                 // the value
-                localizedMagnitude(formatter, sb, pos0, valueStr, neg ? 1 : 0, f, adjustWidth(width, f, neg), l);
+                localizedMagnitude(sb, valueStr, neg ? 1 : 0, f, adjustWidth(width, f, neg), l);
 
                 // trailing sign indicator
                 trailingSign(sb, neg);
             } else if (c == Conversion.OCTAL_INTEGER) {
                 checkBadFlags(Flags.PARENTHESES, Flags.LEADING_SPACE,
-                        Flags.PLUS);
+                              Flags.PLUS);
                 String s = Long.toOctalString(value);
                 int len = (f.contains(Flags.ALTERNATE)
-                        ? s.length() + 1
-                        : s.length());
+                           ? s.length() + 1
+                           : s.length());
 
                 // apply ALTERNATE (radix indicator for octal) before ZERO_PAD
                 if (f.contains(Flags.ALTERNATE))
@@ -3448,11 +3270,11 @@
                 sb.append(s);
             } else if (c == Conversion.HEXADECIMAL_INTEGER) {
                 checkBadFlags(Flags.PARENTHESES, Flags.LEADING_SPACE,
-                        Flags.PLUS);
+                              Flags.PLUS);
                 String s = Long.toHexString(value);
                 int len = (f.contains(Flags.ALTERNATE)
-                        ? s.length() + 2
-                        : s.length());
+                           ? s.length() + 2
+                           : s.length());
 
                 // apply ALTERNATE (radix indicator for hex) before ZERO_PAD
                 if (f.contains(Flags.ALTERNATE))
@@ -3466,12 +3288,11 @@
             }
 
             // justify based on width
-            appendJustified(formatter.a, sb);
-            return formatter;
+            appendJustified(a, sb);
         }
 
         // neg := val < 0
-        void leadingSign(StringBuilder sb, boolean neg) {
+        private StringBuilder leadingSign(StringBuilder sb, boolean neg) {
             if (!neg) {
                 if (f.contains(Flags.PLUS)) {
                     sb.append('+');
@@ -3484,26 +3305,27 @@
                 else
                     sb.append('-');
             }
+            return sb;
         }
 
         // neg := val < 0
-        void trailingSign(StringBuilder sb, boolean neg) {
+        private StringBuilder trailingSign(StringBuilder sb, boolean neg) {
             if (neg && f.contains(Flags.PARENTHESES))
                 sb.append(')');
+            return sb;
         }
 
-        private void print(Formatter formatter, BigInteger value, Locale l) throws IOException {
+        private void print(BigInteger value, Locale l) throws IOException {
             StringBuilder sb = new StringBuilder();
             boolean neg = value.signum() == -1;
             BigInteger v = value.abs();
-            int pos0 = sb.length();
 
             // leading sign indicator
             leadingSign(sb, neg);
 
             // the value
             if (c == Conversion.DECIMAL_INTEGER) {
-                localizedMagnitude(formatter, sb, pos0, v.toString(), 0, f, adjustWidth(width, f, neg), l);
+                localizedMagnitude(sb, v.toString(), 0, f, adjustWidth(width, f, neg), l);
             } else if (c == Conversion.OCTAL_INTEGER) {
                 String s = v.toString(8);
 
@@ -3544,27 +3366,26 @@
             trailingSign(sb, (value.signum() == -1));
 
             // justify based on width
-            appendJustified(formatter.a, sb);
+            appendJustified(a, sb);
         }
 
-        private Formatter print(Formatter formatter, float value, Locale l) throws IOException {
-            return print(formatter, (double) value, l);
+        private void print(float value, Locale l) throws IOException {
+            print((double) value, l);
         }
 
-        private Formatter print(Formatter formatter, double value, Locale l) throws IOException {
-            StringBuilder sb = formatter.maybeNewStringBuilder(width);
+        private void print(double value, Locale l) throws IOException {
+            StringBuilder sb = new StringBuilder();
             boolean neg = Double.compare(value, 0.0) == -1;
 
             if (!Double.isNaN(value)) {
                 double v = Math.abs(value);
-                int pos0 = sb.length();
 
                 // leading sign indicator
                 leadingSign(sb, neg);
 
                 // the value
                 if (!Double.isInfinite(v))
-                    print(formatter, sb, pos0, v, l, f, c, precision, neg);
+                    print(sb, v, l, f, c, precision, neg);
                 else
                     sb.append(f.contains(Flags.UPPERCASE)
                               ? "INFINITY" : "Infinity");
@@ -3576,14 +3397,11 @@
             }
 
             // justify based on width
-            if (sb != formatter.a) {
-                appendJustified(formatter.a, sb);
-            }
-            return formatter;
+            appendJustified(a, sb);
         }
 
         // !Double.isInfinite(value) && !Double.isNaN(value)
-        private void print(Formatter formatter, StringBuilder sb, int pos0, double value, Locale l,
+        private void print(StringBuilder sb, double value, Locale l,
                            Flags f, char c, int precision, boolean neg)
             throws IOException
         {
@@ -3612,7 +3430,7 @@
                 if (width != -1) {
                     newW = adjustWidth(width - exp.length - 1, f, neg);
                 }
-                localizedMagnitude(formatter, sb, pos0, mant, 0, f, newW, l);
+                localizedMagnitude(sb, mant, 0, f, newW, l);
 
                 sb.append(f.contains(Flags.UPPERCASE) ? 'E' : 'e');
 
@@ -3620,7 +3438,7 @@
                 assert(sign == '+' || sign == '-');
                 sb.append(sign);
 
-                localizedMagnitudeExp(formatter, sb, exp, 1, l);
+                localizedMagnitudeExp(sb, exp, 1, l);
             } else if (c == Conversion.DECIMAL_FLOAT) {
                 // Create a new FormattedFloatingDecimal with the desired
                 // precision.
@@ -3641,7 +3459,7 @@
                 int newW = width;
                 if (width != -1)
                     newW = adjustWidth(width, f, neg);
-                localizedMagnitude(formatter, sb, pos0, mant, 0, f, newW, l);
+                localizedMagnitude(sb, mant, 0, f, newW, l);
             } else if (c == Conversion.GENERAL) {
                 int prec = precision;
                 if (precision == -1)
@@ -3685,7 +3503,7 @@
                     else
                         newW = adjustWidth(width, f, neg);
                 }
-                localizedMagnitude(formatter, sb, pos0, mant, 0, f, newW, l);
+                localizedMagnitude(sb, mant, 0, f, newW, l);
 
                 if (exp != null) {
                     sb.append(f.contains(Flags.UPPERCASE) ? 'E' : 'e');
@@ -3694,7 +3512,7 @@
                     assert(sign == '+' || sign == '-');
                     sb.append(sign);
 
-                    localizedMagnitudeExp(formatter, sb, exp, 1, l);
+                    localizedMagnitudeExp(sb, exp, 1, l);
                 }
             } else if (c == Conversion.HEXADECIMAL_FLOAT) {
                 int prec = precision;
@@ -3743,7 +3561,10 @@
                     break;
                 }
             }
-            boolean needDot = i == len;
+            boolean needDot = false;
+            if (i == len) {
+                needDot = true;
+            }
 
             // Determine existing precision.
             int outPrec = len - i - (needDot ? 0 : 1);
@@ -3777,7 +3598,8 @@
                 // If this is subnormal input so normalize (could be faster to
                 // do as integer operation).
                 if (subnormal) {
-                    d *= SCALEUP;
+                    scaleUp = Math.scalb(1.0, 54);
+                    d *= scaleUp;
                     // Calculate the exponent.  This is not just exponent + 54
                     // since the former is not the normalized exponent.
                     exponent = Math.getExponent(d);
@@ -3843,28 +3665,27 @@
             }
         }
 
-        private void print(Formatter formatter, BigDecimal value, Locale l) throws IOException {
+        private void print(BigDecimal value, Locale l) throws IOException {
             if (c == Conversion.HEXADECIMAL_FLOAT)
                 failConversion(c, value);
             StringBuilder sb = new StringBuilder();
             boolean neg = value.signum() == -1;
             BigDecimal v = value.abs();
-            int pos0 = sb.length();
             // leading sign indicator
             leadingSign(sb, neg);
 
             // the value
-            print(formatter, sb, pos0, v, l, f, c, precision, neg);
+            print(sb, v, l, f, c, precision, neg);
 
             // trailing sign indicator
             trailingSign(sb, neg);
 
             // justify based on width
-            appendJustified(formatter.a, sb);
+            appendJustified(a, sb);
         }
 
         // value > 0
-        private void print(Formatter formatter, StringBuilder sb, int pos0, BigDecimal value, Locale l,
+        private void print(StringBuilder sb, BigDecimal value, Locale l,
                            Flags f, char c, int precision, boolean neg)
             throws IOException
         {
@@ -3912,7 +3733,7 @@
                 if (width != -1) {
                     newW = adjustWidth(width - exp.length() - 1, f, neg);
                 }
-                localizedMagnitude(formatter, sb, pos0, mant, 0, f, newW, l);
+                localizedMagnitude(sb, mant, 0, f, newW, l);
 
                 sb.append(f.contains(Flags.UPPERCASE) ? 'E' : 'e');
 
@@ -3921,7 +3742,7 @@
                 assert(sign == '+' || sign == '-');
                 sb.append(sign);
 
-                localizedMagnitude(formatter, sb, exp, 1, flags, -1, l);
+                sb.append(localizedMagnitude(null, exp, 1, flags, -1, l));
             } else if (c == Conversion.DECIMAL_FLOAT) {
                 // Create a new BigDecimal with the desired precision.
                 int prec = (precision == -1 ? 6 : precision);
@@ -3962,7 +3783,7 @@
                 // number of available digits after the decimal separator.
                 trailingZeros(mant, nzeros);
 
-                localizedMagnitude(formatter, sb, pos0, mant, 0, f, adjustWidth(width, f, neg), l);
+                localizedMagnitude(sb, mant, 0, f, adjustWidth(width, f, neg), l);
             } else if (c == Conversion.GENERAL) {
                 int prec = precision;
                 if (precision == -1)
@@ -3991,10 +3812,10 @@
                     // => f precision = g precision - exponent - 1
                     prec = prec - e - 1;
 
-                    print(formatter, sb, pos0, value, l, f, Conversion.DECIMAL_FLOAT, prec,
+                    print(sb, value, l, f, Conversion.DECIMAL_FLOAT, prec,
                           neg);
                 } else {
-                    print(formatter, sb, pos0, value, l, f, Conversion.SCIENTIFIC, prec - 1, neg);
+                    print(sb, value, l, f, Conversion.SCIENTIFIC, prec - 1, neg);
                 }
             } else if (c == Conversion.HEXADECIMAL_FLOAT) {
                 // This conversion isn't supported.  The error should be
@@ -4130,19 +3951,19 @@
             }
         }
 
-        private void print(Formatter formatter, Calendar t, char c, Locale l)  throws IOException {
+        private void print(Calendar t, char c, Locale l)  throws IOException {
             StringBuilder sb = new StringBuilder();
-            print(formatter, sb, t, c, l);
+            print(sb, t, c, l);
 
             // justify based on width
             if (f.contains(Flags.UPPERCASE)) {
-                appendJustified(formatter.a, toUpperCaseWithLocale(sb.toString(), l));
+                appendJustified(a, toUpperCaseWithLocale(sb.toString(), l));
             } else {
-                appendJustified(formatter.a, sb);
+                appendJustified(a, sb);
             }
         }
 
-        private Appendable print(Formatter formatter, StringBuilder sb, Calendar t, char c, Locale l)
+        private Appendable print(StringBuilder sb, Calendar t, char c, Locale l)
                 throws IOException {
             if (sb == null)
                 sb = new StringBuilder();
@@ -4158,31 +3979,31 @@
                                || c == DateTime.HOUR_0
                                ? Flags.ZERO_PAD
                                : Flags.NONE);
-                localizedMagnitude(formatter, sb, i, flags, 2, l);
+                sb.append(localizedMagnitude(null, i, flags, 2, l));
                 break;
             }
             case DateTime.MINUTE:      { // 'M' (00 - 59)
                 int i = t.get(Calendar.MINUTE);
                 Flags flags = Flags.ZERO_PAD;
-                localizedMagnitude(formatter, sb, i, flags, 2, l);
+                sb.append(localizedMagnitude(null, i, flags, 2, l));
                 break;
             }
             case DateTime.NANOSECOND:  { // 'N' (000000000 - 999999999)
                 int i = t.get(Calendar.MILLISECOND) * 1000000;
                 Flags flags = Flags.ZERO_PAD;
-                localizedMagnitude(formatter, sb, i, flags, 9, l);
+                sb.append(localizedMagnitude(null, i, flags, 9, l));
                 break;
             }
             case DateTime.MILLISECOND: { // 'L' (000 - 999)
                 int i = t.get(Calendar.MILLISECOND);
                 Flags flags = Flags.ZERO_PAD;
-                localizedMagnitude(formatter, sb, i, flags, 3, l);
+                sb.append(localizedMagnitude(null, i, flags, 3, l));
                 break;
             }
             case DateTime.MILLISECOND_SINCE_EPOCH: { // 'Q' (0 - 99...?)
                 long i = t.getTimeInMillis();
                 Flags flags = Flags.NONE;
-                localizedMagnitude(formatter, sb, i, flags, width, l);
+                sb.append(localizedMagnitude(null, i, flags, width, l));
                 break;
             }
             case DateTime.AM_PM:       { // 'p' (am or pm)
@@ -4200,13 +4021,13 @@
             case DateTime.SECONDS_SINCE_EPOCH: { // 's' (0 - 99...?)
                 long i = t.getTimeInMillis() / 1000;
                 Flags flags = Flags.NONE;
-                localizedMagnitude(formatter, sb, i, flags, width, l);
+                sb.append(localizedMagnitude(null, i, flags, width, l));
                 break;
             }
             case DateTime.SECOND:      { // 'S' (00 - 60 - leap second)
                 int i = t.get(Calendar.SECOND);
                 Flags flags = Flags.ZERO_PAD;
-                localizedMagnitude(formatter, sb, i, flags, 2, l);
+                sb.append(localizedMagnitude(null, i, flags, 2, l));
                 break;
             }
             case DateTime.ZONE_NUMERIC: { // 'z' ({-|+}####) - ls minus?
@@ -4220,7 +4041,7 @@
                 int offset = (min / 60) * 100 + (min % 60);
                 Flags flags = Flags.ZERO_PAD;
 
-                localizedMagnitude(formatter, sb, offset, flags, 4, l);
+                sb.append(localizedMagnitude(null, offset, flags, 4, l));
                 break;
             }
             case DateTime.ZONE:        { // 'Z' (symbol)
@@ -4272,7 +4093,7 @@
                     break;
                 }
                 Flags flags = Flags.ZERO_PAD;
-                localizedMagnitude(formatter, sb, i, flags, size, l);
+                sb.append(localizedMagnitude(null, i, flags, size, l));
                 break;
             }
             case DateTime.DAY_OF_MONTH_0:         // 'd' (01 - 31)
@@ -4281,19 +4102,19 @@
                 Flags flags = (c == DateTime.DAY_OF_MONTH_0
                                ? Flags.ZERO_PAD
                                : Flags.NONE);
-                localizedMagnitude(formatter, sb, i, flags, 2, l);
+                sb.append(localizedMagnitude(null, i, flags, 2, l));
                 break;
             }
             case DateTime.DAY_OF_YEAR:          { // 'j' (001 - 366)
                 int i = t.get(Calendar.DAY_OF_YEAR);
                 Flags flags = Flags.ZERO_PAD;
-                localizedMagnitude(formatter, sb, i, flags, 3, l);
+                sb.append(localizedMagnitude(null, i, flags, 3, l));
                 break;
             }
             case DateTime.MONTH:                { // 'm' (01 - 12)
                 int i = t.get(Calendar.MONTH) + 1;
                 Flags flags = Flags.ZERO_PAD;
-                localizedMagnitude(formatter, sb, i, flags, 2, l);
+                sb.append(localizedMagnitude(null, i, flags, 2, l));
                 break;
             }
 
@@ -4301,48 +4122,48 @@
             case DateTime.TIME:         // 'T' (24 hour hh:mm:ss - %tH:%tM:%tS)
             case DateTime.TIME_24_HOUR:    { // 'R' (hh:mm same as %H:%M)
                 char sep = ':';
-                print(formatter, sb, t, DateTime.HOUR_OF_DAY_0, l).append(sep);
-                print(formatter, sb, t, DateTime.MINUTE, l);
+                print(sb, t, DateTime.HOUR_OF_DAY_0, l).append(sep);
+                print(sb, t, DateTime.MINUTE, l);
                 if (c == DateTime.TIME) {
                     sb.append(sep);
-                    print(formatter, sb, t, DateTime.SECOND, l);
+                    print(sb, t, DateTime.SECOND, l);
                 }
                 break;
             }
             case DateTime.TIME_12_HOUR:    { // 'r' (hh:mm:ss [AP]M)
                 char sep = ':';
-                print(formatter, sb, t, DateTime.HOUR_0, l).append(sep);
-                print(formatter, sb, t, DateTime.MINUTE, l).append(sep);
-                print(formatter, sb, t, DateTime.SECOND, l).append(' ');
+                print(sb, t, DateTime.HOUR_0, l).append(sep);
+                print(sb, t, DateTime.MINUTE, l).append(sep);
+                print(sb, t, DateTime.SECOND, l).append(' ');
                 // this may be in wrong place for some locales
                 StringBuilder tsb = new StringBuilder();
-                print(formatter, tsb, t, DateTime.AM_PM, l);
+                print(tsb, t, DateTime.AM_PM, l);
 
                 sb.append(toUpperCaseWithLocale(tsb.toString(), l));
                 break;
             }
             case DateTime.DATE_TIME:    { // 'c' (Sat Nov 04 12:02:33 EST 1999)
                 char sep = ' ';
-                print(formatter, sb, t, DateTime.NAME_OF_DAY_ABBREV, l).append(sep);
-                print(formatter, sb, t, DateTime.NAME_OF_MONTH_ABBREV, l).append(sep);
-                print(formatter, sb, t, DateTime.DAY_OF_MONTH_0, l).append(sep);
-                print(formatter, sb, t, DateTime.TIME, l).append(sep);
-                print(formatter, sb, t, DateTime.ZONE, l).append(sep);
-                print(formatter, sb, t, DateTime.YEAR_4, l);
+                print(sb, t, DateTime.NAME_OF_DAY_ABBREV, l).append(sep);
+                print(sb, t, DateTime.NAME_OF_MONTH_ABBREV, l).append(sep);
+                print(sb, t, DateTime.DAY_OF_MONTH_0, l).append(sep);
+                print(sb, t, DateTime.TIME, l).append(sep);
+                print(sb, t, DateTime.ZONE, l).append(sep);
+                print(sb, t, DateTime.YEAR_4, l);
                 break;
             }
             case DateTime.DATE:            { // 'D' (mm/dd/yy)
                 char sep = '/';
-                print(formatter, sb, t, DateTime.MONTH, l).append(sep);
-                print(formatter, sb, t, DateTime.DAY_OF_MONTH_0, l).append(sep);
-                print(formatter, sb, t, DateTime.YEAR_2, l);
+                print(sb, t, DateTime.MONTH, l).append(sep);
+                print(sb, t, DateTime.DAY_OF_MONTH_0, l).append(sep);
+                print(sb, t, DateTime.YEAR_2, l);
                 break;
             }
             case DateTime.ISO_STANDARD_DATE: { // 'F' (%Y-%m-%d)
                 char sep = '-';
-                print(formatter, sb, t, DateTime.YEAR_4, l).append(sep);
-                print(formatter, sb, t, DateTime.MONTH, l).append(sep);
-                print(formatter, sb, t, DateTime.DAY_OF_MONTH_0, l);
+                print(sb, t, DateTime.YEAR_4, l).append(sep);
+                print(sb, t, DateTime.MONTH, l).append(sep);
+                print(sb, t, DateTime.DAY_OF_MONTH_0, l);
                 break;
             }
             default:
@@ -4351,18 +4172,18 @@
             return sb;
         }
 
-        private void print(Formatter formatter, TemporalAccessor t, char c, Locale l)  throws IOException {
+        private void print(TemporalAccessor t, char c, Locale l)  throws IOException {
             StringBuilder sb = new StringBuilder();
-            print(formatter, sb, t, c, l);
+            print(sb, t, c, l);
             // justify based on width
             if (f.contains(Flags.UPPERCASE)) {
-                appendJustified(formatter.a, toUpperCaseWithLocale(sb.toString(), l));
+                appendJustified(a, toUpperCaseWithLocale(sb.toString(), l));
             } else {
-                appendJustified(formatter.a, sb);
+                appendJustified(a, sb);
             }
         }
 
-        private Appendable print(Formatter formatter, StringBuilder sb, TemporalAccessor t, char c,
+        private Appendable print(StringBuilder sb, TemporalAccessor t, char c,
                                  Locale l) throws IOException {
             if (sb == null)
                 sb = new StringBuilder();
@@ -4370,28 +4191,28 @@
                 switch (c) {
                 case DateTime.HOUR_OF_DAY_0: {  // 'H' (00 - 23)
                     int i = t.get(ChronoField.HOUR_OF_DAY);
-                    localizedMagnitude(formatter, sb, i, Flags.ZERO_PAD, 2, l);
+                    sb.append(localizedMagnitude(null, i, Flags.ZERO_PAD, 2, l));
                     break;
                 }
                 case DateTime.HOUR_OF_DAY: {   // 'k' (0 - 23) -- like H
                     int i = t.get(ChronoField.HOUR_OF_DAY);
-                    localizedMagnitude(formatter, sb, i, Flags.NONE, 2, l);
+                    sb.append(localizedMagnitude(null, i, Flags.NONE, 2, l));
                     break;
                 }
                 case DateTime.HOUR_0:      {  // 'I' (01 - 12)
                     int i = t.get(ChronoField.CLOCK_HOUR_OF_AMPM);
-                    localizedMagnitude(formatter, sb, i, Flags.ZERO_PAD, 2, l);
+                    sb.append(localizedMagnitude(null, i, Flags.ZERO_PAD, 2, l));
                     break;
                 }
                 case DateTime.HOUR:        { // 'l' (1 - 12) -- like I
                     int i = t.get(ChronoField.CLOCK_HOUR_OF_AMPM);
-                    localizedMagnitude(formatter, sb, i, Flags.NONE, 2, l);
+                    sb.append(localizedMagnitude(null, i, Flags.NONE, 2, l));
                     break;
                 }
                 case DateTime.MINUTE:      { // 'M' (00 - 59)
                     int i = t.get(ChronoField.MINUTE_OF_HOUR);
                     Flags flags = Flags.ZERO_PAD;
-                    localizedMagnitude(formatter, sb, i, flags, 2, l);
+                    sb.append(localizedMagnitude(null, i, flags, 2, l));
                     break;
                 }
                 case DateTime.NANOSECOND:  { // 'N' (000000000 - 999999999)
@@ -4402,20 +4223,20 @@
                         i = t.get(ChronoField.MILLI_OF_SECOND) * 1000000;
                     }
                     Flags flags = Flags.ZERO_PAD;
-                    localizedMagnitude(formatter, sb, i, flags, 9, l);
+                    sb.append(localizedMagnitude(null, i, flags, 9, l));
                     break;
                 }
                 case DateTime.MILLISECOND: { // 'L' (000 - 999)
                     int i = t.get(ChronoField.MILLI_OF_SECOND);
                     Flags flags = Flags.ZERO_PAD;
-                    localizedMagnitude(formatter, sb, i, flags, 3, l);
+                    sb.append(localizedMagnitude(null, i, flags, 3, l));
                     break;
                 }
                 case DateTime.MILLISECOND_SINCE_EPOCH: { // 'Q' (0 - 99...?)
                     long i = t.getLong(ChronoField.INSTANT_SECONDS) * 1000L +
                              t.getLong(ChronoField.MILLI_OF_SECOND);
                     Flags flags = Flags.NONE;
-                    localizedMagnitude(formatter, sb, i, flags, width, l);
+                    sb.append(localizedMagnitude(null, i, flags, width, l));
                     break;
                 }
                 case DateTime.AM_PM:       { // 'p' (am or pm)
@@ -4433,13 +4254,13 @@
                 case DateTime.SECONDS_SINCE_EPOCH: { // 's' (0 - 99...?)
                     long i = t.getLong(ChronoField.INSTANT_SECONDS);
                     Flags flags = Flags.NONE;
-                    localizedMagnitude(formatter, sb, i, flags, width, l);
+                    sb.append(localizedMagnitude(null, i, flags, width, l));
                     break;
                 }
                 case DateTime.SECOND:      { // 'S' (00 - 60 - leap second)
                     int i = t.get(ChronoField.SECOND_OF_MINUTE);
                     Flags flags = Flags.ZERO_PAD;
-                    localizedMagnitude(formatter, sb, i, flags, 2, l);
+                    sb.append(localizedMagnitude(null, i, flags, 2, l));
                     break;
                 }
                 case DateTime.ZONE_NUMERIC: { // 'z' ({-|+}####) - ls minus?
@@ -4452,7 +4273,7 @@
                     // combine minute and hour into a single integer
                     int offset = (min / 60) * 100 + (min % 60);
                     Flags flags = Flags.ZERO_PAD;
-                    localizedMagnitude(formatter, sb, offset, flags, 4, l);
+                    sb.append(localizedMagnitude(null, offset, flags, 4, l));
                     break;
                 }
                 case DateTime.ZONE:        { // 'Z' (symbol)
@@ -4513,7 +4334,7 @@
                         break;
                     }
                     Flags flags = Flags.ZERO_PAD;
-                    localizedMagnitude(formatter, sb, i, flags, size, l);
+                    sb.append(localizedMagnitude(null, i, flags, size, l));
                     break;
                 }
                 case DateTime.DAY_OF_MONTH_0:         // 'd' (01 - 31)
@@ -4522,19 +4343,19 @@
                     Flags flags = (c == DateTime.DAY_OF_MONTH_0
                                    ? Flags.ZERO_PAD
                                    : Flags.NONE);
-                    localizedMagnitude(formatter, sb, i, flags, 2, l);
+                    sb.append(localizedMagnitude(null, i, flags, 2, l));
                     break;
                 }
                 case DateTime.DAY_OF_YEAR:          { // 'j' (001 - 366)
                     int i = t.get(ChronoField.DAY_OF_YEAR);
                     Flags flags = Flags.ZERO_PAD;
-                    localizedMagnitude(formatter, sb, i, flags, 3, l);
+                    sb.append(localizedMagnitude(null, i, flags, 3, l));
                     break;
                 }
                 case DateTime.MONTH:                { // 'm' (01 - 12)
                     int i = t.get(ChronoField.MONTH_OF_YEAR);
                     Flags flags = Flags.ZERO_PAD;
-                    localizedMagnitude(formatter, sb, i, flags, 2, l);
+                    sb.append(localizedMagnitude(null, i, flags, 2, l));
                     break;
                 }
 
@@ -4542,47 +4363,47 @@
                 case DateTime.TIME:         // 'T' (24 hour hh:mm:ss - %tH:%tM:%tS)
                 case DateTime.TIME_24_HOUR:    { // 'R' (hh:mm same as %H:%M)
                     char sep = ':';
-                    print(formatter, sb, t, DateTime.HOUR_OF_DAY_0, l).append(sep);
-                    print(formatter, sb, t, DateTime.MINUTE, l);
+                    print(sb, t, DateTime.HOUR_OF_DAY_0, l).append(sep);
+                    print(sb, t, DateTime.MINUTE, l);
                     if (c == DateTime.TIME) {
                         sb.append(sep);
-                        print(formatter, sb, t, DateTime.SECOND, l);
+                        print(sb, t, DateTime.SECOND, l);
                     }
                     break;
                 }
                 case DateTime.TIME_12_HOUR:    { // 'r' (hh:mm:ss [AP]M)
                     char sep = ':';
-                    print(formatter, sb, t, DateTime.HOUR_0, l).append(sep);
-                    print(formatter, sb, t, DateTime.MINUTE, l).append(sep);
-                    print(formatter, sb, t, DateTime.SECOND, l).append(' ');
+                    print(sb, t, DateTime.HOUR_0, l).append(sep);
+                    print(sb, t, DateTime.MINUTE, l).append(sep);
+                    print(sb, t, DateTime.SECOND, l).append(' ');
                     // this may be in wrong place for some locales
                     StringBuilder tsb = new StringBuilder();
-                    print(formatter, tsb, t, DateTime.AM_PM, l);
+                    print(tsb, t, DateTime.AM_PM, l);
                     sb.append(toUpperCaseWithLocale(tsb.toString(), l));
                     break;
                 }
                 case DateTime.DATE_TIME:    { // 'c' (Sat Nov 04 12:02:33 EST 1999)
                     char sep = ' ';
-                    print(formatter, sb, t, DateTime.NAME_OF_DAY_ABBREV, l).append(sep);
-                    print(formatter, sb, t, DateTime.NAME_OF_MONTH_ABBREV, l).append(sep);
-                    print(formatter, sb, t, DateTime.DAY_OF_MONTH_0, l).append(sep);
-                    print(formatter, sb, t, DateTime.TIME, l).append(sep);
-                    print(formatter, sb, t, DateTime.ZONE, l).append(sep);
-                    print(formatter, sb, t, DateTime.YEAR_4, l);
+                    print(sb, t, DateTime.NAME_OF_DAY_ABBREV, l).append(sep);
+                    print(sb, t, DateTime.NAME_OF_MONTH_ABBREV, l).append(sep);
+                    print(sb, t, DateTime.DAY_OF_MONTH_0, l).append(sep);
+                    print(sb, t, DateTime.TIME, l).append(sep);
+                    print(sb, t, DateTime.ZONE, l).append(sep);
+                    print(sb, t, DateTime.YEAR_4, l);
                     break;
                 }
                 case DateTime.DATE:            { // 'D' (mm/dd/yy)
                     char sep = '/';
-                    print(formatter, sb, t, DateTime.MONTH, l).append(sep);
-                    print(formatter, sb, t, DateTime.DAY_OF_MONTH_0, l).append(sep);
-                    print(formatter, sb, t, DateTime.YEAR_2, l);
+                    print(sb, t, DateTime.MONTH, l).append(sep);
+                    print(sb, t, DateTime.DAY_OF_MONTH_0, l).append(sep);
+                    print(sb, t, DateTime.YEAR_2, l);
                     break;
                 }
                 case DateTime.ISO_STANDARD_DATE: { // 'F' (%Y-%m-%d)
                     char sep = '-';
-                    print(formatter, sb, t, DateTime.YEAR_4, l).append(sep);
-                    print(formatter, sb, t, DateTime.MONTH, l).append(sep);
-                    print(formatter, sb, t, DateTime.DAY_OF_MONTH_0, l);
+                    print(sb, t, DateTime.YEAR_4, l).append(sep);
+                    print(sb, t, DateTime.MONTH, l).append(sep);
+                    print(sb, t, DateTime.DAY_OF_MONTH_0, l);
                     break;
                 }
                 default:
@@ -4601,36 +4422,32 @@
             throw new FormatFlagsConversionMismatchException(fs, c);
         }
 
-        void failConversion(char c, Object arg) {
+        private void failConversion(char c, Object arg) {
             throw new IllegalFormatConversionException(c, arg.getClass());
         }
 
-        private char getZero(Formatter formatter, Locale l) {
-            if ((l != null) &&  !l.equals(formatter.locale())) {
+        private char getZero(Locale l) {
+            if ((l != null) &&  !l.equals(locale())) {
                 DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(l);
                 return dfs.getZeroDigit();
             }
-            return formatter.zero;
+            return zero;
         }
 
-        private StringBuilder localizedMagnitude(Formatter formatter, StringBuilder sb,
+        private StringBuilder localizedMagnitude(StringBuilder sb,
                 long value, Flags f, int width, Locale l) {
-            return localizedMagnitude(formatter, sb, Long.toString(value, 10), 0, f, width, l);
+            return localizedMagnitude(sb, Long.toString(value, 10), 0, f, width, l);
         }
 
-        StringBuilder localizedMagnitude(Formatter formatter, StringBuilder sb,
-                                         CharSequence value, final int offset, Flags f, int width, Locale l) {
-            return localizedMagnitude(formatter, sb, sb == null ? 0 : sb.length(), value, offset, f, width, l);
-        }
-
-        StringBuilder localizedMagnitude(Formatter formatter, StringBuilder sb, int pos0,
-                                         CharSequence value, final int offset, Flags f, int width, Locale l) {
+        private StringBuilder localizedMagnitude(StringBuilder sb,
+                CharSequence value, final int offset, Flags f, int width,
+                Locale l) {
             if (sb == null) {
                 sb = new StringBuilder();
             }
             int begin = sb.length();
 
-            char zero = getZero(formatter, l);
+            char zero = getZero(l);
 
             // determine localized grouping separator and size
             char grpSep = '\0';
@@ -4710,7 +4527,7 @@
 
             // apply zero padding
             if (width != -1 && f.contains(Flags.ZERO_PAD)) {
-                for (int k = sb.length() - pos0; k < width; k++) {
+                for (int k = sb.length(); k < width; k++) {
                     sb.insert(begin, zero);
                 }
             }
@@ -4721,9 +4538,9 @@
         // Specialized localization of exponents, where the source value can only
         // contain characters '0' through '9', starting at index offset, and no
         // group separators is added for any locale.
-        private void localizedMagnitudeExp(Formatter formatter, StringBuilder sb, char[] value,
+        private void localizedMagnitudeExp(StringBuilder sb, char[] value,
                 final int offset, Locale l) {
-            char zero = getZero(formatter, l);
+            char zero = getZero(l);
 
             int len = value.length;
             for (int j = offset; j < len; j++) {
@@ -4765,10 +4582,6 @@
             return (flags & f.valueOf()) == f.valueOf();
         }
 
-        public boolean isEmpty() {
-            return flags == 0;
-        }
-
         public Flags dup() {
             return new Flags(flags);
         }
--- a/src/java.base/share/classes/java/util/Objects.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/java/util/Objects.java	Tue Oct 30 14:28:06 2018 -0300
@@ -28,7 +28,6 @@
 import jdk.internal.util.Preconditions;
 import jdk.internal.vm.annotation.ForceInline;
 
-import java.lang.compiler.IntrinsicCandidate;
 import java.util.function.Supplier;
 
 /**
@@ -143,7 +142,6 @@
     * @see Arrays#hashCode(Object[])
     * @see List#hashCode
     */
-    @IntrinsicCandidate
     public static int hash(Object... values) {
         return Arrays.hashCode(values);
     }
--- a/src/java.base/share/classes/module-info.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/module-info.java	Tue Oct 30 14:28:06 2018 -0300
@@ -79,7 +79,6 @@
     exports java.io;
     exports java.lang;
     exports java.lang.annotation;
-    exports java.lang.constant;
     exports java.lang.invoke;
     exports java.lang.module;
     exports java.lang.ref;
--- a/src/java.base/share/classes/sun/invoke/util/Wrapper.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/java.base/share/classes/sun/invoke/util/Wrapper.java	Tue Oct 30 14:28:06 2018 -0300
@@ -47,7 +47,6 @@
     private final Class<?> wrapperType;
     private final Class<?> primitiveType;
     private final char     basicTypeChar;
-    private final String   basicTypeString;
     private final Object   emptyArray;
     private final int      format;
     private final String   wrapperSimpleName;
@@ -57,7 +56,6 @@
         this.wrapperType = wtype;
         this.primitiveType = ptype;
         this.basicTypeChar = tchar;
-        this.basicTypeString = new String(new char[] {this.basicTypeChar});
         this.emptyArray = emptyArray;
         this.format = format;
         this.wrapperSimpleName = wtypeName;
@@ -461,11 +459,6 @@
      */
     public char basicTypeChar() { return basicTypeChar; }
 
-    /** What is the bytecode signature string for this wrapper's
-     *  primitive type?
-     */
-    public String basicTypeString() { return basicTypeString; }
-
     /** What is the simple name of the wrapper type?
      */
     public String wrapperSimpleName() { return wrapperSimpleName; }
@@ -588,8 +581,9 @@
      * Returns null for {@code VOID}.
      */
     public Object wrap(int x) {
+        if (basicTypeChar == 'L')  return (Integer)x;
         switch (basicTypeChar) {
-            case 'L': return (Integer)x;
+            case 'L': throw newIllegalArgumentException("cannot wrap to object type");
             case 'V': return null;
             case 'I': return Integer.valueOf(x);
             case 'J': return Long.valueOf(x);
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java	Tue Oct 30 14:28:06 2018 -0300
@@ -213,10 +213,7 @@
     public final Type documentedType;
     public final Type elementTypeType;
     public final Type functionalInterfaceType;
-    public final Type constableType;
-    public final Type constantDescType;
-    public final Type intrinsicCandidateType;
-    public final Type programType;
+
     /** The symbol representing the length field of an array.
      */
     public final VarSymbol lengthVar;
@@ -570,11 +567,6 @@
         lambdaMetafactory = enterClass("java.lang.invoke.LambdaMetafactory");
         stringConcatFactory = enterClass("java.lang.invoke.StringConcatFactory");
         functionalInterfaceType = enterClass("java.lang.FunctionalInterface");
-        constableType = enterClass("java.lang.constant.Constable");
-        constantDescType = enterClass("java.lang.constant.ConstantDesc");
-        intrinsicCandidateType =
-                enterClass("java.lang.compiler.IntrinsicCandidate");
-        programType = enterClass("java.lang.Program");
 
         synthesizeEmptyInterfaceIfMissing(autoCloseableType);
         synthesizeEmptyInterfaceIfMissing(cloneableType);
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Tue Oct 30 14:28:06 2018 -0300
@@ -303,10 +303,6 @@
      */
     protected Flow flow;
 
-    /** The intrinsics analyzer.
-     */
-    protected IntrinsicsVisitor intrinsicsVisitor;
-
     /** The modules visitor
      */
     protected Modules modules;
@@ -419,7 +415,6 @@
         chk = Check.instance(context);
         gen = Gen.instance(context);
         flow = Flow.instance(context);
-        intrinsicsVisitor = IntrinsicsVisitor.instance(context);
         transTypes = TransTypes.instance(context);
         lower = Lower.instance(context);
         annotate = Annotate.instance(context);
@@ -1558,8 +1553,6 @@
             env.tree = transTypes.translateTopLevelClass(env.tree, localMake);
             compileStates.put(env, CompileState.TRANSTYPES);
 
-            env.tree = intrinsicsVisitor.analyzeTree(env.tree, env);
-
             if (Feature.LAMBDA.allowedInSource(source) && scanner.hasLambdas) {
                 if (shouldStop(CompileState.UNLAMBDA))
                     return;
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties	Tue Oct 30 14:28:06 2018 -0300
@@ -800,10 +800,6 @@
 compiler.err.intf.not.allowed.here=\
     interface not allowed here
 
-# 0: string
-compiler.err.intrinsic.error=\
-    {0}
-
 compiler.err.enums.must.be.static=\
     enum declarations allowed only in static contexts
 
@@ -1757,10 +1753,6 @@
     cast to {0} for a varargs call\n\
     cast to {1} for a non-varargs call and to suppress this warning
 
-# 0: string
-compiler.warn.intrinsic.warning=\
-    {0}
-
 # 0: list of type
 compiler.warn.unreachable.catch=\
     unreachable catch clause\n\
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java	Tue Oct 30 14:28:06 2018 -0300
@@ -29,11 +29,9 @@
 import java.util.EnumMap;
 import java.util.EnumSet;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Set;
 
 import com.sun.tools.javac.code.Printer;
 import com.sun.tools.javac.code.Symbol;
@@ -42,9 +40,7 @@
 import com.sun.tools.javac.code.Type;
 import com.sun.tools.javac.code.Type.*;
 import com.sun.tools.javac.code.Types;
-import com.sun.tools.javac.main.Option;
 import com.sun.tools.javac.resources.CompilerProperties.Fragments;
-import com.sun.tools.javac.util.JCDiagnostic.DiagnosticFlag;
 
 import static com.sun.tools.javac.code.Flags.*;
 import static com.sun.tools.javac.code.TypeTag.*;
@@ -109,16 +105,8 @@
         configuration = new RichConfiguration(Options.instance(context), formatter);
         for (WhereClauseKind kind : WhereClauseKind.values())
             whereClauses.put(kind, new LinkedHashMap<Type, JCDiagnostic>());
-        symbolsToRemove.add(syms.constableType.tsym);
-        symbolsToRemove.add(syms.constantDescType.tsym);
-        Options options = Options.instance(context);
-        compactMethodDiags = options.isSet(Option.XDIAGS, "compact") ||
-                options.isUnset(Option.XDIAGS) && options.isUnset("rawDiagnostics");
     }
 
-    Set<TypeSymbol> symbolsToRemove = new HashSet<>();
-    final boolean compactMethodDiags;
-
     @Override
     public String format(JCDiagnostic diag, Locale l) {
         StringBuilder sb = new StringBuilder();
@@ -533,22 +521,7 @@
                 if (indexOf(t, WhereClauseKind.INTERSECTION) == -1) {
                     Type supertype = types.supertype(t);
                     List<Type> interfaces = types.interfaces(t);
-                    ListBuffer<Type> interfaceBuffer = new ListBuffer<>();
-                    boolean removed = false;
-                    if (compactMethodDiags) {
-                        for (Type interf : interfaces) {
-                            if (!symbolsToRemove.contains(interf.tsym)) {
-                                interfaceBuffer.add(interf);
-                            } else {
-                                removed = true;
-                            }
-                        }
-                        interfaces = interfaceBuffer.toList();
-                    }
                     JCDiagnostic d = diags.fragment(Fragments.WhereIntersection(t, interfaces.prepend(supertype)));
-                    if (removed) {
-                        d.setFlag(DiagnosticFlag.COMPRESSED);
-                    }
                     whereClauses.get(WhereClauseKind.INTERSECTION).put(t, d);
                     visit(supertype);
                     visit(interfaces);
--- a/src/jdk.compiler/share/classes/module-info.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/jdk.compiler/share/classes/module-info.java	Tue Oct 30 14:28:06 2018 -0300
@@ -134,13 +134,5 @@
 
     provides javax.tools.Tool with
         com.sun.tools.javac.api.JavacTool;
-
-    uses com.sun.tools.javac.intrinsics.IntrinsicProcessorFactory;
-
-    provides com.sun.tools.javac.intrinsics.IntrinsicProcessorFactory with
-        com.sun.tools.javac.intrinsics.FormatterProcessorFactory,
-        com.sun.tools.javac.intrinsics.HashProcessorFactory,
-        com.sun.tools.javac.intrinsics.StringProcessorFactory;
-
 }
 
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java	Tue Oct 30 14:28:06 2018 -0300
@@ -71,16 +71,6 @@
  */
 public class ClassWriterImpl extends SubWriterHolderWriter implements ClassWriter {
 
-    private static final Set<String> suppressSubtypesSet
-            = Set.of("java.lang.Object",
-                     "org.omg.CORBA.Object");
-
-    private static final Set<String> suppressImplementingSet
-            = Set.of( "java.lang.Cloneable",
-                    "java.lang.constant.Constable",
-                    "java.lang.constant.ConstantDesc",
-                    "java.io.Serializable");
-
     protected final TypeElement typeElement;
 
     protected final ClassTree classtree;
@@ -380,10 +370,9 @@
     @Override
     public void addSubClassInfo(Content classInfoTree) {
         if (utils.isClass(typeElement)) {
-            for (String s : suppressSubtypesSet) {
-                if (typeElement.getQualifiedName().contentEquals(s)) {
-                    return;    // Don't generate the list, too huge
-                }
+            if (typeElement.getQualifiedName().contentEquals("java.lang.Object") ||
+                    typeElement.getQualifiedName().contentEquals("org.omg.CORBA.Object")) {
+                return;    // Don't generate the list, too huge
             }
             Set<TypeElement> subclasses = classtree.directSubClasses(typeElement, false);
             if (!subclasses.isEmpty()) {
@@ -423,10 +412,9 @@
         if (!utils.isInterface(typeElement)) {
             return;
         }
-        for (String s : suppressImplementingSet) {
-            if (typeElement.getQualifiedName().contentEquals(s)) {
-                return;    // Don't generate the list, too huge
-            }
+        if (typeElement.getQualifiedName().contentEquals("java.lang.Cloneable") ||
+                typeElement.getQualifiedName().contentEquals("java.io.Serializable")) {
+            return;   // Don't generate the list, too big
         }
         Set<TypeElement> implcl = classtree.implementingClasses(typeElement);
         if (!implcl.isEmpty()) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValue/getvalue003.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValue/getvalue003.java	Tue Oct 30 14:28:06 2018 -0300
@@ -219,7 +219,7 @@
             val1    = debuggeeClass.getValue(field1);
             objRef  = (ObjectReference) val1;
 
-            log2("......getting the mirror of tested getvalue003aTestClass : ReferenceType classDesc");
+            log2("......getting the mirror of tested getvalue003aTestClass : ReferenceType classRef");
 
             classes   = vm.classesByName(testedClassName);
             classRef  = (ReferenceType) classes.get(0);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValues/getvalues001.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValues/getvalues001.java	Tue Oct 30 14:28:06 2018 -0300
@@ -205,7 +205,7 @@
             val1    = debuggeeClass.getValue(field1);
             objRef  = (ObjectReference) val1;
 
-            log2("......getting the mirror of tested getvalues001aTestClass : ReferenceType classDesc");
+            log2("......getting the mirror of tested getvalues001aTestClass : ReferenceType classRef");
 
             classes      = vm.classesByName(testedClassName);
             testedClass  = (ReferenceType) classes.get(0);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValues/getvalues002.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValues/getvalues002.java	Tue Oct 30 14:28:06 2018 -0300
@@ -205,7 +205,7 @@
             val1    = debuggeeClass.getValue(field1);
             objRef  = (ObjectReference) val1;
 
-            log2("......getting the mirror of tested getvalues002aTestClass : ReferenceType classDesc");
+            log2("......getting the mirror of tested getvalues002aTestClass : ReferenceType classRef");
 
             classes      = vm.classesByName(testedClassName);
             testedClass  = (ReferenceType) classes.get(0);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValues/getvalues003.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/getValues/getvalues003.java	Tue Oct 30 14:28:06 2018 -0300
@@ -209,7 +209,7 @@
             val1    = debuggeeClass.getValue(field1);
             objRef  = (ObjectReference) val1;
 
-            log2("......getting the mirror of tested getvalues003aTestClass : ReferenceType classDesc");
+            log2("......getting the mirror of tested getvalues003aTestClass : ReferenceType classRef");
 
             classes      = vm.classesByName(testedClass1Name);
             testedClass  = (ReferenceType) classes.get(0);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleBaseByteArrayTest.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleBaseByteArrayTest.java	Tue Oct 30 14:28:06 2018 -0300
@@ -338,10 +338,10 @@
     @BeforeClass
     public void setup() {
         setupByteSources();
-        vhss = setupVarHandleSources(true);
+        setupVarHandleSources();
     }
 
-    abstract List<VarHandleSource> setupVarHandleSources(boolean same);
+    abstract void setupVarHandleSources();
 
 
     @DataProvider
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     boolean v;
 
-    static final boolean static_final_v2 = true;
-
-    static boolean static_v2;
-
-    final boolean final_v2 = true;
-
-    boolean v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -69,41 +61,6 @@
     VarHandle vhArray;
 
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessBoolean.class, "final_v" + postfix, boolean.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessBoolean.class, "v" + postfix, boolean.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessBoolean.class, "static_final_v" + postfix, boolean.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessBoolean.class, "static_v" + postfix, boolean.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle(boolean[].class);
-            }
-            else {
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -132,31 +89,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     byte v;
 
-    static final byte static_final_v2 = (byte)0x01;
-
-    static byte static_v2;
-
-    final byte final_v2 = (byte)0x01;
-
-    byte v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -69,41 +61,6 @@
     VarHandle vhArray;
 
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessByte.class, "final_v" + postfix, byte.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessByte.class, "v" + postfix, byte.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessByte.class, "static_final_v" + postfix, byte.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessByte.class, "static_v" + postfix, byte.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle(byte[].class);
-            }
-            else {
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -132,31 +89,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     char v;
 
-    static final char static_final_v2 = '\u0123';
-
-    static char static_v2;
-
-    final char final_v2 = '\u0123';
-
-    char v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -69,41 +61,6 @@
     VarHandle vhArray;
 
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessChar.class, "final_v" + postfix, char.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessChar.class, "v" + postfix, char.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessChar.class, "static_final_v" + postfix, char.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessChar.class, "static_v" + postfix, char.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle(char[].class);
-            }
-            else {
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -132,31 +89,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     double v;
 
-    static final double static_final_v2 = 1.0d;
-
-    static double static_v2;
-
-    final double final_v2 = 1.0d;
-
-    double v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -69,41 +61,6 @@
     VarHandle vhArray;
 
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessDouble.class, "final_v" + postfix, double.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessDouble.class, "v" + postfix, double.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessDouble.class, "static_final_v" + postfix, double.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessDouble.class, "static_v" + postfix, double.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle(double[].class);
-            }
-            else {
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -132,31 +89,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     float v;
 
-    static final float static_final_v2 = 1.0f;
-
-    static float static_v2;
-
-    final float final_v2 = 1.0f;
-
-    float v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -69,41 +61,6 @@
     VarHandle vhArray;
 
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessFloat.class, "final_v" + postfix, float.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessFloat.class, "v" + postfix, float.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessFloat.class, "static_final_v" + postfix, float.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessFloat.class, "static_v" + postfix, float.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle(float[].class);
-            }
-            else {
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -132,31 +89,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     int v;
 
-    static final int static_final_v2 = 0x01234567;
-
-    static int static_v2;
-
-    final int final_v2 = 0x01234567;
-
-    int v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -69,41 +61,6 @@
     VarHandle vhArray;
 
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessInt.class, "final_v" + postfix, int.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessInt.class, "v" + postfix, int.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessInt.class, "static_final_v" + postfix, int.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessInt.class, "static_v" + postfix, int.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle(int[].class);
-            }
-            else {
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -132,31 +89,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     long v;
 
-    static final long static_final_v2 = 0x0123456789ABCDEFL;
-
-    static long static_v2;
-
-    final long final_v2 = 0x0123456789ABCDEFL;
-
-    long v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -69,41 +61,6 @@
     VarHandle vhArray;
 
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessLong.class, "final_v" + postfix, long.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessLong.class, "v" + postfix, long.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessLong.class, "static_final_v" + postfix, long.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessLong.class, "static_v" + postfix, long.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle(long[].class);
-            }
-            else {
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -132,31 +89,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     short v;
 
-    static final short static_final_v2 = (short)0x0123;
-
-    static short static_v2;
-
-    final short final_v2 = (short)0x0123;
-
-    short v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -69,41 +61,6 @@
     VarHandle vhArray;
 
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessShort.class, "final_v" + postfix, short.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessShort.class, "v" + postfix, short.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessShort.class, "static_final_v" + postfix, short.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessShort.class, "static_v" + postfix, short.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle(short[].class);
-            }
-            else {
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -132,31 +89,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessString.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessString.java	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     String v;
 
-    static final String static_final_v2 = "foo";
-
-    static String static_v2;
-
-    final String final_v2 = "foo";
-
-    String v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -70,41 +62,6 @@
 
     VarHandle vhArrayObject;
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessString.class, "final_v" + postfix, String.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccessString.class, "v" + postfix, String.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessString.class, "static_final_v" + postfix, String.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccessString.class, "static_v" + postfix, String.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-            }
-            else {
-                vh = MethodHandles.arrayElementVarHandle(int[].class);
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -134,31 +91,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java	Tue Oct 30 14:28:06 2018 -0300
@@ -54,61 +54,25 @@
 
 
     @Override
-    public List<VarHandleSource> setupVarHandleSources(boolean same) {
+    public void setupVarHandleSources() {
         // Combinations of VarHandle byte[] or ByteBuffer
-        List<VarHandleSource> vhss = new ArrayList<>();
-        for (MemoryMode endianess : List.of(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
+        vhss = new ArrayList<>();
+        for (MemoryMode endianess : Arrays.asList(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
 
             ByteOrder bo = endianess == MemoryMode.BIG_ENDIAN
                     ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
-
-            Class<?> arrayType;
-            if (same) {
-                arrayType = char[].class;
-            }
-            else {
-                arrayType = int[].class;
-            }
             VarHandleSource aeh = new VarHandleSource(
-                    MethodHandles.byteArrayViewVarHandle(arrayType, bo),
+                    MethodHandles.byteArrayViewVarHandle(char[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(aeh);
 
             VarHandleSource bbh = new VarHandleSource(
-                    MethodHandles.byteBufferViewVarHandle(arrayType, bo),
+                    MethodHandles.byteBufferViewVarHandle(char[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(bbh);
         }
-        return vhss;
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        VarHandle[] vhs2 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = setupVarHandleSources(false).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
 
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandleSource vhs) {
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java	Tue Oct 30 14:28:06 2018 -0300
@@ -54,61 +54,25 @@
 
 
     @Override
-    public List<VarHandleSource> setupVarHandleSources(boolean same) {
+    public void setupVarHandleSources() {
         // Combinations of VarHandle byte[] or ByteBuffer
-        List<VarHandleSource> vhss = new ArrayList<>();
-        for (MemoryMode endianess : List.of(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
+        vhss = new ArrayList<>();
+        for (MemoryMode endianess : Arrays.asList(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
 
             ByteOrder bo = endianess == MemoryMode.BIG_ENDIAN
                     ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
-
-            Class<?> arrayType;
-            if (same) {
-                arrayType = double[].class;
-            }
-            else {
-                arrayType = int[].class;
-            }
             VarHandleSource aeh = new VarHandleSource(
-                    MethodHandles.byteArrayViewVarHandle(arrayType, bo),
+                    MethodHandles.byteArrayViewVarHandle(double[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(aeh);
 
             VarHandleSource bbh = new VarHandleSource(
-                    MethodHandles.byteBufferViewVarHandle(arrayType, bo),
+                    MethodHandles.byteBufferViewVarHandle(double[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(bbh);
         }
-        return vhss;
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        VarHandle[] vhs2 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = setupVarHandleSources(false).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
 
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandleSource vhs) {
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java	Tue Oct 30 14:28:06 2018 -0300
@@ -54,61 +54,25 @@
 
 
     @Override
-    public List<VarHandleSource> setupVarHandleSources(boolean same) {
+    public void setupVarHandleSources() {
         // Combinations of VarHandle byte[] or ByteBuffer
-        List<VarHandleSource> vhss = new ArrayList<>();
-        for (MemoryMode endianess : List.of(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
+        vhss = new ArrayList<>();
+        for (MemoryMode endianess : Arrays.asList(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
 
             ByteOrder bo = endianess == MemoryMode.BIG_ENDIAN
                     ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
-
-            Class<?> arrayType;
-            if (same) {
-                arrayType = float[].class;
-            }
-            else {
-                arrayType = int[].class;
-            }
             VarHandleSource aeh = new VarHandleSource(
-                    MethodHandles.byteArrayViewVarHandle(arrayType, bo),
+                    MethodHandles.byteArrayViewVarHandle(float[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(aeh);
 
             VarHandleSource bbh = new VarHandleSource(
-                    MethodHandles.byteBufferViewVarHandle(arrayType, bo),
+                    MethodHandles.byteBufferViewVarHandle(float[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(bbh);
         }
-        return vhss;
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        VarHandle[] vhs2 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = setupVarHandleSources(false).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
 
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandleSource vhs) {
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java	Tue Oct 30 14:28:06 2018 -0300
@@ -54,61 +54,25 @@
 
 
     @Override
-    public List<VarHandleSource> setupVarHandleSources(boolean same) {
+    public void setupVarHandleSources() {
         // Combinations of VarHandle byte[] or ByteBuffer
-        List<VarHandleSource> vhss = new ArrayList<>();
-        for (MemoryMode endianess : List.of(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
+        vhss = new ArrayList<>();
+        for (MemoryMode endianess : Arrays.asList(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
 
             ByteOrder bo = endianess == MemoryMode.BIG_ENDIAN
                     ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
-
-            Class<?> arrayType;
-            if (same) {
-                arrayType = int[].class;
-            }
-            else {
-                arrayType = long[].class;
-            }
             VarHandleSource aeh = new VarHandleSource(
-                    MethodHandles.byteArrayViewVarHandle(arrayType, bo),
+                    MethodHandles.byteArrayViewVarHandle(int[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(aeh);
 
             VarHandleSource bbh = new VarHandleSource(
-                    MethodHandles.byteBufferViewVarHandle(arrayType, bo),
+                    MethodHandles.byteBufferViewVarHandle(int[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(bbh);
         }
-        return vhss;
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        VarHandle[] vhs2 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = setupVarHandleSources(false).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
 
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandleSource vhs) {
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java	Tue Oct 30 14:28:06 2018 -0300
@@ -54,61 +54,25 @@
 
 
     @Override
-    public List<VarHandleSource> setupVarHandleSources(boolean same) {
+    public void setupVarHandleSources() {
         // Combinations of VarHandle byte[] or ByteBuffer
-        List<VarHandleSource> vhss = new ArrayList<>();
-        for (MemoryMode endianess : List.of(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
+        vhss = new ArrayList<>();
+        for (MemoryMode endianess : Arrays.asList(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
 
             ByteOrder bo = endianess == MemoryMode.BIG_ENDIAN
                     ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
-
-            Class<?> arrayType;
-            if (same) {
-                arrayType = long[].class;
-            }
-            else {
-                arrayType = int[].class;
-            }
             VarHandleSource aeh = new VarHandleSource(
-                    MethodHandles.byteArrayViewVarHandle(arrayType, bo),
+                    MethodHandles.byteArrayViewVarHandle(long[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(aeh);
 
             VarHandleSource bbh = new VarHandleSource(
-                    MethodHandles.byteBufferViewVarHandle(arrayType, bo),
+                    MethodHandles.byteBufferViewVarHandle(long[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(bbh);
         }
-        return vhss;
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        VarHandle[] vhs2 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = setupVarHandleSources(false).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
 
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandleSource vhs) {
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java	Tue Oct 30 14:28:06 2018 -0300
@@ -54,61 +54,25 @@
 
 
     @Override
-    public List<VarHandleSource> setupVarHandleSources(boolean same) {
+    public void setupVarHandleSources() {
         // Combinations of VarHandle byte[] or ByteBuffer
-        List<VarHandleSource> vhss = new ArrayList<>();
-        for (MemoryMode endianess : List.of(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
+        vhss = new ArrayList<>();
+        for (MemoryMode endianess : Arrays.asList(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
 
             ByteOrder bo = endianess == MemoryMode.BIG_ENDIAN
                     ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
-
-            Class<?> arrayType;
-            if (same) {
-                arrayType = short[].class;
-            }
-            else {
-                arrayType = int[].class;
-            }
             VarHandleSource aeh = new VarHandleSource(
-                    MethodHandles.byteArrayViewVarHandle(arrayType, bo),
+                    MethodHandles.byteArrayViewVarHandle(short[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(aeh);
 
             VarHandleSource bbh = new VarHandleSource(
-                    MethodHandles.byteBufferViewVarHandle(arrayType, bo),
+                    MethodHandles.byteBufferViewVarHandle(short[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(bbh);
         }
-        return vhss;
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        VarHandle[] vhs2 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = setupVarHandleSources(false).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
 
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandleSource vhs) {
--- a/test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template	Tue Oct 30 14:28:06 2018 -0300
@@ -50,14 +50,6 @@
 
     $type$ v;
 
-    static final $type$ static_final_v2 = $value1$;
-
-    static $type$ static_v2;
-
-    final $type$ final_v2 = $value1$;
-
-    $type$ v2;
-
     VarHandle vhFinalField;
 
     VarHandle vhField;
@@ -72,45 +64,6 @@
     VarHandle vhArrayObject;
 #end[String]
 
-    VarHandle[] allocate(boolean same) {
-        List<VarHandle> vhs = new ArrayList<>();
-
-        String postfix = same ? "" : "2";
-        VarHandle vh;
-        try {
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccess$Type$.class, "final_v" + postfix, $type$.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findVarHandle(
-                    VarHandleTestAccess$Type$.class, "v" + postfix, $type$.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccess$Type$.class, "static_final_v" + postfix, $type$.class);
-            vhs.add(vh);
-
-            vh = MethodHandles.lookup().findStaticVarHandle(
-                VarHandleTestAccess$Type$.class, "static_v" + postfix, $type$.class);
-            vhs.add(vh);
-
-            if (same) {
-                vh = MethodHandles.arrayElementVarHandle($type$[].class);
-            }
-            else {
-#if[String]
-                vh = MethodHandles.arrayElementVarHandle(int[].class);
-#else[String]
-                vh = MethodHandles.arrayElementVarHandle(String[].class);
-#end[String]
-            }
-            vhs.add(vh);
-        } catch (Exception e) {
-            throw new InternalError(e);
-        }
-        return vhs.toArray(new VarHandle[0]);
-    }
-
     @BeforeClass
     public void setup() throws Exception {
         vhFinalField = MethodHandles.lookup().findVarHandle(
@@ -142,31 +95,6 @@
         return vhs.stream().map(tc -> new Object[]{tc}).toArray(Object[][]::new);
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = allocate(true);
-        VarHandle[] vhs2 = allocate(true);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = allocate(false);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
-
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandle vh) {
         assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET));
--- a/test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestByteArrayView.java.template	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestByteArrayView.java.template	Tue Oct 30 14:28:06 2018 -0300
@@ -54,65 +54,25 @@
 
 
     @Override
-    public List<VarHandleSource> setupVarHandleSources(boolean same) {
+    public void setupVarHandleSources() {
         // Combinations of VarHandle byte[] or ByteBuffer
-        List<VarHandleSource> vhss = new ArrayList<>();
-        for (MemoryMode endianess : List.of(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
+        vhss = new ArrayList<>();
+        for (MemoryMode endianess : Arrays.asList(MemoryMode.BIG_ENDIAN, MemoryMode.LITTLE_ENDIAN)) {
 
             ByteOrder bo = endianess == MemoryMode.BIG_ENDIAN
                     ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
-
-            Class<?> arrayType;
-            if (same) {
-                arrayType = $type$[].class;
-            }
-            else {
-#if[int]
-                arrayType = long[].class;
-#else[int]
-                arrayType = int[].class;
-#end[int]
-            }
             VarHandleSource aeh = new VarHandleSource(
-                    MethodHandles.byteArrayViewVarHandle(arrayType, bo),
+                    MethodHandles.byteArrayViewVarHandle($type$[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(aeh);
 
             VarHandleSource bbh = new VarHandleSource(
-                    MethodHandles.byteBufferViewVarHandle(arrayType, bo),
+                    MethodHandles.byteBufferViewVarHandle($type$[].class, bo),
                     endianess, MemoryMode.READ_WRITE);
             vhss.add(bbh);
         }
-        return vhss;
     }
 
-    @Test
-    public void testEqualsAndHashCode() {
-        VarHandle[] vhs1 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        VarHandle[] vhs2 = setupVarHandleSources(true).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-
-        for (int i = 0; i < vhs1.length; i++) {
-            for (int j = 0; j < vhs1.length; j++) {
-                if (i == j) {
-                    assertEquals(vhs1[i], vhs1[i]);
-                    assertEquals(vhs1[i], vhs2[i]);
-                    assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
-                }
-                else {
-                    assertNotEquals(vhs1[i], vhs1[j]);
-                    assertNotEquals(vhs1[i], vhs2[j]);
-                }
-            }
-        }
-
-        VarHandle[] vhs3 = setupVarHandleSources(false).stream().
-            map(vhs -> vhs.s).toArray(VarHandle[]::new);
-        for (int i = 0; i < vhs1.length; i++) {
-            assertNotEquals(vhs1[i], vhs3[i]);
-        }
-    }
 
     @Test(dataProvider = "varHandlesProvider")
     public void testIsAccessModeSupported(VarHandleSource vhs) {
--- a/test/jdk/java/util/Formatter/Basic-X.java.template	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/Basic-X.java.template	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 #if[datetime]
--- a/test/jdk/java/util/Formatter/BasicBigDecimal.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicBigDecimal.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicBigInteger.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicBigInteger.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicBoolean.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicBoolean.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicBooleanObject.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicBooleanObject.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicByte.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicByte.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicByteObject.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicByteObject.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicChar.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicChar.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicCharObject.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicCharObject.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicDateTime.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicDateTime.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicDouble.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicDouble.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicDoubleObject.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicDoubleObject.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicFloat.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicFloat.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicFloatObject.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicFloatObject.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicInt.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicInt.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicIntObject.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicIntObject.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicLong.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicLong.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicLongObject.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicLongObject.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicShort.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicShort.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/BasicShortObject.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/BasicShortObject.java	Tue Oct 30 14:28:06 2018 -0300
@@ -52,9 +52,6 @@
         f = new Formatter(new StringBuilder(), Locale.US);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
@@ -66,9 +63,6 @@
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
-
-        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
-        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
@@ -116,42 +110,6 @@
                 fail(fs, ex.getClass());
             }
         }
-        testSysOutIntrinsic(fs, exp, args);
-    }
-
-    private static void testSysOutIntrinsic(String fs, String exp, Object ... args) {
-        FileOutputStream fos = null;
-        FileInputStream fis = null;
-        try {
-            PrintStream saveOut = System.out;
-            fos = new FileOutputStream("testSysOut");
-            System.setOut(new PrintStream(fos));
-            JavacIntrinsicsSupport.printStreamFormat(System.out, Locale.US, fs, args);
-            fos.close();
-
-            fis = new FileInputStream("testSysOut");
-            byte [] ba = new byte[exp.length()];
-            int len = fis.read(ba);
-            String got = new String(ba);
-            if (len != ba.length)
-                fail(fs, exp, got);
-            ck(fs, exp, got);
-
-            System.setOut(saveOut);
-        } catch (FileNotFoundException ex) {
-            fail(fs, ex.getClass());
-        } catch (IOException ex) {
-            fail(fs, ex.getClass());
-        } finally {
-            try {
-                if (fos != null)
-                    fos.close();
-                if (fis != null)
-                    fis.close();
-            } catch (IOException ex) {
-                fail(fs, ex.getClass());
-            }
-        }
     }
 
     private static void tryCatch(String fs, Class<?> ex) {
@@ -166,8 +124,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
@@ -182,36 +138,6 @@
             fail(fs, ex);
         else
             pass();
-
-        tryCatchIntrinsic(fs, ex, args);
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
-    }
-
-    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
-        boolean caught = false;
-        try {
-            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
-        } catch (Throwable x) {
-            if (ex.isAssignableFrom(x.getClass()))
-                caught = true;
-        }
-        if (!caught)
-            fail(fs, ex);
-        else
-            pass();
     }
 
 
--- a/test/jdk/java/util/Formatter/EncodingTest.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/EncodingTest.java	Tue Oct 30 14:28:06 2018 -0300
@@ -91,26 +91,6 @@
                 Files.readAllLines(Paths.get(file2.getPath()), charset));
     }
 
-
-    /**
-     * Verifies that the overloading constructor behaves the same as the existing
-     * one.
-     * @param type the type of the constructor
-     * @param file1 file1 written with the name of a charset
-     * @param file2 file2 written with a charset
-     * @param csn the charset name
-     * @param charset the charset
-     * @throws IOException
-     */
-    @Test(dataProvider = "parameters")
-    public void testConstructorIntrinsic(ConstructorType type, File file1, File file2,
-                                String csn, Charset charset) throws Exception {
-        formatIntrinsic(getFormatter(type, file1.getPath(), csn, null));
-        formatIntrinsic(getFormatter(type, file2.getPath(), null, charset));
-        Assert.assertEquals(Files.readAllLines(Paths.get(file1.getPath()), charset),
-                Files.readAllLines(Paths.get(file2.getPath()), charset));
-    }
-
     void format(Formatter formatter)
             throws IOException {
         formatter.format("abcde \u00FA\u00FB\u00FC\u00FD");
@@ -119,14 +99,6 @@
         formatter.close();
     }
 
-    void formatIntrinsic(Formatter formatter)
-            throws IOException {
-        JavacIntrinsicsSupport.format(formatter, "abcde \u00FA\u00FB\u00FC\u00FD");
-        JavacIntrinsicsSupport.format(formatter, "Java \uff08\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00\uff09");
-        formatter.flush();
-        formatter.close();
-    }
-
 
     Formatter getFormatter(ConstructorType type, String path, String csn, Charset charset)
             throws IOException {
--- a/test/jdk/java/util/Formatter/FormatLocale.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/FormatLocale.java	Tue Oct 30 14:28:06 2018 -0300
@@ -107,19 +107,6 @@
                                 "'. Expected: " + expectedWithDefaultLocale.get(i) +
                                 " Returned: " + sb.toString());
             }
-
-            sb.setLength(0);
-            JavacIntrinsicsSupport.format(new Formatter(sb), conversions.get(i), src.get(i));
-            if (!sb.toString().equals(expectedWithDefaultLocale.get(i))) {
-                throw new RuntimeException(
-                        "Wrong uppercasing while using Formatter.format(" +
-                                "\"" + conversions.get(i) + "\"" +
-                                ") with the default locale: '"
-                                + defaultLocale.get(i) +
-                                "'. Expected: " + expectedWithDefaultLocale.get(i) +
-                                " Returned: " + sb.toString());
-            }
-
         });
 
         // checks whether upper casing uses the locale set during creation of
@@ -138,18 +125,6 @@
                                 "'. Expected: " + expectedWithFormatLocale.get(i) +
                                 " Returned: " + sb.toString());
             }
-
-            sb.setLength(0);
-            JavacIntrinsicsSupport.format(new Formatter(sb, formatLocale.get(i)), conversions.get(i), src.get(i));
-            if (!sb.toString().equals(expectedWithFormatLocale.get(i))) {
-                throw new RuntimeException(
-                        "Wrong uppercasing while using Formatter.format(" +
-                                "\"" + conversions.get(i) + "\"" +
-                                ") with the locale specified during instance" +
-                                " creation: '" + formatLocale.get(i) +
-                                "'. Expected: " + expectedWithFormatLocale.get(i) +
-                                " Returned: " + sb.toString());
-            }
         });
 
     }
--- a/test/jdk/java/util/Formatter/NullArg.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/jdk/java/util/Formatter/NullArg.java	Tue Oct 30 14:28:06 2018 -0300
@@ -27,6 +27,7 @@
  * @summary Basic test for null argument
  */
 
+import java.util.Formatter;
 import java.util.Locale;
 
 public class NullArg {
@@ -51,17 +52,11 @@
                     if (!String.format("%" + c + ct, null).equals(expected)) {
                         throw new RuntimeException("%t" + ct + "null check failed.");
                     }
-                    if (!JavacIntrinsicsSupport.stringFormat("%" + c + ct, null).equals(expected)) {
-                        throw new RuntimeException("%t" + ct + "null check failed. " + JavacIntrinsicsSupport.stringFormat("%" + c + ct, null) + " // " + expected);
-                    }
                 }
             } else {
                 if (!String.format("%" + c , null).equals(expected)) {
                     throw new RuntimeException("%" + c + "null check failed.");
                 }
-                if (!JavacIntrinsicsSupport.stringFormat("%" + c , null).equals(expected)) {
-                    throw new RuntimeException("%" + c + "null check failed. " + JavacIntrinsicsSupport.stringFormat("%" + c , null) + " // " + expected);
-                }
             }
         }
     }
--- a/test/langtools/jdk/javadoc/doclet/lib/JavadocTester.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/langtools/jdk/javadoc/doclet/lib/JavadocTester.java	Tue Oct 30 14:28:06 2018 -0300
@@ -522,9 +522,7 @@
                         + stringToFind);
             } else {
                 failed(path + ": following text " + (isFound ? "found:" : "not found:") + "\n"
-                        + stringToFind + '\n' +
-                        "found \n" +
-                        fileString);
+                        + stringToFind);
             }
         }
     }
--- a/test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java	Tue Oct 30 14:28:06 2018 -0300
@@ -63,7 +63,8 @@
                 + "<ul>\n"
                 + "<li class=\"circle\">java.lang.Object\n"
                 + "<ul>\n"
-                + "<li class=\"circle\">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.lang.constant.Constable&lt;T&gt;, java.io.Serializable)\n"
+                + "<li class=\"circle\">java.lang.Enum&lt;E&gt; (implements java.lang."
+                + "Comparable&lt;T&gt;, java.io.Serializable)\n"
                 + "<ul>\n"
                 + "<li class=\"circle\">pkg.<a href=\"Coin.html\" "
                 + "title=\"enum in pkg\"><span class=\"typeNameLink\">Coin</span></a></li>\n"
--- a/test/langtools/jdk/jshell/TypeNameTest.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/langtools/jdk/jshell/TypeNameTest.java	Tue Oct 30 14:28:06 2018 -0300
@@ -192,9 +192,7 @@
         assertType("arrayOf(99)[0]", "Integer");
 
         assertEval("<Z> Z choose(Z z1, Z z2) { return z1; }");
-        assertType("choose(1, 1L);",
-                "Number&Comparable<? extends Number&Comparable<?>&java.lang.constant.Constable<? extends Number&Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends Number&Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends Number&Comparable<?>&java.lang.constant.Constable<? extends Number&Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends Number&Comparable<? extends Number&Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends Number&Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends Number&Comparable<? extends Number&Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends Number&Comparable<? extends Number&Comparable<?>&java.lang.constant.Constable<? extends Number&Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends Number&Comparable<? extends Number&Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>",
-                "Object");
+        assertType("choose(1, 1L);", "Number&Comparable<? extends Number&Comparable<?>>", "Object");
     }
 
     public void testVariableTypeName() {
--- a/test/langtools/tools/javac/T8187978/FilterOutCandidatesForDiagnosticsTest.out	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/langtools/tools/javac/T8187978/FilterOutCandidatesForDiagnosticsTest.out	Tue Oct 30 14:28:06 2018 -0300
@@ -1,2 +1,2 @@
-FilterOutCandidatesForDiagnosticsTest.java:12:64: compiler.err.cant.apply.symbols: kindname.method, add, java.lang.String,{(compiler.misc.inapplicable.method: kindname.method, java.util.ArrayList, add(compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>,java.lang.Object[],int), (compiler.misc.arg.length.mismatch)),(compiler.misc.inapplicable.method: kindname.method, java.util.ArrayList, add(compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inconvertible.types: java.lang.String, compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>))),(compiler.misc.inapplicable.method: kindname.method, java.util.ArrayList, add(int,compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>), (compiler.misc.arg.length.mismatch))}
+FilterOutCandidatesForDiagnosticsTest.java:12:64: compiler.err.cant.apply.symbols: kindname.method, add, java.lang.String,{(compiler.misc.inapplicable.method: kindname.method, java.util.ArrayList, add(compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>,java.lang.Object[],int), (compiler.misc.arg.length.mismatch)),(compiler.misc.inapplicable.method: kindname.method, java.util.ArrayList, add(compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inconvertible.types: java.lang.String, compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>))),(compiler.misc.inapplicable.method: kindname.method, java.util.ArrayList, add(int,compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>), (compiler.misc.arg.length.mismatch))}
 1 error
--- a/test/langtools/tools/javac/generics/inference/8176534/TestUncheckedCalls.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/langtools/tools/javac/generics/inference/8176534/TestUncheckedCalls.java	Tue Oct 30 14:28:06 2018 -0300
@@ -223,7 +223,7 @@
         return Stream.of(decls)
                 .filter(d -> d.hasKind(DeclKind.NONE))
                 .flatMap(d -> Stream.of(d.returnKind(), d.argumentsKind(), d.typeVarsKind()))
-                .noneMatch((Enum<? extends Enum<?>> tk) -> tk.ordinal() != 0);
+                .noneMatch(tk -> tk.ordinal() != 0);
     }
 
     boolean tvarFilter() {
--- a/test/langtools/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.out	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/langtools/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.out	Tue Oct 30 14:28:06 2018 -0300
@@ -4,10 +4,10 @@
 EagerReturnTypeResolutionTestb.java:45:26: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<?>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
 EagerReturnTypeResolutionTestb.java:74:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
 EagerReturnTypeResolutionTestb.java:75:15: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:77:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.I<compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
+EagerReturnTypeResolutionTestb.java:77:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.I<compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
 EagerReturnTypeResolutionTestb.java:78:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
 EagerReturnTypeResolutionTestb.java:79:21: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:81:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
+EagerReturnTypeResolutionTestb.java:81:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
 EagerReturnTypeResolutionTestb.java:82:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
 EagerReturnTypeResolutionTestb.java:83:24: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
 EagerReturnTypeResolutionTestb.java:85:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<?>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<?>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
@@ -17,10 +17,10 @@
 EagerReturnTypeResolutionTestb.java:90:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<?>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<?>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
 EagerReturnTypeResolutionTestb.java:91:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>)
 EagerReturnTypeResolutionTestb.java:92:15: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:94:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.J<compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
+EagerReturnTypeResolutionTestb.java:94:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.J<compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
 EagerReturnTypeResolutionTestb.java:95:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>)
 EagerReturnTypeResolutionTestb.java:96:21: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:98:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
+EagerReturnTypeResolutionTestb.java:98:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
 EagerReturnTypeResolutionTestb.java:99:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>)
 EagerReturnTypeResolutionTestb.java:100:24: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>,java.lang.Object)
 EagerReturnTypeResolutionTestb.java:102:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.String>)
@@ -28,10 +28,10 @@
 EagerReturnTypeResolutionTestb.java:104:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.String>)
 EagerReturnTypeResolutionTestb.java:105:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>)
 EagerReturnTypeResolutionTestb.java:106:15: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:108:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.I<compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
+EagerReturnTypeResolutionTestb.java:108:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.I<compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
 EagerReturnTypeResolutionTestb.java:109:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>)
 EagerReturnTypeResolutionTestb.java:110:21: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:112:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.Constable<?>&java.lang.constant.ConstantDesc<?>>&java.lang.constant.ConstantDesc<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
+EagerReturnTypeResolutionTestb.java:112:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
 EagerReturnTypeResolutionTestb.java:113:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>)
 EagerReturnTypeResolutionTestb.java:114:24: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>,java.lang.Object)
 EagerReturnTypeResolutionTestb.java:174:9: compiler.err.cant.apply.symbol: kindname.method, takeLong, long, java.lang.Double, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Double, java.lang.Long,java.lang.Object))
--- a/test/langtools/tools/javac/lvti/harness/NonDenotableTest.java	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/langtools/tools/javac/lvti/harness/NonDenotableTest.java	Tue Oct 30 14:28:06 2018 -0300
@@ -125,6 +125,8 @@
         @InferredType(SEL_INT_ENUM_SEL)
         var c = s;
         for (@InferredType(SEL_INT_ENUM_SEL) var s2 = s ; ;) { break; }
+        for (@InferredType(SEL_INT_ENUM_SEL) var s2 : arrayOf(s)) { break; }
+        for (@InferredType(SEL_INT_ENUM_SEL) var s2 : listOf(s)) { break; }
     }
 
     List<? extends String> extString() { return null; }
--- a/test/langtools/tools/javac/varargs/6806876/T6806876.out	Tue Oct 30 14:08:57 2018 -0300
+++ b/test/langtools/tools/javac/varargs/6806876/T6806876.out	Tue Oct 30 14:28:06 2018 -0300
@@ -1,4 +1,4 @@
-T6806876.java:11:32: compiler.warn.unchecked.generic.array.creation: java.lang.Number&java.lang.Comparable<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<?>>>&java.lang.constant.Constable<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<?>>&java.lang.constant.Constable<?>>>&java.lang.constant.ConstantDesc<? extends java.lang.Number&java.lang.Comparable<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<?>>>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<? extends java.lang.Number&java.lang.Comparable<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<?>>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<?>>>&java.lang.constant.Constable<? extends java.lang.Number&java.lang.Comparable<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<?>>&java.lang.constant.Constable<?>>&java.lang.constant.ConstantDesc<? extends java.lang.Number&java.lang.Comparable<? extends java.lang.Number&java.lang.Comparable<?>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<?>>&java.lang.constant.ConstantDesc<?>&java.lang.constant.Constable<?>>&java.lang.constant.Constable<?>>[]
+T6806876.java:11:32: compiler.warn.unchecked.generic.array.creation: java.lang.Number&java.lang.Comparable<? extends java.lang.Number&java.lang.Comparable<?>>[]
 T6806876.java:14:19: compiler.warn.unchecked.varargs.non.reifiable.type: T
 - compiler.err.warnings.and.werror
 1 error